From 3707fb14902ec697e25d49636c5e13c4c17f3ed7 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 14 Nov 2016 22:59:32 +0000 Subject: Decode escape sequences in strings --- .../tests/styles/parsing/EscapeSequencesTests.java | 33 ++++++++++++++++++++++ .../tests/styles/parsing/TokenParserTests.java | 28 ++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/test/java/org/zwobble/mammoth/tests/styles/parsing/EscapeSequencesTests.java create mode 100644 src/test/java/org/zwobble/mammoth/tests/styles/parsing/TokenParserTests.java (limited to 'src/test/java/org/zwobble') diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/EscapeSequencesTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/EscapeSequencesTests.java new file mode 100644 index 0000000..8b76316 --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/EscapeSequencesTests.java @@ -0,0 +1,33 @@ +package org.zwobble.mammoth.tests.styles.parsing; + +import org.junit.Test; +import org.zwobble.mammoth.internal.styles.parsing.EscapeSequences; + +import static org.junit.Assert.assertEquals; + +public class EscapeSequencesTests { + @Test + public void lineFeedsAreDecoded() { + assertEquals("\n", EscapeSequences.decode("\\n")); + } + + @Test + public void carriageReturnsAreDecoded() { + assertEquals("\r", EscapeSequences.decode("\\r")); + } + + @Test + public void tabsAreDecoded() { + assertEquals("\t", EscapeSequences.decode("\\t")); + } + + @Test + public void backslashesAreDecoded() { + assertEquals("\\", EscapeSequences.decode("\\\\")); + } + + @Test + public void colonsAreDecoded() { + assertEquals(":", EscapeSequences.decode("\\:")); + } +} diff --git a/src/test/java/org/zwobble/mammoth/tests/styles/parsing/TokenParserTests.java b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/TokenParserTests.java new file mode 100644 index 0000000..dabe2cd --- /dev/null +++ b/src/test/java/org/zwobble/mammoth/tests/styles/parsing/TokenParserTests.java @@ -0,0 +1,28 @@ +package org.zwobble.mammoth.tests.styles.parsing; + +import org.junit.Test; +import org.zwobble.mammoth.internal.styles.parsing.Token; +import org.zwobble.mammoth.internal.styles.parsing.TokenIterator; +import org.zwobble.mammoth.internal.styles.parsing.TokenParser; +import org.zwobble.mammoth.internal.styles.parsing.TokenType; + +import static org.junit.Assert.assertEquals; +import static org.zwobble.mammoth.internal.util.Lists.list; + +public class TokenParserTests { + @Test + public void escapeSequencesInClassNameAreDecoded() { + String value = TokenParser.parseClassName(new TokenIterator<>(list( + new Token<>(0, TokenType.CLASS_NAME, "\\:") + ))); + assertEquals(":", value); + } + + @Test + public void escapeSequencesInStringAreDecoded() { + String value = TokenParser.parseString(new TokenIterator<>(list( + new Token<>(0, TokenType.STRING, "'\\n'") + ))); + assertEquals("\n", value); + } +} -- cgit v1.2.3