From 8f06cee544fb14d427075756dec4312199cf59af Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 19 Nov 2016 12:50:00 +0000 Subject: Parse startsWith string matcher --- .../tests/styles/parsing/DocumentMatcherParsingTests.java | 15 +++++++++++++-- .../tests/styles/parsing/StyleMappingTokeniserTests.java | 5 +++++ 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'src/test') diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/DocumentMatcherParsingTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/DocumentMatcherParsingTests.java index 3c00909..0ee863a 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/DocumentMatcherParsingTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/DocumentMatcherParsingTests.java @@ -1,8 +1,10 @@ package org.zwobble.mammoth.tests.styles.parsing; import org.junit.Test; +import org.zwobble.mammoth.internal.styles.EqualToStringMatcher; import org.zwobble.mammoth.internal.styles.ParagraphMatcher; import org.zwobble.mammoth.internal.styles.RunMatcher; +import org.zwobble.mammoth.internal.styles.StartsWithStringMatcher; import org.zwobble.mammoth.internal.styles.parsing.DocumentMatcherParser; import org.zwobble.mammoth.internal.styles.parsing.StyleMappingTokeniser; import org.zwobble.mammoth.internal.styles.parsing.TokenIterator; @@ -27,10 +29,19 @@ public class DocumentMatcherParsingTests { } @Test - public void readsParagraphWithStyleName() { + public void readsParagraphWithExactStyleName() { assertThat( parseParagraphMatcher("p[style-name='Heading 1']"), - deepEquals(ParagraphMatcher.styleName("Heading 1"))); + deepEquals(ParagraphMatcher.styleName(new EqualToStringMatcher("Heading 1"))) + ); + } + + @Test + public void readsParagraphWithStyleNamePrefix() { + assertThat( + parseParagraphMatcher("p[style-name^='Heading']"), + deepEquals(ParagraphMatcher.styleName(new StartsWithStringMatcher("Heading"))) + ); } @Test diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMappingTokeniserTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMappingTokeniserTests.java index e4e1f9b..f3147ba 100644 --- a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMappingTokeniserTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMappingTokeniserTests.java @@ -80,6 +80,11 @@ public class StyleMappingTokeniserTests { assertTokens("==", isToken(TokenType.SYMBOL, "="), isToken(TokenType.SYMBOL, "=")); } + @Test + public void startsWithSymbolsAreTokenised() { + assertTokens("^=^=", isToken(TokenType.SYMBOL, "^="), isToken(TokenType.SYMBOL, "^=")); + } + @Test public void openParensAreTokenised() { assertTokens("((", isToken(TokenType.SYMBOL, "("), isToken(TokenType.SYMBOL, "(")); -- cgit v1.2.3