Skip to content

Commit 8bffd26

Browse files
DefaultEncoder CSS Tests #494
Duplicating the CSSCodecTest context in the DefaultEncoder test context.
1 parent 13827d2 commit 8bffd26

File tree

1 file changed

+34
-9
lines changed

1 file changed

+34
-9
lines changed

src/test/java/org/owasp/esapi/reference/EncoderTest.java

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,23 @@
1515
*/
1616
package org.owasp.esapi.reference;
1717

18-
import java.io.ByteArrayOutputStream;
18+
import static org.junit.Assert.assertEquals;
19+
1920
import java.io.IOException;
20-
import java.io.ObjectOutputStream;
2121
import java.io.UnsupportedEncodingException;
2222
import java.net.URI;
2323
import java.util.ArrayList;
2424
import java.util.Arrays;
25+
import java.util.HashMap;
26+
import java.util.Map;
27+
import java.util.Map.Entry;
28+
import java.util.regex.Matcher;
29+
import java.util.regex.Pattern;
2530

26-
import org.junit.Ignore;
2731
import org.owasp.esapi.ESAPI;
2832
import org.owasp.esapi.Encoder;
2933
import org.owasp.esapi.EncoderConstants;
30-
import org.owasp.esapi.codecs.Base64;
34+
import org.owasp.esapi.codecs.CSSCodec;
3135
import org.owasp.esapi.codecs.Codec;
3236
import org.owasp.esapi.codecs.HTMLEntityCodec;
3337
import org.owasp.esapi.codecs.MySQLCodec;
@@ -376,7 +380,7 @@ public void testEncodeForHTMLAttribute() {
376380
/**
377381
*
378382
*/
379-
public void testEncodeForCSS() {
383+
public void testencodeForCSS() {
380384
System.out.println("encodeForCSS");
381385
Encoder instance = ESAPI.encoder();
382386
assertEquals(null, instance.encodeForCSS(null));
@@ -385,11 +389,32 @@ public void testEncodeForCSS() {
385389
assertEquals("#f00", instance.encodeForCSS("#f00"));
386390
assertEquals("#123456", instance.encodeForCSS("#123456"));
387391
assertEquals("#abcdef", instance.encodeForCSS("#abcdef"));
388-
assertEquals("red", instance.encodeForCSS("red"));
392+
assertEquals("red", instance.encodeForCSS("red"));
389393
}
390-
391-
392-
394+
395+
public void testCSSTripletLeadString() {
396+
Encoder instance = ESAPI.encoder();
397+
assertEquals("rgb(255,255,255)\\21 ", instance.encodeForCSS("rgb(255,255,255)!"));
398+
assertEquals("rgb(25%,25%,25%)\\21 ", instance.encodeForCSS("rgb(25%,25%,25%)!"));
399+
}
400+
public void testCSSTripletTailString() {
401+
Encoder instance = ESAPI.encoder();
402+
assertEquals("\\24 field\\3d rgb(255,255,255)\\21 ", instance.encodeForCSS("$field=rgb(255,255,255)!"));
403+
assertEquals("\\24 field\\3d rgb(25%,25%,25%)\\21 ", instance.encodeForCSS("$field=rgb(25%,25%,25%)!"));
404+
}
405+
public void testCSSTripletStringPart() {
406+
Encoder instance = ESAPI.encoder();
407+
assertEquals("\\24 field\\3d rgb(255,255,255)\\21 ", instance.encodeForCSS("$field=rgb(255,255,255)!"));
408+
assertEquals("\\24 field\\3d rgb(25%,25%,25%)\\21 ", instance.encodeForCSS("$field=rgb(25%,25%,25%)!"));
409+
}
410+
public void testCSSTripletStringMultiPart() {
411+
Encoder instance = ESAPI.encoder();
412+
assertEquals("\\24 field\\3d rgb(255,255,255)\\21 \\20 \\24 field\\3d rgb(255,255,255)\\21 ", instance.encodeForCSS("$field=rgb(255,255,255)! $field=rgb(255,255,255)!"));
413+
assertEquals("\\24 field\\3d rgb(25%,25%,25%)\\21 \\20 \\24 field\\3d rgb(25%,25%,25%)\\21 ", instance.encodeForCSS("$field=rgb(25%,25%,25%)! $field=rgb(25%,25%,25%)!"));
414+
assertEquals("\\24 field\\3d rgb(255,255,255)\\21 \\20 \\24 field\\3d rgb(25%,25%,25%)\\21 ", instance.encodeForCSS("$field=rgb(255,255,255)! $field=rgb(25%,25%,25%)!"));
415+
}
416+
417+
393418
/**
394419
* Test of encodeForJavaScript method, of class org.owasp.esapi.Encoder.
395420
*/

0 commit comments

Comments
 (0)