aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-11-14 22:59:32 +0000
committerMichael Williamson <mike@zwobble.org>2016-11-14 22:59:32 +0000
commit3707fb14902ec697e25d49636c5e13c4c17f3ed7 (patch)
treeefb9c59a408bf8a7fe0cd7b901cec0b7168af211 /src/test/java/org
parent7feed8041f5980d94d9a959428385d1c87a65a97 (diff)
Decode escape sequences in strings
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/styles/parsing/EscapeSequencesTests.java33
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/styles/parsing/TokenParserTests.java28
2 files changed, 61 insertions, 0 deletions
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);
+ }
+}