From richfaces-svn-commits at lists.jboss.org Wed Sep 1 11:08:02 2010
Content-Type: multipart/mixed; boundary="===============6273416326947317567=="
MIME-Version: 1.0
From: richfaces-svn-commits at lists.jboss.org
To: richfaces-svn-commits at lists.jboss.org
Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r19079 - in
branches/RF-7560/core/api/src: test/java/org/ajax4jsf/javascript and 1 other
directory.
Date: Wed, 01 Sep 2010 11:08:01 -0400
Message-ID: <201009011508.o81F81k0013842@svn01.web.mwc.hst.phx2.redhat.com>
--===============6273416326947317567==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: nbelaevski
Date: 2010-09-01 11:08:01 -0400 (Wed, 01 Sep 2010)
New Revision: 19079
Modified:
branches/RF-7560/core/api/src/main/java/org/ajax4jsf/javascript/JSEncode=
r.java
branches/RF-7560/core/api/src/test/java/org/ajax4jsf/javascript/ScriptUt=
ilsTest.java
Log:
Reverted changes from r19075
Modified: branches/RF-7560/core/api/src/main/java/org/ajax4jsf/javascript/J=
SEncoder.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/RF-7560/core/api/src/main/java/org/ajax4jsf/javascript/JSEncod=
er.java 2010-09-01 15:03:14 UTC (rev 19078)
+++ branches/RF-7560/core/api/src/main/java/org/ajax4jsf/javascript/JSEncod=
er.java 2010-09-01 15:08:01 UTC (rev 19079)
@@ -31,14 +31,13 @@
=
// private char APOSTROPHE[] =3D { '\\', '\'' };
private static final char[] ENCODE_HEX =3D "0123456789ABCDEF".toCharAr=
ray();
+ private static final char[] ENCODE_APOS =3D "\\'".toCharArray();
private static final char[] ENCODE_QUOT =3D "\\\"".toCharArray();
private static final char[] ENCODE_LF =3D "\\n".toCharArray();
- private static final char[] ENCODE_BC =3D "\\b".toCharArray();
private static final char[] ENCODE_FF =3D "\\f".toCharArray();
private static final char[] ENCODE_CR =3D "\\r".toCharArray();
private static final char[] ENCODE_TAB =3D "\\t".toCharArray();
private static final char[] ENCODE_BS =3D "\\\\".toCharArray();
- private static final char[] ENCODE_FS =3D "\\/".toCharArray();
=
// private static final char ENCODE_ESC[] =3D "\\e".toCharArray();
=
@@ -48,34 +47,32 @@
public JSEncoder() {}
=
/**
- * Return true or false whether this encoding/format can encode the sp=
ecified
+ * Return true or false wether this encoding can encode the specified
* character or not.
*
* This method will return true for the following character range:
*
- * \b | \f | \t | \r | \n | " | \ | / | [#x20-#xD7FF] | [#xE00=
0-#xFFFD]
+ * #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
*
*
*
* @see W3C XML 1.0 =
- * @see JSON.org
*/
public boolean compile(char c) {
- if ((c =3D=3D '\b') ||
- (c =3D=3D '\f') |
- (c =3D=3D '\t') ||
- (c =3D=3D '\n') ||
- (c =3D=3D '\r') ||
- (c =3D=3D '"') ||
- (c =3D=3D '\\') ||
- (c =3D=3D '/') ||
- (c =3D=3D ']') || // ] - to av=
oid conflicts in CDATA
- (c =3D=3D '<') || // - escape =
HTML markup characters
- (c =3D=3D '>') || // - HTML
- (c =3D=3D '&') || // - HTML
- (c =3D=3D '-') || // - HTML co=
mments
- (c < 0x20) || // See
- ((c > 0xd7ff) && (c < 0xe000))=
|| (c > 0xfffd) || (c > 0xff)) {
+ if ((c =3D=3D 0x09) || // [\t]
+ (c =3D=3D 0x0a) || // [\n]
+ (c =3D=3D 0x0d) || // [\r](c =3D=3D 0x22) || // ["]
+ (c =3D=3D 0x22) || // ["]
+ (c =3D=3D 0x27) || // [']
+ (c =3D=3D 0x5c) || // [\]
+ (c =3D=3D 0x03) || // [esc]
+ (c =3D=3D ']') || // ] - to avoid =
conflicts in CDATA
+ (c =3D=3D '<') || // - escape HTML=
markup characters
+ (c =3D=3D '>') || // - HTML
+ (c =3D=3D '&') || // - HTML
+ (c =3D=3D '-') || // - HTML commen=
ts
+ (c < 0x20) || // See
+ ((c > 0xd7ff) && (c < 0xe000)) || =
(c > 0xfffd) || (c > 0xff)) {
return false;
}
=
@@ -88,36 +85,39 @@
*/
public char[] encode(char c) {
switch (c) {
- case '\b' :
- return ENCODE_BC;
- =
- case '\f' :
- return ENCODE_FF;
+ case 0x03 :
+ return ENCODE_FF; // (>) [>]
=
- case '\t' :
- return ENCODE_TAB;
+ case 0x09 :
+ return ENCODE_TAB; // (>) [>]
=
- case '\n' :
- return ENCODE_LF;
+ case 0x0a :
+ return ENCODE_LF; // (>) [>]
=
- case '\r' :
- return ENCODE_CR;
+ case 0x0d :
+ return ENCODE_CR; // (>) [>]
=
- case '"' :
- return ENCODE_QUOT;
+ case 0x22 :
+ return ENCODE_QUOT; // (") ["]
=
- case '\\' :
- return ENCODE_BS;
+ case 0x27 :
+ return ENCODE_APOS; // (') [']
=
- case '/' :
- return ENCODE_FS;
- =
+ case 0x5c :
+ return ENCODE_BS; // (<) [<]
+
default : {
- char[] ret =3D {
- '\\', 'u', ENCODE_HEX[c >> 0xc & 0xf], ENCODE_HEX[c >>=
0x8 & 0xf], ENCODE_HEX[c >> 0x4 & 0xf],
- ENCODE_HEX[c & 0xf]
- };
+ if (c > 0xff) {
+ char[] ret =3D {
+ '\\', 'u', ENCODE_HEX[c >> 0xc & 0xf], ENCODE_HEX[=
c >> 0x8 & 0xf], ENCODE_HEX[c >> 0x4 & 0xf],
+ ENCODE_HEX[c & 0xf]
+ };
=
+ return ret;
+ }
+
+ char[] ret =3D {'\\', 'x', ENCODE_HEX[c >> 0x4 & 0xf], ENC=
ODE_HEX[c & 0xf]};
+
return ret;
}
}
Modified: branches/RF-7560/core/api/src/test/java/org/ajax4jsf/javascript/S=
criptUtilsTest.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/RF-7560/core/api/src/test/java/org/ajax4jsf/javascript/ScriptU=
tilsTest.java 2010-09-01 15:03:14 UTC (rev 19078)
+++ branches/RF-7560/core/api/src/test/java/org/ajax4jsf/javascript/ScriptU=
tilsTest.java 2010-09-01 15:08:01 UTC (rev 19079)
@@ -123,9 +123,9 @@
* Test method for {@link org.ajax4jsf.javascript.ScriptUtils#toScript=
(java.lang.Object)}.
*/
public void testStringToScript() {
- Object obj =3D "f \b\r\t\f\n\"'\\/ oo";
+ Object obj =3D "foo";
=
- assertEquals("\"f \\b\\r\\t\\f\\n\\\"'\\\\\\/ oo\"", ScriptUtils.t=
oScript(obj));
+ assertEquals("\"foo\"", ScriptUtils.toScript(obj));
}
=
/**
@@ -260,8 +260,8 @@
public void testAddEncoded() {
StringBuilder buff =3D new StringBuilder();
=
- ScriptUtils.addEncoded(buff, "foo");
- assertEquals("foo", buff.toString());
+ ScriptUtils.addEncoded(buff, "foo\"\'");
+ assertEquals("foo\\\"\\\'", buff.toString());
}
=
/**
--===============6273416326947317567==--