Index: tests/GrGLSLPrettyPrintTest.cpp |
diff --git a/tests/GrGLSLPrettyPrintTest.cpp b/tests/GrGLSLPrettyPrintTest.cpp |
index 9977488d58f759a9f7b2c5f925d784fe81b8d278..827a27b4c519db2052d912a8cc9754bd34dda6df 100644 |
--- a/tests/GrGLSLPrettyPrintTest.cpp |
+++ b/tests/GrGLSLPrettyPrintTest.cpp |
@@ -13,12 +13,16 @@ |
const SkString input1("#this is not a realshader\nvec4 some stuff;outside of a function;" |
"int i(int b, int c) { { some stuff;} fake block; //comments\n return i;}" |
- "void main()" |
- "{nowin a function;{indenting;{abit more;dreadedfor((;;)(;)((;;);)){doingstuff" |
+ "void main()"); |
+const SkString input2("{nowin a function;{indenting;{abit more;dreadedfor((;;)(;)((;;);)){" |
+ "doingstuff" |
";for(;;;){and more stufff;mixed garbage\n\n\t\t\t\t\n/*using this" |
- " comment\n is" |
- " dangerous\ndo so at your own\n risk*/;\n\n\t\t\t\n" |
- "//a comment\n}}a; little ; love; for ; leading; spaces;} " |
+ " comment\n is"); |
+const SkString input3(" dangerous\ndo so at your own\n risk*/;\n\n\t\t\t\n" |
+ "//a comment"); |
+const SkString input4("breaking in comment"); |
+const SkString input5("continuing the comment"); |
+const SkString input6("\n}}a; little ; love; for ; leading; spaces;} " |
"an struct = { int a; int b; };" |
"int[5] arr = int[5](1,2,3,4,5);} some code at the bottom; for(;;) {} }"); |
@@ -52,7 +56,7 @@ const SkString output1( |
" 27\t\t\t\t\t\t is dangerous\n" |
" 28\t\t\t\t\t\tdo so at your own\n" |
" 29\t\t\t\t\t\t risk*/;\n" |
- " 30\t\t\t\t\t\t//a comment\n" |
+ " 30\t\t\t\t\t\t//a commentbreaking in commentcontinuing the comment\n" |
" 31\t\t\t\t\t}\n" |
" 32\t\t\t\t}\n" |
" 33\t\t\t\ta;\n" |
@@ -77,16 +81,43 @@ const SkString output1( |
" 52\t}\n" |
" 53\t"); |
-const SkString input2("{;;{{{{;;;{{{{{{{{{{{###\n##\n#####(((((((((((((unbalanced verything;;;" |
- "}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" |
+const SkString neg1("{;;{{{{;;;{{{{{{{{{{{"); |
+const SkString neg2("###\n##\n#####(((((((((((((unbalanced verything;;;"); |
+const SkString neg3("}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" |
";;;;;;/////"); |
DEF_TEST(GrGLSLPrettyPrint, r) { |
- SkString test = GrGLSLPrettyPrint::PrettyPrintGLSL(input1, true); |
+ SkTArray<const char*> testStr; |
+ SkTArray<int> lengths; |
+ testStr.push_back(input1.c_str()); |
+ lengths.push_back((int)input1.size()); |
+ testStr.push_back(input2.c_str()); |
+ lengths.push_back((int)input2.size()); |
+ testStr.push_back(input3.c_str()); |
+ lengths.push_back((int)input3.size()); |
+ testStr.push_back(input4.c_str()); |
+ lengths.push_back((int)input4.size()); |
+ testStr.push_back(input5.c_str()); |
+ lengths.push_back((int)input5.size()); |
+ testStr.push_back(input6.c_str()); |
+ lengths.push_back((int)input6.size()); |
+ |
+ SkString test = GrGLSLPrettyPrint::PrettyPrintGLSL(testStr.begin(), lengths.begin(), |
+ testStr.count(), true); |
ASSERT(output1 == test); |
+ testStr.reset(); |
+ lengths.reset(); |
+ testStr.push_back(neg1.c_str()); |
+ lengths.push_back((int)neg1.size()); |
+ testStr.push_back(neg2.c_str()); |
+ lengths.push_back((int)neg2.size()); |
+ testStr.push_back(neg3.c_str()); |
+ lengths.push_back((int)neg3.size()); |
+ |
// Just test we don't crash with garbage input |
- ASSERT(GrGLSLPrettyPrint::PrettyPrintGLSL(input2, true).c_str() != NULL); |
+ ASSERT(GrGLSLPrettyPrint::PrettyPrintGLSL(testStr.begin(), lengths.begin(), 1, |
+ true).c_str() != NULL); |
} |
#endif |