mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-15 01:42:37 +00:00
ICU-7592 Update the conversion data driven test cases and test code to handle new configuration for skipping test in ICU4J.
X-SVN-Rev: 28029
This commit is contained in:
parent
ab0a766468
commit
c126788bab
2 changed files with 15 additions and 12 deletions
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Copyright (C) 2003-2009, International Business Machines
|
||||
* Copyright (C) 2003-2010, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
*
|
||||
*******************************************************************************
|
||||
|
@ -655,6 +655,8 @@ ConversionTest::cnv_open(const char *name, UErrorCode &errorCode) {
|
|||
if(name!=NULL && *name=='*') {
|
||||
/* loadTestData(): set the data directory */
|
||||
return ucnv_openPackage(loadTestData(errorCode), name+1, &errorCode);
|
||||
} else if(name!=NULL && *name=='+') {
|
||||
return ucnv_open((name+1), &errorCode);
|
||||
} else {
|
||||
return ucnv_open(name, &errorCode);
|
||||
}
|
||||
|
|
23
icu4c/source/test/testdata/conversion.txt
vendored
23
icu4c/source/test/testdata/conversion.txt
vendored
|
@ -23,6 +23,7 @@ conversion:table(nofallback) {
|
|||
"Run intltest conversion\n"
|
||||
|
||||
"Charset names starting with '*' are for testdata names.\n"
|
||||
"Charset names starting with '+' are for charsets current not supported in ICU4J.\n"
|
||||
|
||||
"ICU callbacks are specified as strings with pairs of characters, each optional.\n"
|
||||
"Callback function - '?'=Sub '0'=Skip '.'=Stop '&'=Escape\n"
|
||||
|
@ -55,25 +56,25 @@ conversion:table(nofallback) {
|
|||
{ "UTF-16", :bin{ feff0061 }, "a", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UTF-16", :bin{ fffe0061 }, "\u6100", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
// Java "Unicode" requires a BOM
|
||||
{ "UTF-16,version=1", :bin{ 00610062 }, "\\x00\\x61b", :intvector{ 0,0,0,0,0,0,0,0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UTF-16,version=1", :bin{ feff0061 }, "a", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UTF-16,version=1", :bin{ fffe0061 }, "\u6100", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UTF-16,version=1", :bin{ 00610062 }, "\\x00\\x61b", :intvector{ 0,0,0,0,0,0,0,0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UTF-16,version=1", :bin{ feff0061 }, "a", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UTF-16,version=1", :bin{ fffe0061 }, "\u6100", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
// Standard UTF-16BE
|
||||
{ "UTF-16BE", :bin{ 00610062 }, "ab", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UTF-16BE", :bin{ feff0061 }, "\ufeffa", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UTF-16BE", :bin{ fffe0061 }, "\ufffea", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
// Java "UnicodeBig" requires a BE BOM or no BOM; it consumes the BE BOM
|
||||
{ "UTF-16BE,version=1", :bin{ 00610062 }, "ab", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UnicodeBig", :bin{ feff0061 }, "a", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UnicodeBig", :bin{ fffe0061 }, "\\xFF\\xFEa", :intvector{ 0,0,0,0,0,0,0,0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UTF-16BE,version=1", :bin{ 00610062 }, "ab", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UnicodeBig", :bin{ feff0061 }, "a", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UnicodeBig", :bin{ fffe0061 }, "\\xFF\\xFEa", :intvector{ 0,0,0,0,0,0,0,0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
// Standard UTF-16LE
|
||||
{ "UTF-16LE", :bin{ 61006200 }, "ab", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UTF-16LE", :bin{ fffe6100 }, "\ufeffa", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UTF-16LE", :bin{ feff6100 }, "\ufffea", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
// Java "UnicodeLittle" requires an LE BOM or no BOM; it consumes the LE BOM
|
||||
{ "UTF-16LE,version=1", :bin{ 61006200 }, "ab", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "UnicodeLittle", :bin{ fffe6100 }, "a", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "x-UTF-16LE-BOM", :bin{ feff6100 }, "\\xFE\\xFFa", :intvector{ 0,0,0,0,0,0,0,0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UTF-16LE,version=1", :bin{ 61006200 }, "ab", :intvector{ 0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+UnicodeLittle", :bin{ fffe6100 }, "a", :intvector{ 2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
{ "+x-UTF-16LE-BOM", :bin{ feff6100 }, "\\xFE\\xFFa", :intvector{ 0,0,0,0,0,0,0,0,2 }, :int{1}, :int{0}, "", "&C", :bin{""} }
|
||||
|
||||
// Test ticket 5691: consistent illegal sequences
|
||||
// The following test cases are for illegal character byte sequences.
|
||||
|
@ -965,11 +966,11 @@ conversion:table(nofallback) {
|
|||
// Standard UTF-16BE
|
||||
{ "UTF-16BE", "a", :bin{ 0061 }, :intvector{ 0,0 }, :int{1}, :int{0}, "", "?", "" }
|
||||
// Java "UnicodeBig" writes a BOM
|
||||
{ "UnicodeBig", "a", :bin{ feff0061 }, :intvector{ -1,-1,0,0 }, :int{1}, :int{0}, "", "?", "" }
|
||||
{ "+UnicodeBig", "a", :bin{ feff0061 }, :intvector{ -1,-1,0,0 }, :int{1}, :int{0}, "", "?", "" }
|
||||
// Standard UTF-16LE
|
||||
{ "UTF-16LE", "a", :bin{ 6100 }, :intvector{ 0,0 }, :int{1}, :int{0}, "", "?", "" }
|
||||
// Java "UnicodeLittle" writes a BOM
|
||||
{ "UnicodeLittle", "a", :bin{ fffe6100 }, :intvector{ -1,-1,0,0 }, :int{1}, :int{0}, "", "?", "" }
|
||||
{ "+UnicodeLittle", "a", :bin{ fffe6100 }, :intvector{ -1,-1,0,0 }, :int{1}, :int{0}, "", "?", "" }
|
||||
|
||||
// Test bug 6071 (1:2 Unicode:charset SBCS mapping).
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue