[PDF] Fix name objects containing characters > 0x80 and add a test.
This fixes chrome bug http://crbug.com/115258
Review URL: https://codereview.appspot.com/5726048
git-svn-id: http://skia.googlecode.com/svn/trunk@3319 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/PDFPrimitivesTest.cpp b/tests/PDFPrimitivesTest.cpp
index 82686ef..1aed3ad 100644
--- a/tests/PDFPrimitivesTest.cpp
+++ b/tests/PDFPrimitivesTest.cpp
@@ -275,6 +275,14 @@
CheckObjectOutput(reporter, name.get(), expectedResult,
strlen(expectedResult), false, false);
+ // Test that we correctly handle characters with the high-bit set.
+ char highBitCString[] = {0xDE, 0xAD, 'b', 'e', 0xEF, 0};
+ SkRefPtr<SkPDFName> highBitName = new SkPDFName(highBitCString);
+ name->unref(); // SkRefPtr and new both took a reference.
+ const char highBitExpectedResult[] = "/#DE#ADbe#EF";
+ CheckObjectOutput(reporter, highBitName.get(), highBitExpectedResult,
+ strlen(highBitExpectedResult), false, false);
+
SkRefPtr<SkPDFArray> array = new SkPDFArray;
array->unref(); // SkRefPtr and new both took a reference.
SimpleCheckObjectOutput(reporter, array.get(), "[]");