1515 */
1616package org .owasp .esapi .reference ;
1717
18- import java .io .ByteArrayOutputStream ;
18+ import static org .junit .Assert .assertEquals ;
19+
1920import java .io .IOException ;
20- import java .io .ObjectOutputStream ;
2121import java .io .UnsupportedEncodingException ;
2222import java .net .URI ;
2323import java .util .ArrayList ;
2424import 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 ;
2731import org .owasp .esapi .ESAPI ;
2832import org .owasp .esapi .Encoder ;
2933import org .owasp .esapi .EncoderConstants ;
30- import org .owasp .esapi .codecs .Base64 ;
34+ import org .owasp .esapi .codecs .CSSCodec ;
3135import org .owasp .esapi .codecs .Codec ;
3236import org .owasp .esapi .codecs .HTMLEntityCodec ;
3337import 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