1 package net.pterodactylus.sone.template;
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.is;
6 import java.util.Collections;
11 * Unit test for {@link JavascriptFilter}.
13 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
15 public class JavascriptFilterTest {
17 private final JavascriptFilter javascriptFilter = new JavascriptFilter();
20 public void enclosesAStringInDoubleQuotes() {
21 assertThat(formatString("Some String"), is("\"Some String\""));
25 public void escapesDoubleQuotes() {
26 assertThat(formatString("Some \" Quote"), is("\"Some \\\" Quote\""));
30 public void escapesBackslash() {
31 assertThat(formatString("Some \\ Quote"), is("\"Some \\\\ Quote\""));
35 public void escapesCarriageReturn() {
36 assertThat(formatString("Some \r Quote"), is("\"Some \\r Quote\""));
40 public void escapesLineFeed() {
41 assertThat(formatString("Some \n Quote"), is("\"Some \\n Quote\""));
45 public void escapesTab() {
46 assertThat(formatString("Some \t Quote"), is("\"Some \\t Quote\""));
50 public void escapesControlCharacters() {
51 assertThat(formatString("\u0001a\u0002"), is("\"\\x01a\\x02\""));
54 private String formatString(String string) {
55 return (String) javascriptFilter.format(null, string, Collections.<String, Object>emptyMap());