Skip to content

Commit 2994760

Browse files
committed
[Test] add id, class attribute tests
1 parent 7784622 commit 2994760

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

Tests/ZMarkupParserTests/HTML/HTMLElementMarkupComponentMarkupStyleVisitorTests.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import XCTest
1212
final class HTMLElementMarkupComponentMarkupStyleVisitorTests: XCTestCase {
1313

1414
func testDefaultStyleByDefault() {
15-
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [], styleAttributes: [], rootStyle: nil)
15+
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [], styleAttributes: [], classAttributes: [], idAttributes: [], rootStyle: nil)
1616

1717
let result = visitor.visit(markup: HeadMarkup(level: .h1))
1818
XCTAssertEqual(result?.font.size, MarkupStyle.h1.font.size)
@@ -21,7 +21,7 @@ final class HTMLElementMarkupComponentMarkupStyleVisitorTests: XCTestCase {
2121
func testDefaultStyleByCustomStyle() {
2222
let markup = InlineMarkup()
2323
let customStyle = MarkupStyle(font: .init(size: 99))
24-
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<span>test</span>"), attributes: [:]))], styleAttributes: [], rootStyle: nil)
24+
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<span>test</span>"), attributes: [:]))], styleAttributes: [], classAttributes: [], idAttributes: [], rootStyle: nil)
2525

2626
let result = visitor.visit(markup: markup)
2727
XCTAssertEqual(result?.font.size, customStyle.font.size)
@@ -30,15 +30,15 @@ final class HTMLElementMarkupComponentMarkupStyleVisitorTests: XCTestCase {
3030
func testDefaultStyleShouldOverrideByCustomStyle() {
3131
let markup = HeadMarkup(level: .h1)
3232
let customStyle = MarkupStyle(font: .init(size: 99))
33-
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: [:]))], styleAttributes: [], rootStyle: nil)
33+
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: [:]))], styleAttributes: [], classAttributes: [], idAttributes: [], rootStyle: nil)
3434

3535
let result = visitor.visit(markup: markup)
3636
XCTAssertEqual(result?.font.size, customStyle.font.size)
3737
}
3838

3939
func testDefaultStyleShouldOverrideByStyleAttributed() {
4040
let markup = HeadMarkup(level: .h1)
41-
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName()), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: ["style": "font-size:99pt"]))], styleAttributes: [FontSizeHTMLTagStyleAttribute()], rootStyle: nil)
41+
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName()), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: ["style": "font-size:99pt"]))], styleAttributes: [FontSizeHTMLTagStyleAttribute()], classAttributes: [], idAttributes: [], rootStyle: nil)
4242

4343
let result = visitor.visit(markup: markup)
4444
XCTAssertEqual(result?.font.size, 99)
@@ -47,7 +47,7 @@ final class HTMLElementMarkupComponentMarkupStyleVisitorTests: XCTestCase {
4747
func testDefaultStylePolicyRespectMarkupStyleFromCode() {
4848
let markup = HeadMarkup(level: .h1)
4949
let customStyle = MarkupStyle(font: .init(size: 109))
50-
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: ["style": "font-size:99pt"]))], styleAttributes: [FontSizeHTMLTagStyleAttribute()], rootStyle: nil)
50+
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromCode, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: ["style": "font-size:99pt"]))], styleAttributes: [FontSizeHTMLTagStyleAttribute()], classAttributes: [], idAttributes: [], rootStyle: nil)
5151

5252
let result = visitor.visit(markup: markup)
5353
XCTAssertEqual(result?.font.size, customStyle.font.size)
@@ -56,7 +56,7 @@ final class HTMLElementMarkupComponentMarkupStyleVisitorTests: XCTestCase {
5656
func testDefaultStylePolicyRespectMarkupStyleFromHTMLStyleAttribute() {
5757
let markup = HeadMarkup(level: .h1)
5858
let customStyle = MarkupStyle(font: .init(size: 109))
59-
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromHTMLStyleAttribute, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: ["style": "font-size:99pt"]))], styleAttributes: [FontSizeHTMLTagStyleAttribute()], rootStyle: nil)
59+
let visitor = HTMLElementMarkupComponentMarkupStyleVisitor(policy: .respectMarkupStyleFromHTMLStyleAttribute, components: [.init(markup: markup, value: .init(tag: .init(tagName: H1_HTMLTagName(), customStyle: customStyle), tagAttributedString: NSAttributedString(string: "<h1>test</h1>"), attributes: ["style": "font-size:99pt"]))], styleAttributes: [FontSizeHTMLTagStyleAttribute()], classAttributes: [], idAttributes: [], rootStyle: nil)
6060

6161
let result = visitor.visit(markup: markup)
6262
XCTAssertEqual(result?.font.size, 99)

Tests/ZMarkupParserTests/HTML/ZHTMLParserBuilderTests.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,26 @@ final class ZHTMLParserBuilderTests: XCTestCase {
5252
func testAddHTMLTagStyleAttribute() {
5353
var builder = ZHTMLParserBuilder()
5454
XCTAssertEqual(builder.styleAttributes.count, 0, "styleAttributes should be empty after init.")
55+
XCTAssertEqual(builder.idAttributes.count, 0, "idAttributes should be empty after init.")
56+
XCTAssertEqual(builder.classAttributes.count, 0, "classAttributes should be empty after init.")
57+
5558
builder = builder.add(ExtendHTMLTagStyleAttribute(styleName: "zhgchgli", render: { _ in
5659
return nil
5760
}))
5861
XCTAssertEqual(builder.styleAttributes.count, 1, "styleAttributes should have 1 element.")
5962
XCTAssertEqual(builder.styleAttributes[0].styleName, "zhgchgli", "styleAttributes should have zhgchgli style name element.")
63+
64+
builder = builder.add(HTMLTagClassAttribute(className: "zhgchgli", render: {
65+
return nil
66+
}))
67+
XCTAssertEqual(builder.classAttributes.count, 1, "classAttributes should have 1 element.")
68+
XCTAssertEqual(builder.classAttributes[0].className, "zhgchgli", "classAttributes should have zhgchgli class element.")
69+
70+
builder = builder.add(HTMLTagIdAttribute(idName: "zhgchgli", render: {
71+
return nil
72+
}))
73+
XCTAssertEqual(builder.idAttributes.count, 1, "idAttributes should have 1 element.")
74+
XCTAssertEqual(builder.idAttributes[0].idName, "zhgchgli", "idAttributes should have zhgchgli id element.")
6075
}
6176

6277
func testBuild() {

Tests/ZMarkupParserTests/HTML/ZHTMLParserTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import XCTest
1111

1212
final class ZHTMLParserTests: XCTestCase {
1313

14-
private let parser = ZHTMLParser(htmlTags: ZHTMLParserBuilder.htmlTagNames.map({ HTMLTag(tagName: $0.0) }), styleAttributes: ZHTMLParserBuilder.styleAttributes, policy: .respectMarkupStyleFromCode, rootStyle: MarkupStyle(kern: 999))
14+
private let parser = ZHTMLParser(htmlTags: ZHTMLParserBuilder.htmlTagNames.map({ HTMLTag(tagName: $0.0) }), styleAttributes: ZHTMLParserBuilder.styleAttributes, classAttributes: [], idAttributes: [], policy: .respectMarkupStyleFromCode, rootStyle: MarkupStyle(kern: 999))
1515

1616
func testRender() {
1717
let string = "Test<a href=\"https://zhgchg.li\">Qoo</a>DDD"

0 commit comments

Comments
 (0)