This is an automated email from the git hooks/post-receive script. henrich pushed a commit to branch debian/sid in repository jruby-joni.
commit 14af3b1cc09a3f00e97d8f06cee269b494c882fb Author: Marcin Mielzynski <[email protected]> Date: Mon Feb 13 02:56:32 2012 +0100 Turn off failing tests for non unicode character class mode for \s \d \w --- src/org/joni/Parser.java | 42 ++++++------- src/org/joni/ast/QuantifierNode.java | 102 +++++++++++++++---------------- test/org/joni/test/Test.java | 74 +++++++++++------------ test/org/joni/test/TestC.java | 54 ++++++++--------- test/org/joni/test/TestU.java | 114 +++++++++++++++++------------------ 5 files changed, 193 insertions(+), 193 deletions(-) diff --git a/src/org/joni/Parser.java b/src/org/joni/Parser.java index 71d29fd..ca34d5a 100644 --- a/src/org/joni/Parser.java +++ b/src/org/joni/Parser.java @@ -177,27 +177,27 @@ class Parser extends Lexer { switch (token.type) { case CHAR: - int len; -// if (Config.VANILLA) { - len = enc.codeToMbcLength(token.getC()); - if (len > 1) { - arg.inType = CCVALTYPE.CODE_POINT; - } else { - // !sb_char:! - arg.inType = CCVALTYPE.SB; - } -// } else { -// if (token.getCode() >= BitSet.SINGLE_BYTE_SIZE || (len = enc.codeToMbcLength(token.getC())) > 1) { -// arg.inType = CCVALTYPE.CODE_POINT; -// } else { -// // !sb_char:! -// arg.inType = CCVALTYPE.SB; -// } -// } - arg.v = token.getC(); - arg.vIsRaw = false; - // !goto val_entry2;! - valEntry2(cc, arg); + final int len; + if (Config.VANILLA) { + len = enc.codeToMbcLength(token.getC()); + if (len > 1) { + arg.inType = CCVALTYPE.CODE_POINT; + } else { + // !sb_char:! + arg.inType = CCVALTYPE.SB; + } + } else { + if (token.getCode() >= BitSet.SINGLE_BYTE_SIZE || (len = enc.codeToMbcLength(token.getC())) > 1) { + arg.inType = CCVALTYPE.CODE_POINT; + } else { + // !sb_char:! + arg.inType = CCVALTYPE.SB; + } + } + arg.v = token.getC(); + arg.vIsRaw = false; + // !goto val_entry2;! + valEntry2(cc, arg); break; case RAW_BYTE: diff --git a/src/org/joni/ast/QuantifierNode.java b/src/org/joni/ast/QuantifierNode.java index 280f9bf..90fab29 100644 --- a/src/org/joni/ast/QuantifierNode.java +++ b/src/org/joni/ast/QuantifierNode.java @@ -1,20 +1,20 @@ /* - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is furnished to do * so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package org.joni.ast; @@ -30,52 +30,52 @@ public final class QuantifierNode extends StateNode { public int lower; public int upper; public boolean greedy; - + public int targetEmptyInfo; - + public Node headExact; public Node nextHeadExact; public boolean isRefered; /* include called node. don't eliminate even if {0} */ - + // USE_COMBINATION_EXPLOSION_CHECK - public int combExpCheckNum; /* 1,2,3...: check, 0: no check */ - + public int combExpCheckNum; /* 1,2,3...: check, 0: no check */ + public QuantifierNode(int lower, int upper, boolean byNumber) { this.lower = lower; this.upper = upper; greedy = true; targetEmptyInfo = TargetInfo.ISNOT_EMPTY; - - if (byNumber) setByNumber(); + + if (byNumber) setByNumber(); } @Override public int getType() { return QTFR; } - + @Override protected void setChild(Node newChild) { target = newChild; } - + @Override protected Node getChild() { return target; } - + public void setTarget(Node tgt) { target = tgt; - tgt.parent = this; + tgt.parent = this; } - + public StringNode convertToString() { StringNode sn = new StringNode(); sn.flag = ((StringNode)target).flag; sn.swap(this); return sn; } - + @Override public String getName() { return "Quantifier"; @@ -93,14 +93,14 @@ public final class QuantifierNode extends StateNode { value.append("\n nextHeadExact: " + pad(nextHeadExact, level + 1)); value.append("\n isRefered: " + isRefered); value.append("\n combExpCheckNum: " + combExpCheckNum); - + return value.toString(); } - + public boolean isAnyCharStar() { return greedy && isRepeatInfinite(upper) && target.getType() == CANY; } - + /* ?:0, *:1, +:2, ??:3, *?:4, +?:5 */ protected int popularNum() { if (greedy) { @@ -120,7 +120,7 @@ public final class QuantifierNode extends StateNode { } return -1; } - + protected void set(QuantifierNode other) { setTarget(other.target); other.target = null; @@ -128,7 +128,7 @@ public final class QuantifierNode extends StateNode { upper = other.upper; greedy = other.greedy; targetEmptyInfo = other.targetEmptyInfo; - + //setHeadExact(other.headExact); //setNextHeadExact(other.nextHeadExact); headExact = other.headExact; @@ -136,41 +136,41 @@ public final class QuantifierNode extends StateNode { isRefered = other.isRefered; combExpCheckNum = other.combExpCheckNum; } - + public void reduceNestedQuantifier(QuantifierNode other) { int pnum = popularNum(); int cnum = other.popularNum(); - + if (pnum < 0 || cnum < 0) return; - + switch(Reduce.REDUCE_TABLE[cnum][pnum]) { case DEL: - // no need to set the parent here... + // no need to set the parent here... // swap ? set(other); // *pnode = *cnode; ??? break; - + case A: setTarget(other.target); lower = 0; upper = REPEAT_INFINITE; greedy = true; break; - + case AQ: setTarget(other.target); lower = 0; upper = REPEAT_INFINITE; greedy = false; break; - + case QQ: setTarget(other.target); lower = 0; upper = 1; greedy = false; break; - + case P_QQ: setTarget(other); lower = 0; @@ -180,7 +180,7 @@ public final class QuantifierNode extends StateNode { other.upper = REPEAT_INFINITE; other.greedy = true; return; - + case PQ_Q: setTarget(other); lower = 0; @@ -190,7 +190,7 @@ public final class QuantifierNode extends StateNode { other.upper = REPEAT_INFINITE; other.greedy = false; return; - + case ASIS: setTarget(other); return; @@ -198,12 +198,12 @@ public final class QuantifierNode extends StateNode { // ??? remove the parent from target ??? other.target = null; // remove target from reduced quantifier } - + public int setQuantifier(Node tgt, boolean group, ScanEnvironment env, byte[]bytes, int p, int end) { if (lower == 1 && upper == 1) return 1; - + switch(tgt.getType()) { - + case STR: if (!group) { StringNode sn = (StringNode)tgt; @@ -216,25 +216,25 @@ public final class QuantifierNode extends StateNode { } } break; - + case QTFR: /* check redundant double repeat. */ /* verbose warn (?:.?)? etc... but not warn (.?)? etc... */ QuantifierNode qnt = (QuantifierNode)tgt; int nestQNum = popularNum(); int targetQNum = qnt.popularNum(); - + if (Config.USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR) { if (!isByNumber() && !qnt.isByNumber() && env.syntax.warnReduntantNestedRepeat()) { switch(Reduce.REDUCE_TABLE[targetQNum][nestQNum]) { case ASIS: break; - + case DEL: - env.reg.warnings.warn(new String(bytes, p, end) + + env.reg.warnings.warn(new String(bytes, p, end) + " redundant nested repeat operator"); break; - + default: env.reg.warnings.warn(new String(bytes, p, end) + " nested repeat operator " + Reduce.PopularQStr[targetQNum] + @@ -243,7 +243,7 @@ public final class QuantifierNode extends StateNode { } } } // USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR - + if (targetQNum >= 0) { if (nestQNum >= 0) { reduceNestedQuantifier(qnt); @@ -255,11 +255,11 @@ public final class QuantifierNode extends StateNode { } } } - + default: break; } - + setTarget(tgt); return 0; } @@ -268,5 +268,5 @@ public final class QuantifierNode extends StateNode { public static boolean isRepeatInfinite(int n) { return n == REPEAT_INFINITE; } - + } diff --git a/test/org/joni/test/Test.java b/test/org/joni/test/Test.java index 1a9cec6..124504c 100644 --- a/test/org/joni/test/Test.java +++ b/test/org/joni/test/Test.java @@ -1,20 +1,20 @@ /* - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is furnished to do * so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package org.joni.test; @@ -35,27 +35,27 @@ public abstract class Test { int nsucc; int nerror; int nfail; - + public abstract int option(); public abstract Encoding encoding(); public abstract String testEncoding(); public abstract Syntax syntax(); - + protected String repr(byte[]bytes) { return new String(bytes); } - + protected int length(byte[]bytes) { return bytes.length; } - + public void xx(byte[]pattern, byte[]str, int from, int to, int mem, boolean not) { xx(pattern, str, from, to, mem, not, option()); } - + public void xx(byte[]pattern, byte[]str, int from, int to, int mem, boolean not, int option) { Regex reg; - + try { reg = new Regex(pattern, 0, length(pattern), option, encoding(), syntax()); } catch (JOniException je) { @@ -69,9 +69,9 @@ public abstract class Test { e.printStackTrace(Config.err); Config.err.println("SEVERE ERROR: " + e.getMessage()); nerror++; - return; + return; } - + Matcher m = reg.matcher(str, 0, length(str)); Region region; @@ -90,9 +90,9 @@ public abstract class Test { e.printStackTrace(Config.err); Config.err.println("SEVERE ERROR: " + e.getMessage()); nerror++; - return; + return; } - + if (r == -1) { if (not) { Config.log.println("OK(N): /" + repr(pattern) + "/ '" + repr(str) + "'"); @@ -118,15 +118,15 @@ public abstract class Test { } } } - + protected void x2(byte[]pattern, byte[]str, int from, int to) { xx(pattern, str, from, to, 0, false); } - + protected void x3(byte[]pattern, byte[]str, int from, int to, int mem) { xx(pattern, str, from, to, mem, false); } - + protected void n(byte[]pattern, byte[]str) { xx(pattern, str, 0, 0, 0, true); } @@ -134,7 +134,7 @@ public abstract class Test { public void xxs(String pattern, String str, int from, int to, int mem, boolean not) { xxs(pattern, str, from, to, mem, not, option()); } - + public void xxs(String pattern, String str, int from, int to, int mem, boolean not, int option) { try{ xx(pattern.getBytes(testEncoding()), str.getBytes(testEncoding()), from, to, mem, not, option); @@ -146,7 +146,7 @@ public abstract class Test { public void x2s(String pattern, String str, int from, int to) { x2s(pattern, str, from, to, option()); } - + public void x2s(String pattern, String str, int from, int to, int option) { try{ xx(pattern.getBytes(testEncoding()), str.getBytes(testEncoding()), from, to, 0, false, option); @@ -154,41 +154,41 @@ public abstract class Test { uee.printStackTrace(); } } - + public void x3s(String pattern, String str, int from, int to, int mem) { x3s(pattern, str, from, to, mem, option()); } - + public void x3s(String pattern, String str, int from, int to, int mem, int option) { - try{ + try{ xx(pattern.getBytes(testEncoding()), str.getBytes(testEncoding()), from, to, mem, false, option); } catch (UnsupportedEncodingException uee) { uee.printStackTrace(); } } - + public void ns(String pattern, String str) { ns(pattern, str, option()); } - + public void ns(String pattern, String str, int option) { - try{ + try{ xx(pattern.getBytes(testEncoding()), str.getBytes(testEncoding()), 0, 0, 0, true, option); } catch (UnsupportedEncodingException uee) { uee.printStackTrace(); } } - + public void printResults() { Config.log.println("\nRESULT SUCC: " + nsucc + ", FAIL: " + nfail + ", ERROR: " + nerror + - " (by JONI)"); + " (by JONI) " + "Encoding: " + encoding() + " Test: " + getClass().getSimpleName()); } - + public abstract void test(); - + public final void run() { test(); printResults(); } - + } diff --git a/test/org/joni/test/TestC.java b/test/org/joni/test/TestC.java index 94f4218..9af3941 100644 --- a/test/org/joni/test/TestC.java +++ b/test/org/joni/test/TestC.java @@ -1,20 +1,20 @@ /* - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is furnished to do * so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package org.joni.test; @@ -34,14 +34,14 @@ public class TestC extends Test { public Encoding encoding() { return EUCJPEncoding.INSTANCE; } - + public String testEncoding() { return "cp1250"; } public Syntax syntax() { return Syntax.DEFAULT; - } + } public void test() { x2s("", "", 0, 0); @@ -465,9 +465,9 @@ public class TestC extends Test { if (Config.VANILLA) x2s("\\xca\\xb8", "\u0118\u00b8", 0, 2); x2s(".", "\u00a4\u02d8", 0, 2); x2s("..", "\u00a4\u00ab\u00a4\u00ad", 0, 4); - x2s("\\w", "\u00a4\u015e", 0, 2); - ns("\\W", "\u00a4\u02d8"); - x2s("[\\W]", "\u00a4\u00a6$", 2, 3); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\\w", "\u00a4\u015e", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) ns("\\W", "\u00a4\u02d8"); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("[\\W]", "\u00a4\u00a6$", 2, 3); x2s("\\S", "\u00a4\u02dd", 0, 2); x2s("\\S", "\u00b4\u00c1", 0, 2); x2s("\\b", "\u00b5\u00a4 ", 0, 0); @@ -479,27 +479,27 @@ public class TestC extends Test { ns("[\u00a4\u0118\u00a4\u00cb]", "\u00a4\u011a"); x2s("[\u00a4\u00a6-\u00a4\u015e]", "\u00a4\u00a8", 0, 2); ns("[^\u00a4\u00b1]", "\u00a4\u00b1"); - x2s("[\\w]", "\u00a4\u00cd", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("[\\w]", "\u00a4\u00cd", 0, 2); ns("[\\d]", "\u00a4\u0150"); x2s("[\\D]", "\u00a4\u010e", 0, 2); ns("[\\s]", "\u00a4\u017b"); x2s("[\\S]", "\u00a4\u0158", 0, 2); - x2s("[\\w\\d]", "\u00a4\u010d", 0, 2); - x2s("[\\w\\d]", " \u00a4\u010d", 3, 5); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("[\\w\\d]", "\u00a4\u010d", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("[\\w\\d]", " \u00a4\u010d", 3, 5); ns("\\w\u00b5\u00b4\u013d\u00d6", " \u00b5\u00b4\u013d\u00d6"); x2s("\u00b5\u00b4\\W\u013d\u00d6", "\u00b5\u00b4 \u013d\u00d6", 0, 5); x2s("\u00a4\u02d8.\u00a4\u00a4.\u00a4\u00a6", "\u00a4\u02d8\u00a4\u02d8\u00a4\u00a4\u00a4\u00a4\u00a4\u00a6", 0, 10); - x2s(".\\w\u00a4\u00a6\\W..\u00a4\u013e", "\u00a4\u00a8\u00a4\u00a6\u00a4\u00a6 \u00a4\u00a6\u00a4\u013e\u00a4\u013e", 0, 13); - x2s("\\s\\w\u00a4\u0142\u00a4\u0142\u00a4\u0142", " \u00a4\u0142\u00a4\u0142\u00a4\u0142\u00a4\u0142", 0, 9); + if (!org.joni.Config.NON_UNICODE_SDW) x2s(".\\w\u00a4\u00a6\\W..\u00a4\u013e", "\u00a4\u00a8\u00a4\u00a6\u00a4\u00a6 \u00a4\u00a6\u00a4\u013e\u00a4\u013e", 0, 13); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\\s\\w\u00a4\u0142\u00a4\u0142\u00a4\u0142", " \u00a4\u0142\u00a4\u0142\u00a4\u0142\u00a4\u0142", 0, 9); x2s("\u00a4\u02d8\u00a4\u02d8.\u00a4\u00b1", "\u00a4\u02d8\u00a4\u02d8\u00a4\u00b1\u00a4\u00b1", 0, 8); ns(".\u00a4\u00a4", "\u00a4\u00a4\u00a4\u00a8"); x2s(".\u00a4\u015e", "\u00a4\u015e\u00a4\u015e", 0, 4); x2s("^\u00a4\u02d8", "\u00a4\u02d8", 0, 2); x2s("^\u00a4\u0155$", "\u00a4\u0155", 0, 2); - x2s("^\\w$", "\u00a4\u00cb", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("^\\w$", "\u00a4\u00cb", 0, 2); x2s("^\\w\u00a4\u00ab\u00a4\u00ad\u00a4\u017b\u00a4\u00b1\u00a4\u0142$", "z\u00a4\u00ab\u00a4\u00ad\u00a4\u017b\u00a4\u00b1\u00a4\u0142", 0, 11); x2s("^\\w...\u00a4\u00a6\u00a4\u00a8\u00a4\u015e$", "z\u00a4\u02d8\u00a4\u00a4\u00a4\u00a6\u00a4\u00a6\u00a4\u00a8\u00a4\u015e", 0, 13); - x2s("\\w\\w\\s\\W\u00a4\u015e\u00a4\u015e\u00a4\u015e\\d", "a\u00a4\u015e \u00a4\u015e\u00a4\u015e\u00a4\u015e4", 0, 12); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\\w\\w\\s\\W\u00a4\u015e\u00a4\u015e\u00a4\u015e\\d", "a\u00a4\u015e \u00a4\u015e\u00a4\u015e\u00a4\u015e4", 0, 12); x2s("\\A\u00a4\u017c\u00a4\u00c1\u00a4\u00c4", "\u00a4\u017c\u00a4\u00c1\u00a4\u00c4", 0, 6); x2s("\u00a4\u0155\u00a4\u00e1\u00a4\u00e2\\Z", "\u00a4\u0155\u00a4\u00e1\u00a4\u00e2", 0, 6); x2s("\u00a4\u00ab\u00a4\u00ad\u00a4\u017b\\z", "\u00a4\u00ab\u00a4\u00ad\u00a4\u017b", 0, 6); @@ -555,9 +555,9 @@ public class TestC extends Test { x2s("\u00b5\u00b4|\u013d\u00d6\\Z", "\u013d\u00d6\n", 0, 2); x2s("\u00b5\u00b4|\u013d\u00d6\\z", "\u013d\u00d6\u00b5\u00b4", 2, 4); x2s("\u00b5\u00b4|\u013d\u00d6\\z", "\u013d\u00d6", 0, 2); - x2s("\\w|\\s", "\u00a4\u015e", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\\w|\\s", "\u00a4\u015e", 0, 2); x2s("\\w|%", "%\u00a4\u015e", 0, 1); - x2s("\\w|[&$]", "\u00a4\u00a6&", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\\w|[&$]", "\u00a4\u00a6&", 0, 2); x2s("[\u00a4\u00a4-\u00a4\u00b1]", "\u00a4\u00a6", 0, 2); x2s("[\u00a4\u00a4-\u00a4\u00b1]|[^\u00a4\u00ab-\u00a4\u0142]", "\u00a4\u02d8", 0, 2); x2s("[\u00a4\u00a4-\u00a4\u00b1]|[^\u00a4\u00ab-\u00a4\u0142]", "\u00a4\u00ab", 0, 2); @@ -688,7 +688,7 @@ public class TestC extends Test { x3s("(((((((\u00a4\u00dd*)\u00a4\u00da))))))\u00a4\u00d4\\7", "\u00a4\u00dd\u00a4\u00dd\u00a4\u00dd\u00a4\u00da\u00a4\u00d4\u00a4\u00dd\u00a4\u00dd\u00a4\u00dd", 0, 6, 7); x2s("(\u00a4\u010e)(\u00a4\u0147)(\u00a4\u0150)\\2\\1\\3", "\u00a4\u010e\u00a4\u0147\u00a4\u0150\u00a4\u0147\u00a4\u010e\u00a4\u0150", 0, 12); x2s("([\u00a4\u00ad-\u00a4\u00b1])\\1", "\u00a4\u017b\u00a4\u017b", 0, 4); - x2s("(\\w\\d\\s)\\1", "\u00a4\u02d85 \u00a4\u02d85 ", 0, 8); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("(\\w\\d\\s)\\1", "\u00a4\u02d85 \u00a4\u02d85 ", 0, 8); ns("(\\w\\d\\s)\\1", "\u00a4\u02d85 \u00a4\u02d85"); x2s("(\u0102\u017b\u02c7\u00a9|[\u00a4\u02d8-\u00a4\u00a6]{3})\\1", "\u0102\u017b\u02c7\u00a9\u0102\u017b\u02c7\u00a9", 0, 8); x2s("...(\u0102\u017b\u02c7\u00a9|[\u00a4\u02d8-\u00a4\u00a6]{3})\\1", "\u00a4\u02d8a\u00a4\u02d8\u0102\u017b\u02c7\u00a9\u0102\u017b\u02c7\u00a9", 0, 13); @@ -729,7 +729,7 @@ public class TestC extends Test { x2s("a<b>\u0104\u0110\u02c7\u013d\u0104\u00b8\u0104\u00e7\u0104\u00f3\u00a4\u00ce\u0104\u0154\u0104\u00a6\u0104\u00f3\u0104\u00ed\u02c7\u013d\u0104\u00c9<\\/b>", "a<b>\u0104\u0110\u02c7\u013d\u0104\u00b8\u0104\u00e7\u0104\u00f3\u00a4\u00ce\u0104\u0154\u0104\u00a6\u0104\u00f3\u0104\u00ed\u02c7\u013d\u0104\u00c9</b>", 0, 32); x2s(".<b>\u0104\u0110\u02c7\u013d\u0104\u00b8\u0104\u00e7\u0104\u00f3\u00a4\u00ce\u0104\u0154\u0104\u00a6\u0104\u00f3\u0104\u00ed\u02c7\u013d\u0104\u00c9<\\/b>", "a<b>\u0104\u0110\u02c7\u013d\u0104\u00b8\u0104\u00e7\u0104\u00f3\u00a4\u00ce\u0104\u0154\u0104\u00a6\u0104\u00f3\u0104\u00ed\u02c7\u013d\u0104\u00c9</b>", 0, 32); } - + public static void main(String[] args) throws Throwable{ new TestC().run(); } diff --git a/test/org/joni/test/TestU.java b/test/org/joni/test/TestU.java index ee12227..eb4a2a7 100644 --- a/test/org/joni/test/TestU.java +++ b/test/org/joni/test/TestU.java @@ -1,20 +1,20 @@ /* - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies * of the Software, and to permit persons to whom the Software is furnished to do * so, subject to the following conditions: - * + * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package org.joni.test; @@ -29,23 +29,23 @@ public class TestU extends Test { public int option() { return Option.DEFAULT; } - + public Encoding encoding() { return UTF16BEEncoding.INSTANCE; } - + public String testEncoding() { return "iso-8859-1"; } - + public Syntax syntax() { return Syntax.DEFAULT; } - + private int ulen(byte[]bytes) { return encoding().strByteLengthNull(bytes, 0, bytes.length); } - + private String uconv(byte []bytes, int len) { StringBuilder sb = new StringBuilder(); @@ -61,22 +61,22 @@ public class TestU extends Test { } } else { sb.append(String.format("\\%03o", c)); - c = bytes[i+1] & 0xff; + c = bytes[i+1] & 0xff; sb.append(String.format("\\%03o", c)); } } - + return sb.toString(); } - + protected String repr(byte[]bytes) { return uconv(bytes, ulen(bytes)); } - + protected int length(byte[]bytes) { return ulen(bytes); } - + public void test() { x2s("\000\000", "\000\000", 0, 0); x2s("\000^\000\000", "\000\000", 0, 0); @@ -107,12 +107,12 @@ public class TestU extends Test { x2s("\000.\000\000", "\000a\000\000", 0, 2); ns("\000.\000\000", "\000\000"); x2s("\000.\000.\000\000", "\000a\000b\000\000", 0, 4); - x2s("\000\134\000w\000\000", "\000e\000\000", 0, 2); - ns("\000\134\000W\000\000", "\000e\000\000"); - x2s("\000\134\000s\000\000", "\000 \000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000w\000\000", "\000e\000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) ns("\000\134\000W\000\000", "\000e\000\000"); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000s\000\000", "\000 \000\000", 0, 2); x2s("\000\134\000S\000\000", "\000b\000\000", 0, 2); - x2s("\000\134\000d\000\000", "\0004\000\000", 0, 2); - ns("\000\134\000D\000\000", "\0004\000\000"); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000d\000\000", "\0004\000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) ns("\000\134\000D\000\000", "\0004\000\000"); x2s("\000\134\000b\000\000", "\000z\000 \000\000", 0, 0); x2s("\000\134\000b\000\000", "\000 \000z\000\000", 2, 2); x2s("\000\134\000B\000\000", "\000z\000z\000 \000\000", 2, 2); @@ -128,18 +128,18 @@ public class TestU extends Test { x2s("\000[\000\134\000^\000]\000+\000\000", "\0000\000^\000^\0001\000\000", 2, 6); x2s("\000[\000b\000-\000]\000\000", "\000b\000\000", 0, 2); x2s("\000[\000b\000-\000]\000\000", "\000-\000\000", 0, 2); - x2s("\000[\000\134\000w\000]\000\000", "\000z\000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000[\000\134\000w\000]\000\000", "\000z\000\000", 0, 2); ns("\000[\000\134\000w\000]\000\000", "\000 \000\000"); - x2s("\000[\000\134\000W\000]\000\000", "\000b\000$\000\000", 2, 4); - x2s("\000[\000\134\000d\000]\000\000", "\0005\000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000[\000\134\000W\000]\000\000", "\000b\000$\000\000", 2, 4); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000[\000\134\000d\000]\000\000", "\0005\000\000", 0, 2); ns("\000[\000\134\000d\000]\000\000", "\000e\000\000"); x2s("\000[\000\134\000D\000]\000\000", "\000t\000\000", 0, 2); - ns("\000[\000\134\000D\000]\000\000", "\0003\000\000"); - x2s("\000[\000\134\000s\000]\000\000", "\000 \000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) ns("\000[\000\134\000D\000]\000\000", "\0003\000\000"); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000[\000\134\000s\000]\000\000", "\000 \000\000", 0, 2); ns("\000[\000\134\000s\000]\000\000", "\000a\000\000"); x2s("\000[\000\134\000S\000]\000\000", "\000b\000\000", 0, 2); - ns("\000[\000\134\000S\000]\000\000", "\000 \000\000"); - x2s("\000[\000\134\000w\000\134\000d\000]\000\000", "\0002\000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) ns("\000[\000\134\000S\000]\000\000", "\000 \000\000"); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000[\000\134\000w\000\134\000d\000]\000\000", "\0002\000\000", 0, 2); ns("\000[\000\134\000w\000\134\000d\000]\000\000", "\000 \000\000"); x2s("\000[\000[\000:\000u\000p\000p\000e\000r\000:\000]\000]\000\000", "\000B\000\000", 0, 2); x2s("\000[\000*\000[\000:\000x\000d\000i\000g\000i\000t\000:\000]\000+\000]\000\000", "\000+\000\000", 0, 2); @@ -176,19 +176,19 @@ public class TestU extends Test { ns("\000\134\000w\000a\000b\000c\000\000", "\000 \000a\000b\000c\000\000"); x2s("\000a\000\134\000W\000b\000c\000\000", "\000a\000 \000b\000c\000\000", 0, 8); x2s("\000a\000.\000b\000.\000c\000\000", "\000a\000a\000b\000b\000c\000\000", 0, 10); - x2s("\000.\000\134\000w\000b\000\134\000W\000.\000.\000c\000\000", "\000a\000b\000b\000 \000b\000c\000c\000\000", 0, 14); - x2s("\000\134\000s\000\134\000w\000z\000z\000z\000\000", "\000 \000z\000z\000z\000z\000\000", 0, 10); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000.\000\134\000w\000b\000\134\000W\000.\000.\000c\000\000", "\000a\000b\000b\000 \000b\000c\000c\000\000", 0, 14); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000s\000\134\000w\000z\000z\000z\000\000", "\000 \000z\000z\000z\000z\000\000", 0, 10); x2s("\000a\000a\000.\000b\000\000", "\000a\000a\000b\000b\000\000", 0, 8); ns("\000.\000a\000\000", "\000a\000b\000\000"); x2s("\000.\000a\000\000", "\000a\000a\000\000", 0, 4); x2s("\000^\000a\000\000", "\000a\000\000", 0, 2); x2s("\000^\000a\000$\000\000", "\000a\000\000", 0, 2); - x2s("\000^\000\134\000w\000$\000\000", "\000a\000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000^\000\134\000w\000$\000\000", "\000a\000\000", 0, 2); ns("\000^\000\134\000w\000$\000\000", "\000 \000\000"); - x2s("\000^\000\134\000w\000a\000b\000$\000\000", "\000z\000a\000b\000\000", 0, 6); - x2s("\000^\000\134\000w\000a\000b\000c\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14); - x2s("\000^\000\134\000w\000.\000.\000.\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14); - x2s("\000\134\000w\000\134\000w\000\134\000s\000\134\000W\000a\000a\000a\000\134\000d\000\000", "\000a\000a\000 \000 \000a\000a\000a\0004\000\000", 0, 16); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000^\000\134\000w\000a\000b\000$\000\000", "\000z\000a\000b\000\000", 0, 6); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000^\000\134\000w\000a\000b\000c\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000^\000\134\000w\000.\000.\000.\000d\000e\000f\000$\000\000", "\000z\000a\000b\000c\000d\000e\000f\000\000", 0, 14); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000w\000\134\000w\000\134\000s\000\134\000W\000a\000a\000a\000\134\000d\000\000", "\000a\000a\000 \000 \000a\000a\000a\0004\000\000", 0, 16); x2s("\000\134\000A\000\134\000Z\000\000", "\000\000", 0, 0); x2s("\000\134\000A\000x\000y\000z\000\000", "\000x\000y\000z\000\000", 0, 6); x2s("\000x\000y\000z\000\134\000Z\000\000", "\000x\000y\000z\000\000", 0, 6); @@ -202,8 +202,8 @@ public class TestU extends Test { x2s("\000\134\000^\000\134\000$\000\000", "\000^\000$\000\000", 0, 4); x2s("\000^\000x\000?\000y\000\000", "\000x\000y\000\000", 0, 4); x2s("\000^\000(\000x\000?\000y\000)\000\000", "\000x\000y\000\000", 0, 4); - x2s("\000\134\000w\000\000", "\000_\000\000", 0, 2); - ns("\000\134\000W\000\000", "\000_\000\000"); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000w\000\000", "\000_\000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) ns("\000\134\000W\000\000", "\000_\000\000"); x2s("\000(\000?\000=\000z\000)\000z\000\000", "\000z\000\000", 0, 2); ns("\000(\000?\000=\000z\000)\000.\000\000", "\000a\000\000"); x2s("\000(\000?\000!\000z\000)\000a\000\000", "\000a\000\000", 0, 2); @@ -278,7 +278,7 @@ public class TestU extends Test { x2s("\000a\000|\000b\000\134\000Z\000\000", "\000b\000\000", 0, 2); x2s("\000a\000|\000b\000\134\000z\000\000", "\000b\000a\000\000", 2, 4); x2s("\000a\000|\000b\000\134\000z\000\000", "\000b\000\000", 0, 2); - x2s("\000\134\000w\000|\000\134\000s\000\000", "\000 \000\000", 0, 2); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000w\000|\000\134\000s\000\000", "\000 \000\000", 0, 2); ns("\000\134\000w\000|\000\134\000w\000\000", "\000 \000\000"); x2s("\000\134\000w\000|\000%\000\000", "\000%\000\000", 0, 2); x2s("\000\134\000w\000|\000[\000&\000$\000]\000\000", "\000&\000\000", 0, 2); @@ -360,7 +360,7 @@ public class TestU extends Test { x2s("\000(\000?\000:\000X\000*\000)\000(\000?\000i\000:\000x\000a\000)\000\000", "\000X\000X\000X\000a\000\000", 0, 8); x2s("\000(\000d\000+\000)\000(\000[\000^\000a\000b\000c\000]\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8); x2s("\000(\000[\000^\000a\000b\000c\000]\000*\000)\000(\000[\000^\000a\000b\000c\000]\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8); - x2s("\000(\000\134\000w\000+\000)\000(\000\134\000w\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000(\000\134\000w\000+\000)\000(\000\134\000w\000z\000)\000\000", "\000d\000d\000d\000z\000\000", 0, 8); x3s("\000(\000a\000)\000\000", "\000a\000\000", 0, 2, 1); x3s("\000(\000a\000b\000)\000\000", "\000a\000b\000\000", 0, 4, 1); x2s("\000(\000(\000a\000b\000)\000)\000\000", "\000a\000b\000\000", 0, 4); @@ -423,7 +423,7 @@ public class TestU extends Test { x3s("\000(\000(\000(\000(\000(\000(\000(\000a\000*\000)\000b\000)\000)\000)\000)\000)\000)\000c\000\134\0007\000\000", "\000a\000a\000a\000b\000c\000a\000a\000a\000\000", 0, 6, 7); x2s("\000(\000a\000)\000(\000b\000)\000(\000c\000)\000\134\0002\000\134\0001\000\134\0003\000\000", "\000a\000b\000c\000b\000a\000c\000\000", 0, 12); x2s("\000(\000[\000a\000-\000d\000]\000)\000\134\0001\000\000", "\000c\000c\000\000", 0, 4); - x2s("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "\000f\0005\000 \000f\0005\000 \000\000", 0, 12); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "\000f\0005\000 \000f\0005\000 \000\000", 0, 12); ns("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "\000f\0005\000 \000f\0005\000\000"); x2s("\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000w\000h\000o\000w\000h\000o\000\000", 0, 12); x2s("\000.\000.\000.\000(\000w\000h\000o\000|\000[\000a\000-\000c\000]\000{\0003\000}\000)\000\134\0001\000\000", "\000a\000b\000c\000w\000h\000o\000w\000h\000o\000\000", 0, 18); @@ -435,7 +435,7 @@ public class TestU extends Test { x2s("\000(\000a\000*\000\134\000Z\000)\000\134\0001\000\000", "\000a\000\000", 2, 2); x2s("\000.\000(\000a\000*\000\134\000Z\000)\000\134\0001\000\000", "\000b\000a\000\000", 2, 4); x3s("\000(\000.\000(\000a\000b\000c\000)\000\134\0002\000)\000\000", "\000z\000a\000b\000c\000a\000b\000c\000\000", 0, 14, 1); - x3s("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "\000z\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1); + if (!org.joni.Config.NON_UNICODE_SDW) x3s("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "\000z\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1); x2s("\000(\000(\000?\000i\000:\000a\000z\000)\000)\000\134\0001\000\000", "\000A\000z\000A\000z\000\000", 0, 8); ns("\000(\000(\000?\000i\000:\000a\000z\000)\000)\000\134\0001\000\000", "\000A\000z\000a\000z\000\000"); x2s("\000(\000?\000<\000=\000a\000)\000b\000\000", "\000a\000b\000\000", 2, 4); @@ -459,10 +459,10 @@ public class TestU extends Test { x2s("\000\134\000g\000<\000n\000>\000(\000a\000b\000c\000|\000d\000f\000(\000?\000<\000n\000>\000.\000Y\000Z\000)\000{\0002\000,\0008\000}\000)\000{\0000\000}\000\000", "\000X\000Y\000Z\000\000", 0, 6); x2s("\000\134\000A\000(\000?\000<\000n\000>\000(\000a\000\134\000g\000<\000n\000>\000)\000|\000)\000\134\000z\000\000", "\000a\000a\000a\000a\000\000", 0, 8); x2s("\000(\000?\000<\000n\000>\000|\000\134\000g\000<\000m\000>\000\134\000g\000<\000n\000>\000)\000\134\000z\000|\000\134\000z\000E\000N\000D\000 \000(\000?\000<\000m\000>\000a\000|\000(\000b\000)\000\134\000g\000<\000m\000>\000)\000\000", "\000b\000b\000b\000b\000a\000b\000b\000a\000\000", 0, 16); - x2s("\000(\000?\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\134\000w\000+\000\134\000s\000x\000)\000a\000+\000\134\000k\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\000", "\000 \000 \000f\000g\000 \000x\000a\000a\000a\000a\000a\000a\000a\000a\000f\000g\000 \000x\000\000", 4, 36); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000(\000?\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\134\000w\000+\000\134\000s\000x\000)\000a\000+\000\134\000k\000<\000n\000a\000m\000e\0001\0002\0004\0000\000>\000\000", "\000 \000 \000f\000g\000 \000x\000a\000a\000a\000a\000a\000a\000a\000a\000f\000g\000 \000x\000\000", 4, 36); x3s("\000(\000z\000)\000(\000)\000(\000)\000(\000?\000<\000_\0009\000>\000a\000)\000\134\000g\000<\000_\0009\000>\000\000", "\000z\000a\000a\000\000", 4, 6, 1); x2s("\000(\000.\000)\000(\000(\000(\000?\000<\000_\000>\000a\000)\000)\000)\000\134\000k\000<\000_\000>\000\000", "\000z\000a\000a\000\000", 0, 6); - x2s("\000(\000(\000?\000<\000n\000a\000m\000e\0001\000>\000\134\000d\000)\000|\000(\000?\000<\000n\000a\000m\000e\0002\000>\000\134\000w\000)\000)\000(\000\134\000k\000<\000n\000a\000m\000e\0001\000>\000|\000\134\000k\000<\000n\000a\000m\000e\0002\000>\000)\000\000", "\000f\000f\000\000", 0, 4); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000(\000(\000?\000<\000n\000a\000m\000e\0001\000>\000\134\000d\000)\000|\000(\000?\000<\000n\000a\000m\000e\0002\000>\000\134\000w\000)\000)\000(\000\134\000k\000<\000n\000a\000m\000e\0001\000>\000|\000\134\000k\000<\000n\000a\000m\000e\0002\000>\000)\000\000", "\000f\000f\000\000", 0, 4); x2s("\000(\000?\000:\000(\000?\000<\000x\000>\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000\000", 0, 0); x2s("\000(\000?\000:\000(\000?\000<\000x\000>\000a\000b\000c\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000a\000b\000c\000e\000f\000g\000e\000f\000g\000\000", 6, 18); ns("\000(\000?\000:\000(\000?\000<\000x\000>\000a\000b\000c\000)\000|\000(\000?\000<\000x\000>\000e\000f\000g\000)\000)\000\134\000k\000<\000x\000>\000\000", "\000a\000b\000c\000e\000f\000g\000\000"); @@ -501,7 +501,7 @@ public class TestU extends Test { x2s("\000.\000.\000\000", "0K0M\000\000", 0, 4); x2s("\000\134\000w\000\000", "0J\000\000", 0, 2); ns("\000\134\000W\000\000", "0B\000\000"); - x2s("\000[\000\134\000W\000]\000\000", "0F\000$\000\000", 2, 4); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000[\000\134\000W\000]\000\000", "0F\000$\000\000", 2, 4); x2s("\000\134\000S\000\000", "0]\000\000", 0, 2); x2s("\000\134\000S\000\000", "o\042\000\000", 0, 2); x2s("\000\134\000b\000\000", "l\027\000 \000\000", 0, 0); @@ -514,7 +514,7 @@ public class TestU extends Test { x2s("\000[0F\000-0J\000]\000\000", "0H\000\000", 0, 2); ns("\000[\000^0Q\000]\000\000", "0Q\000\000"); x2s("\000[\000\134\000w\000]\000\000", "0m\000\000", 0, 2); - ns("\000[\000\134\000d\000]\000\000", "0u\000\000"); + if (!org.joni.Config.NON_UNICODE_SDW) ns("\000[\000\134\000d\000]\000\000", "0u\000\000"); x2s("\000[\000\134\000D\000]\000\000", "0o\000\000", 0, 2); ns("\000[\000\134\000s\000]\000\000", "0O\000\000"); x2s("\000[\000\134\000S\000]\000\000", "0x\000\000", 0, 2); @@ -524,16 +524,16 @@ public class TestU extends Test { x2s("\233<\000\134\000W\216\312\000\000", "\233<\000 \216\312\000\000", 0, 6); x2s("0B\000.0D\000.0F\000\000", "0B0B0D0D0F\000\000", 0, 10); x2s("\000.\000\134\000w0F\000\134\000W\000.\000.0^\000\000", "0H0F0F\000 0F0^0^\000\000", 0, 14); - x2s("\000\134\000s\000\134\000w0S0S0S\000\000", "\000 0S0S0S0S\000\000", 0, 10); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000s\000\134\000w0S0S0S\000\000", "\000 0S0S0S0S\000\000", 0, 10); x2s("0B0B\000.0Q\000\000", "0B0B0Q0Q\000\000", 0, 8); ns("\000.0D\000\000", "0D0H\000\000"); x2s("\000.0J\000\000", "0J0J\000\000", 0, 4); x2s("\000^0B\000\000", "0B\000\000", 0, 2); x2s("\000^0\200\000$\000\000", "0\200\000\000", 0, 2); x2s("\000^\000\134\000w\000$\000\000", "0k\000\000", 0, 2); - x2s("\000^\000\134\000w0K0M0O0Q0S\000$\000\000", "\000z0K0M0O0Q0S\000\000", 0, 12); - x2s("\000^\000\134\000w\000.\000.\000.0F0H0J\000$\000\000", "\000z0B0D0F0F0H0J\000\000", 0, 14); - x2s("\000\134\000w\000\134\000w\000\134\000s\000\134\000W0J0J0J\000\134\000d\000\000", "\000a0J\000 \000 0J0J0J\0004\000\000", 0, 16); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000^\000\134\000w0K0M0O0Q0S\000$\000\000", "\000z0K0M0O0Q0S\000\000", 0, 12); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000^\000\134\000w\000.\000.\000.0F0H0J\000$\000\000", "\000z0B0D0F0F0H0J\000\000", 0, 14); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000\134\000w\000\134\000w\000\134\000s\000\134\000W0J0J0J\000\134\000d\000\000", "\000a0J\000 \000 0J0J0J\0004\000\000", 0, 16); x2s("\000\134\000A0_0a0d\000\000", "0_0a0d\000\000", 0, 6); x2s("0\2000\2010\202\000\134\000Z\000\000", "0\2000\2010\202\000\000", 0, 6); x2s("0K0M0O\000\134\000z\000\000", "0K0M0O\000\000", 0, 6); @@ -722,7 +722,7 @@ public class TestU extends Test { x3s("\000(\000(\000(\000(\000(\000(\000(0}\000*\000)0z\000)\000)\000)\000)\000)\000)0t\000\134\0007\000\000", "0}0}0}0z0t0}0}0}\000\000", 0, 6, 7); x2s("\000(0o\000)\000(0r\000)\000(0u\000)\000\134\0002\000\134\0001\000\134\0003\000\000", "0o0r0u0r0o0u\000\000", 0, 12); x2s("\000(\000[0M\000-0Q\000]\000)\000\134\0001\000\000", "0O0O\000\000", 0, 4); - x2s("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "0B\0005\000 0B\0005\000 \000\000", 0, 12); + if (!org.joni.Config.NON_UNICODE_SDW) x2s("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "0B\0005\000 0B\0005\000 \000\000", 0, 12); ns("\000(\000\134\000w\000\134\000d\000\134\000s\000)\000\134\0001\000\000", "0B\0005\000 0B\0005\000\000"); x2s("\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "\212\260\377\037\212\260\377\037\000\000", 0, 8); x2s("\000.\000.\000.\000(\212\260\377\037\000|\000[0B\000-0F\000]\000{\0003\000}\000)\000\134\0001\000\000", "0B\000a0B\212\260\377\037\212\260\377\037\000\000", 0, 14); @@ -734,7 +734,7 @@ public class TestU extends Test { x2s("\000(0B\000*\000\134\000Z\000)\000\134\0001\000\000", "0B\000\000", 2, 2); x2s("\000.\000(0B\000*\000\134\000Z\000)\000\134\0001\000\000", "0D0B\000\000", 2, 4); x3s("\000(\000.\000(0\2040D0\206\000)\000\134\0002\000)\000\000", "\000z0\2040D0\2060\2040D0\206\000\000", 0, 14, 1); - x3s("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "0B\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1); + if (!org.joni.Config.NON_UNICODE_SDW) x3s("\000(\000.\000(\000.\000.\000\134\000d\000.\000)\000\134\0002\000)\000\000", "0B\0001\0002\0003\0004\0001\0002\0003\0004\000\000", 0, 18, 1); x2s("\000(\000(\000?\000i\000:0B\000v0Z\000)\000)\000\134\0001\000\000", "0B\000v0Z0B\000v0Z\000\000", 0, 12); x2s("\000(\000?\000<a\0320K\000>Y\011\000|\000\134\000(\000\134\000g\000<a\0320K\000>\000\134\000)\000)\000\000", "\000(\000(\000(\000(\000(\000(Y\011\000)\000)\000)\000)\000)\000)\000\000", 0, 26); x2s("\000\134\000A\000(\000?\000:\000\134\000g\000<\226?\000_\0001\000>\000|\000\134\000g\000<N\221\000_\0002\000>\000|\000\134\000z}BN\206\000 \000 \000(\000?\000<\226?\000_\0001\000>\211\263\000|\201\352\000\134\000g\000<N\221\000_\0002\000>\201\352\000)\000(\000?\000<N\221\000_\0002\000>W(\000|\203\351\205\251\000\134\000g\000<\226?\000_\0001\000>\203\351\205\251\000)\000)\000$\000\000", "\203\351\205\251\201\352\203\351\205\251\201\352W(\201\352\203\351\205\251\201\352\203\35 [...] @@ -763,7 +763,7 @@ public class TestU extends Test { x2s("\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000\134\000/\000b\000>\000\000", "\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000/\000b\000>\000\000", 0, 40); x2s("\000.\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000\134\000/\000b\000>\000\000", "\000a\000<\000b\000>0\3200\3740\2700\3470\3630n0\3000\2460\3630\3550\3740\311\000<\000/\000b\000>\000\000", 0, 40); } - + public static void main(String[] args) throws Throwable { new TestU().run(); } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

