+// Copyright (C) 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
* Copyright (C) 2010-2014, International Business Machines
void TestTruncatingIteratorFromLinearMatchShort();
void TestTruncatingIteratorFromLinearMatchLong();
void TestIteratorFromBytes();
+ void TestFailedIterator();
void checkData(const StringAndValue data[], int32_t dataLength);
void checkData(const StringAndValue data[], int32_t dataLength, UStringTrieBuildOption buildOption);
TESTCASE_AUTO(TestTruncatingIteratorFromLinearMatchShort);
TESTCASE_AUTO(TestTruncatingIteratorFromLinearMatchLong);
TESTCASE_AUTO(TestIteratorFromBytes);
+ TESTCASE_AUTO(TestFailedIterator);
TESTCASE_AUTO_END;
}
checkIterator(iter, data, UPRV_LENGTHOF(data));
}
+void BytesTrieTest::TestFailedIterator() {
+ UErrorCode failure = U_ILLEGAL_ARGUMENT_ERROR;
+ BytesTrie::Iterator iter(NULL, 0, failure);
+ StringPiece sp = iter.getString();
+ if (!sp.empty()) {
+ errln("failed iterator returned garbage data");
+ }
+}
+
void BytesTrieTest::checkData(const StringAndValue data[], int32_t dataLength) {
logln("checkData(dataLength=%d, fast)", (int)dataLength);
checkData(data, dataLength, USTRINGTRIE_BUILD_FAST);