diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-11-24 20:53:01 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-11-24 20:53:01 +0000 |
| commit | 645a6fa46b3755b8e709b9d0c0938714607f634c (patch) | |
| tree | bd36c1baa28bbd0f9c7cef21c028be58970840ce /src | |
| parent | 768546f6d448ccb356403ef396e77d9c734ca8bb (diff) | |
Fix tokenisation of strings with escape sequences
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java | 2 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/styles/parsing/StyleMappingTokeniserTests.java | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java index 9dc2d4d..36a43f3 100644 --- a/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java +++ b/src/main/java/org/zwobble/mammoth/internal/styles/parsing/StyleMappingTokeniser.java @@ -6,7 +6,7 @@ import static org.zwobble.mammoth.internal.util.Lists.list; public class StyleMappingTokeniser { public static List<Token<TokenType>> tokenise(String line) { - String stringPrefix = "'((?:\\.|[^'])*)"; + String stringPrefix = "'((?:\\\\.|[^'])*)"; String identifierCharacter = "(?:[a-zA-Z\\-_]|\\\\.)"; RegexTokeniser<TokenType> tokeniser = new RegexTokeniser<>( 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 f3147ba..85fb6d4 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 @@ -51,6 +51,11 @@ public class StyleMappingTokeniserTests { } @Test + public void escapeSequencesInStringsAreTokenised() { + assertTokens("'Tristan\\''", isToken(TokenType.STRING, "'Tristan\\''")); + } + + @Test public void unterminatedStringsAreTokenised() { assertTokens("'Tristan", isToken(TokenType.UNTERMINATED_STRING, "'Tristan")); } |
