tests: Fix truncation test

data/truncation.xml was corrupted at some point and was not actually valid.
Fix the file and make the test fail if we can't parse truncation.xml at all.
This commit is contained in:
Arseny Kapoulkine 2015-03-13 22:13:10 -07:00
parent 15fba1debc
commit 51da129b50
2 changed files with 11 additions and 11 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE é_+å + SYSTEM "weekly-utf-8.dtd"> <!DOCTYPE 週報 SYSTEM "weekly-utf-8.dtd">
<!-- é_+å +ã'÷ã__ã_-ã_< --> <!-- 週報サンプル -->
<mesh name="mesh_root"> <mesh name="mesh_root">
<!-- here is a mesh node --> <!-- here is a mesh node -->
some text some text
@ -8,12 +8,12 @@
some more text some more text
<node attr1="value1" attr2="value2" /> <node attr1="value1" attr2="value2" />
<node attr1="value2"> <node attr1="value2">
+%è¯- å__å--="name" ä>·å__="value">ä¸-ç_æ_%å__å¤_è¯-è¨_ð¤-¢</æ+%è¯-> <汉语 名字="name" 价值="value">世界有很多语言𤭢</汉语>
<innernode/> <innernode/>
</node> </node>
<æ°_å__> <氏名>
<æ°_>å++ç"°</æ°_> <>山田</氏>
<å__>太é__</å__> <>太郎</名>
</æ°_å__> </氏名>
<?include somedata?> <?include somedata?>
</mesh> </mesh>

View File

@ -1010,7 +1010,7 @@ TEST(document_progressive_truncation)
char* buffer = new char[original_size]; char* buffer = new char[original_size];
for (size_t i = 1; i < original_size; ++i) for (size_t i = 1; i <= original_size; ++i)
{ {
char* truncated_data = buffer + original_size - i; char* truncated_data = buffer + original_size - i;
@ -1022,7 +1022,7 @@ TEST(document_progressive_truncation)
bool result = doc.load_buffer_inplace(truncated_data, i); bool result = doc.load_buffer_inplace(truncated_data, i);
// only eof is parseable // only eof is parseable
CHECK((i >= 3325) ? result : !result); CHECK((i == original_size) ? result : !result);
} }
// fragment mode // fragment mode
@ -1033,7 +1033,7 @@ TEST(document_progressive_truncation)
bool result = doc.load_buffer_inplace(truncated_data, i, parse_default | parse_fragment); bool result = doc.load_buffer_inplace(truncated_data, i, parse_default | parse_fragment);
// some truncate locations are parseable - those that come after declaration, declaration + doctype, declaration + doctype + comment and eof // some truncate locations are parseable - those that come after declaration, declaration + doctype, declaration + doctype + comment and eof
CHECK(((i - 21) < 3 || (i - 66) < 3 || (i - 95) < 3 || i >= 3325) ? result : !result); CHECK(((i - 21) < 3 || (i - 66) < 3 || (i - 95) < 3 || i == original_size) ? result : !result);
} }
} }