diff --git a/CDMarkdownKitTests/TestCode.swift b/CDMarkdownKitTests/TestCode.swift index 695b25f..2b33fd7 100644 --- a/CDMarkdownKitTests/TestCode.swift +++ b/CDMarkdownKitTests/TestCode.swift @@ -44,6 +44,18 @@ final class TestCode: XCTestCase { XCTAssertTrue(TestHelpers.isMonospaced(testString: parsed, at: 0)) } + + func testCodeMultiple() throws { + let parser = getParser() + + let parsed = parser.parse("`test` abc `test` abc") + XCTAssertEqual(parsed.string, "test abc test abc") + XCTAssertTrue(TestHelpers.isMonospaced(testString: parsed, at: 2)) + XCTAssertFalse(TestHelpers.isMonospaced(testString: parsed, at: 6)) + XCTAssertTrue(TestHelpers.isMonospaced(testString: parsed, at: 11)) + XCTAssertFalse(TestHelpers.isMonospaced(testString: parsed, at: 15)) + } + func testCodeSentence() throws { let parser = getParser() diff --git a/CDMarkdownKitTests/TestSyntax.swift b/CDMarkdownKitTests/TestSyntax.swift index 06d1870..1f7eed7 100644 --- a/CDMarkdownKitTests/TestSyntax.swift +++ b/CDMarkdownKitTests/TestSyntax.swift @@ -112,4 +112,12 @@ final class TestSyntax: XCTestCase { XCTAssertFalse(TestHelpers.anyBold(testString: parsed)) XCTAssertFalse(TestHelpers.anyItalic(testString: parsed)) } + + func testSyntaxOnlyStart() throws { + let parser = getParser() + + let parsed = parser.parse("```\nsyntax\n") + XCTAssertEqual(parsed.string, "```\nsyntax\n") + XCTAssertFalse(TestHelpers.isMonospaced(testString: parsed, at: 4)) + } } diff --git a/Source/CDMarkdownCodeEscaping.swift b/Source/CDMarkdownCodeEscaping.swift index da0fbdf..2c0cf9c 100644 --- a/Source/CDMarkdownCodeEscaping.swift +++ b/Source/CDMarkdownCodeEscaping.swift @@ -33,12 +33,12 @@ open class CDMarkdownCodeEscaping: CDMarkdownElement { - fileprivate static let regex = ["(?