Skip to content

Commit 914edd7

Browse files
committed
Issue ESAPI#300 -- Fixed a tricky polymorphism bug with Jeremiah Stacey's help. Added a unit test for PercentCodec.
1 parent 65646f1 commit 914edd7

File tree

8 files changed

+23
-7
lines changed

8 files changed

+23
-7
lines changed

src/main/java/org/owasp/esapi/codecs/JavaScriptCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public String encodeCharacter( char[] immune, Character c ) {
8787
* \\uHHHH
8888
* \\OOO (1, 2, or 3 digits)
8989
*/
90-
public Character decodeCharacter( PushbackString input ) {
90+
public Character decodeCharacter( PushbackSequence<Character> input ) {
9191
input.mark();
9292
Character first = input.next();
9393
if ( first == null ) {

src/main/java/org/owasp/esapi/codecs/MySQLCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ private String encodeCharacterMySQL( Character c ) {
162162
* In ANSI_MODE '' decodes to '
163163
* In MYSQL_MODE \x decodes to x (or a small list of specials)
164164
*/
165-
public Character decodeCharacter( PushbackString input ) {
165+
public Character decodeCharacter( PushbackSequence<Character> input ) {
166166
switch( mode ) {
167167
case ANSI: return decodeCharacterANSI( input );
168168
case STANDARD: return decodeCharacterMySQL( input );

src/main/java/org/owasp/esapi/codecs/OracleCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public String encodeCharacter( char[] immune, Character c ) {
5959
* Formats all are legal
6060
* '' decodes to '
6161
*/
62-
public Character decodeCharacter( PushbackString input ) {
62+
public Character decodeCharacter( PushbackSequence<Character> input ) {
6363
input.mark();
6464
Character first = input.next();
6565
if ( first == null ) {

src/main/java/org/owasp/esapi/codecs/PercentCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public String encodeCharacter( char[] immune, Character c )
128128
* @param input
129129
* encoded character using percent characters (such as URL encoding)
130130
*/
131-
public Character decodeCharacter( PushbackString input ) {
131+
public Character decodeCharacter( PushbackSequence<Character> input ) {
132132
input.mark();
133133
Character first = input.next();
134134
if ( first == null ) {

src/main/java/org/owasp/esapi/codecs/UnixCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public String encodeCharacter( char[] immune, Character c ) {
6161
* \x - all special characters
6262
*
6363
*/
64-
public Character decodeCharacter( PushbackString input ) {
64+
public Character decodeCharacter( PushbackSequence<Character> input ) {
6565
input.mark();
6666
Character first = input.next();
6767
if ( first == null ) {

src/main/java/org/owasp/esapi/codecs/VBScriptCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public String encodeCharacter( char[] immune, Character c ) {
9696
* "x - all special characters
9797
* " + chr(x) + " - not supported yet
9898
*/
99-
public Character decodeCharacter( PushbackString input ) {
99+
public Character decodeCharacter( PushbackSequence<Character> input ) {
100100
input.mark();
101101
Character first = input.next();
102102
if ( first == null ) {

src/main/java/org/owasp/esapi/codecs/WindowsCodec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public String encodeCharacter( char[] immune, Character c ) {
6161
* Formats all are legal both upper/lower case:
6262
* ^x - all special characters
6363
*/
64-
public Character decodeCharacter( PushbackString input ) {
64+
public Character decodeCharacter( PushbackSequence<Character> input ) {
6565
input.mark();
6666
Character first = input.next();
6767
if ( first == null ) {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package org.owasp.esapi.codecs;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import org.junit.Test;
6+
7+
public class PercentCodecTest {
8+
9+
@Test
10+
public void testPercentDecode(){
11+
Codec codec = new PercentCodec();
12+
13+
String expected = " ";
14+
assertEquals(expected, codec.decode("%20"));
15+
}
16+
}

0 commit comments

Comments
 (0)