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==--