Skip to content

Commit

Permalink
Update metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
alexaubry committed Oct 1, 2020
1 parent f3e1ee3 commit 04613a3
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 29 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Updates to HTMLString

## 🔖 v6.0.1 — 2020-10-01
### Changes
- Add Obj-C tests

### Fixes
- Fix infinite loop when using Obj-C methods

## 🔖 v6.0.0 — 2020-09-28
### Changes
- Require iOS 9 and Swift 5
Expand Down
2 changes: 1 addition & 1 deletion HTMLString.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "HTMLString"
s.version = "6.0.0"
s.version = "6.0.1"
s.summary = "Escape and unescape HTML entities in Swift"
s.description = <<-DESC
HTMLString is a fast library written in Swift that enables your program to add and remove HTML entities in Strings. It supports both ASCII and Unicode. You can use it with 2125 named (`&amp;`), decimal (`&#128;`) and hexadecimal (`&#x1F643;`) entities. It has native support for Swift's Extended Grapheme Clusters. Fully unit tested and documented.
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ When a character is not supported into the specified encoding, the library will
You can choose between ASCII and Unicode escaping:

- Use the `addingASCIIEntities` property to escape for ASCII-encoded content
- Use the `addingUnicodeEntities` property to escape for Unicode-compatible content
- Use the `addingASCIIEntities` function to escape for ASCII-encoded content
- Use the `addingUnicodeEntities` function to escape for Unicode-compatible content

> &#128161; **Pro Tip**: When your content supports UTF-8 or UTF-16, use Unicode escaping as it is faster and produces a less bloated output.
Expand All @@ -86,28 +86,28 @@ You can choose between ASCII and Unicode escaping:
import HTMLString

let emoji = "My favorite emoji is 🙃"
let escapedEmoji = emoji.addingASCIIEntities // "My favorite emoji is &#128579;"
let noNeedToEscapeThatEmoji = emoji.addingUnicodeEntities // "My favorite emoji is 🙃"
let escapedEmoji = emoji.addingASCIIEntities() // "My favorite emoji is &#128579;"
let noNeedToEscapeThatEmoji = emoji.addingUnicodeEntities() // "My favorite emoji is 🙃"

let snack = "Fish & Chips"
let escapedSnack = snack.addingASCIIEntities // "Fish &#038; Chips"
let weAlsoNeedToEscapeThisSnack = snack.addingUnicodeEntities // "Fish &#038; Chips"
let escapedSnack = snack.addingASCIIEntities() // "Fish &#038; Chips"
let weAlsoNeedToEscapeThisSnack = snack.addingUnicodeEntities() // "Fish &#038; Chips"
~~~

### &#128221; Removing HTML Entities (Unescape)

To remove all the HTML entities from a String, use the `removingHTMLEntities` property.
To remove all the HTML entities from a String, use the `removingHTMLEntities` function.

#### Example

~~~swift
import HTMLString

let escapedEmoji = "My favorite emoji is &#x1F643;"
let emoji = escapedEmoji.removingHTMLEntities // "My favorite emoji is 🙃"
let emoji = escapedEmoji.removingHTMLEntities() // "My favorite emoji is 🙃"

let escapedSnack = "Fish &amp; Chips"
let snack = escapedSnack.removingHTMLEntities // "Fish & Chips"
let snack = escapedSnack.removingHTMLEntities() // "Fish & Chips"
~~~

## Objective-C API
Expand Down
38 changes: 19 additions & 19 deletions Tests/HTMLStringTests/HTMLStringTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,32 +107,32 @@ final class HTMLStringTests: XCTestCase {
func testUnescapingPerformance() {
// baseline average: 0.001s
self.measure {
_ = "Hello, world.".removingHTMLEntities
_ = "Fish & Chips".removingHTMLEntities
_ = "My phone number starts with a &#49;".removingHTMLEntities
_ = "My phone number starts with a &#4_9;!".removingHTMLEntities
_ = "Let's meet at the caf&#xe9;".removingHTMLEntities
_ = "Let's meet at the caf&#xzi;!".removingHTMLEntities
_ = "What is this character ? -> &#xd8ff;".removingHTMLEntities
_ = "I love &swift;".removingHTMLEntities
_ = "Do you know &aleph;?".removingHTMLEntities
_ = "a &amp;&amp; b".removingHTMLEntities
_ = "Hello, world.".removingHTMLEntities()
_ = "Fish & Chips".removingHTMLEntities()
_ = "My phone number starts with a &#49;".removingHTMLEntities()
_ = "My phone number starts with a &#4_9;!".removingHTMLEntities()
_ = "Let's meet at the caf&#xe9;".removingHTMLEntities()
_ = "Let's meet at the caf&#xzi;!".removingHTMLEntities()
_ = "What is this character ? -> &#xd8ff;".removingHTMLEntities()
_ = "I love &swift;".removingHTMLEntities()
_ = "Do you know &aleph;?".removingHTMLEntities()
_ = "a &amp;&amp; b".removingHTMLEntities()
}
}

/// Measures escaping avergae performance.
func testEscapingPerformance() {
// baseline average: 0.001s
self.measure {
_ = ("Fish & Chips").addingASCIIEntities
_ = ("a ⪰̸ b").addingASCIIEntities
_ = ("Hey 🙃").addingASCIIEntities
_ = ("Going to the 🇺🇸 next June").addingASCIIEntities

_ = ("Fish & Chips").addingUnicodeEntities
_ = ("a ⪰̸ b").addingUnicodeEntities
_ = ("Hey 🙃!").addingUnicodeEntities
_ = ("Going to the 🇺🇸 next June").addingUnicodeEntities
_ = ("Fish & Chips").addingASCIIEntities()
_ = ("a ⪰̸ b").addingASCIIEntities()
_ = ("Hey 🙃").addingASCIIEntities()
_ = ("Going to the 🇺🇸 next June").addingASCIIEntities()

_ = ("Fish & Chips").addingUnicodeEntities()
_ = ("a ⪰̸ b").addingUnicodeEntities()
_ = ("Hey 🙃!").addingUnicodeEntities()
_ = ("Going to the 🇺🇸 next June").addingUnicodeEntities()
}
}

Expand Down

0 comments on commit 04613a3

Please sign in to comment.