summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJoshua Haberman <joshua@reverberate.org>2010-07-10 19:37:47 -0700
committerJoshua Haberman <joshua@reverberate.org>2010-07-10 19:37:47 -0700
commitae0beee2854b977f472d48cd149b880b074b59c5 (patch)
tree9bbe3aedd782059a7c4ebdeb4957d27dbbbbd7ef /tests
parentdb6c7387bc1df49deac41155a173e33017a75ed8 (diff)
Fixed upb_string error with strange vsnprintf() behavior.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_string.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/test_string.c b/tests/test_string.c
index 5869b70..46f35b9 100644
--- a/tests/test_string.c
+++ b/tests/test_string.c
@@ -32,6 +32,7 @@ int main() {
// Make string alias part of another string.
str2 = upb_strdupc("WXYZ");
+ str = upb_string_tryrecycle(str);
upb_string_substr(str, str2, 1, 2);
assert(upb_string_len(str) == 2);
assert(upb_string_len(str2) == 4);
@@ -63,9 +64,17 @@ int main() {
// Test printf.
str = upb_string_tryrecycle(str);
upb_string_printf(str, "Number: %d, String: %s", 5, "YO!");
+ assert(upb_streqlc(str, "Number: 5, String: YO!"));
+
+ // Test asprintf
+ upb_string *str3 = upb_string_asprintf("Yo %s: " UPB_STRFMT "\n",
+ "Josh", UPB_STRARG(str));
+ const char expected[] = "Yo Josh: Number: 5, String: YO!\n";
+ assert(upb_streqlc(str3, expected));
upb_string_unref(str);
upb_string_unref(str2);
+ upb_string_unref(str3);
// Unref of NULL is harmless.
upb_string_unref(NULL);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback