diff --git a/Sources/String+Detection.swift b/Sources/String+Detection.swift index 2fd2bb1..bdbbedd 100644 --- a/Sources/String+Detection.swift +++ b/Sources/String+Detection.swift @@ -72,9 +72,7 @@ extension String { break } - guard let value = tagScanner.scanUpTo("\"") else { - break - } + let value = tagScanner.scanUpTo("\"") ?? "" guard tagScanner.scanString("\"") != nil else { break diff --git a/Tests/AtributikaTests/AtributikaTests.swift b/Tests/AtributikaTests/AtributikaTests.swift index ee22852..d62889c 100644 --- a/Tests/AtributikaTests/AtributikaTests.swift +++ b/Tests/AtributikaTests/AtributikaTests.swift @@ -418,6 +418,18 @@ class AtributikaTests: XCTestCase { XCTAssertEqual(test, reference3) } + + func testTagAttributes() { + let test = "Hello world!" + + let (string, tags) = test.detectTags() + + + XCTAssertEqual(string, "Hello world!") + XCTAssertEqual(tags[0].tag.attributes["class"], "big") + XCTAssertEqual(tags[0].tag.attributes["target"], "") + XCTAssertEqual(tags[0].tag.attributes["href"], "http://foo.com") + } }