From 645a6fa46b3755b8e709b9d0c0938714607f634c Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 24 Nov 2016 20:53:01 +0000 Subject: Fix tokenisation of strings with escape sequences --- .../mammoth/internal/styles/parsing/StyleMappingTokeniser.java | 2 +- .../mammoth/tests/styles/parsing/StyleMappingTokeniserTests.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src') 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> tokenise(String line) { - String stringPrefix = "'((?:\\.|[^'])*)"; + String stringPrefix = "'((?:\\\\.|[^'])*)"; String identifierCharacter = "(?:[a-zA-Z\\-_]|\\\\.)"; RegexTokeniser 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 @@ -50,6 +50,11 @@ public class StyleMappingTokeniserTests { assertTokens("'Tristan'", isToken(TokenType.STRING, "'Tristan'")); } + @Test + public void escapeSequencesInStringsAreTokenised() { + assertTokens("'Tristan\\''", isToken(TokenType.STRING, "'Tristan\\''")); + } + @Test public void unterminatedStringsAreTokenised() { assertTokens("'Tristan", isToken(TokenType.UNTERMINATED_STRING, "'Tristan")); -- cgit v1.2.3