ICU-871 fixed ignorable skipping bug
X-SVN-Rev: 13696
This commit is contained in:
parent
7b219d0761
commit
533bb04fe4
@ -1876,4 +1876,30 @@ public class CollationMiscTest extends TestFmwk{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Test3249()
|
||||||
|
{
|
||||||
|
String rule = "&x < a &z < a";
|
||||||
|
try {
|
||||||
|
RuleBasedCollator coll = new RuleBasedCollator(rule);
|
||||||
|
} catch (Exception e) {
|
||||||
|
errln("Error creating RuleBasedCollator with " + rule + " failed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TestTibetanConformance()
|
||||||
|
{
|
||||||
|
String test[] = {"\u0FB2\u0591\u0F71\u0061", "\u0FB2\u0F71\u0061"};
|
||||||
|
try {
|
||||||
|
Collator coll = Collator.getInstance();
|
||||||
|
coll.setDecomposition(Collator.CANONICAL_DECOMPOSITION);
|
||||||
|
if (coll.compare(test[0], test[1]) != 0) {
|
||||||
|
errln("Tibetan comparison error");
|
||||||
|
}
|
||||||
|
CollationTest.doTest(this, (RuleBasedCollator)coll,
|
||||||
|
test[0], test[1], 0);
|
||||||
|
} catch (Exception e) {
|
||||||
|
errln("Error creating UCA collator");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -1835,6 +1835,15 @@ public final class CollationElementIterator
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (collator.m_contractionCE_[entryoffset] != CE_NOT_FOUND_
|
||||||
|
&& !wasIgnorable) {
|
||||||
|
// there are further contractions to be performed, so we store
|
||||||
|
// the so-far completed ce, so that if we fail in the next
|
||||||
|
// round we just return this one.
|
||||||
|
entryce = collator.m_contractionCE_[entryoffset];
|
||||||
|
backupInternalState(m_utilSpecialBackUp_);
|
||||||
|
}
|
||||||
|
|
||||||
// get the discontiguos maximum combining class
|
// get the discontiguos maximum combining class
|
||||||
byte maxCC = (byte)(collator.m_contractionIndex_[offset] & 0xFF);
|
byte maxCC = (byte)(collator.m_contractionIndex_[offset] & 0xFF);
|
||||||
@ -1941,6 +1950,7 @@ public final class CollationElementIterator
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ccontinue looping to check for the remaining contraction.
|
// ccontinue looping to check for the remaining contraction.
|
||||||
|
/***
|
||||||
if (collator.m_contractionCE_[entryoffset] != CE_NOT_FOUND_) {
|
if (collator.m_contractionCE_[entryoffset] != CE_NOT_FOUND_) {
|
||||||
// there are further contractions to be performed, so we store
|
// there are further contractions to be performed, so we store
|
||||||
// the so-far completed ce, so that if we fail in the next
|
// the so-far completed ce, so that if we fail in the next
|
||||||
@ -1954,6 +1964,7 @@ public final class CollationElementIterator
|
|||||||
m_utilSpecialBackUp_.m_offset_ --;
|
m_utilSpecialBackUp_.m_offset_ --;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
***/
|
||||||
}
|
}
|
||||||
return ce;
|
return ce;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user