summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoshua Haberman <joshua@reverberate.org>2010-07-10 13:28:47 -0700
committerJoshua Haberman <joshua@reverberate.org>2010-07-10 13:28:47 -0700
commit2ef013126c682a44d15554ea7a04144fc9a10fed (patch)
treec7657b6749518d5374069755fc2f44380b2d3a2e /tests
parente29bf964d1716398e8354a50f506906a307298e5 (diff)
Fleshed out upb_string further. Now upb_def's only
unresolved references are upb_src.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_string.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/tests/test_string.c b/tests/test_string.c
index 4fdab6c..5e6e2a9 100644
--- a/tests/test_string.c
+++ b/tests/test_string.c
@@ -17,7 +17,7 @@ int main() {
assert(upb_string_len(str) == (sizeof(static_str) - 1));
const char *robuf = upb_string_getrobuf(str);
assert(robuf != NULL);
- assert(memcmp(robuf, static_str, upb_string_len(str)) == 0);
+ assert(upb_streqlc(str, static_str));
upb_string_endread(str);
upb_string *str2 = upb_string_tryrecycle(str);
@@ -28,7 +28,7 @@ int main() {
upb_strcpyc(str, "XX");
const char *robuf2 = upb_string_getrobuf(str);
assert(robuf2 == robuf);
- assert(memcmp(robuf2, "XX", 2) == 0);
+ assert(upb_streqlc(str, "XX"));
// Make string alias part of another string.
str2 = upb_strdupc("WXYZ");
@@ -51,6 +51,19 @@ int main() {
const char *robuf5 = upb_string_getrobuf(str);
assert(robuf5 == robuf);
+ // Resetting str to something very long should require new data to be
+ // allocated.
+ str = upb_string_tryrecycle(str);
+ const char longstring[] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
+ upb_strcpyc(str, longstring);
+ const char *robuf6 = upb_string_getrobuf(str);
+ assert(robuf6 != robuf);
+ assert(upb_streqlc(str, longstring));
+
+ // Test printf.
+ str = upb_string_tryrecycle(str);
+ upb_string_printf(str, "Number: %d, String: %s", 5, "YO!");
+
upb_string_unref(str);
upb_string_unref(str2);
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback