diff options
author | Havoc Pennington <hp@pobox.com> | 2000-02-17 11:57:35 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2000-02-17 11:57:35 +0000 |
commit | cf24ff7121c1567c6831b8752f7ae02cb15d6e00 (patch) | |
tree | e41f34b7169305cc1422da6a14c1e5eb7d8b8bf3 /tests | |
parent | b97261860c01d1840ae0270b54eb421a9a62a716 (diff) | |
download | glib-cf24ff7121c1567c6831b8752f7ae02cb15d6e00.tar.gz |
changed g_str_hash() to a 31 bit version based on a submission by Karl
Thu Feb 17 12:53:44 2000 Tim Janik <timj@gtk.org>
* gstring.c: changed g_str_hash() to a 31 bit version based on
a submission by Karl Nelson and hand optimized ad absurdum by
various people ;)
* gstring.c: applied patch from havoc for new gstring functions,
added some more sanity checks, coding style fixups.
2000-02-13 Havoc Pennington <hp@pobox.com>
* tests/string-test.c (main): Add tests for the new GString
features
* testglib.c (main): Add tests for the new GString features
* gstring.c (g_string_insert_len): New function; insert
a given length of string at a given position.
(g_string_append): reimplement in terms of g_string_insert_len
(g_string_append_len): new function
(g_string_insert_c): accept -1 for "pos" arg to mean "append"
(g_string_append_c): reimplement in terms of g_string_insert_c
(g_string_prepend): reimplement in terms of g_string_insert_len
(g_string_prepend_len): new function
(g_string_prepend_c): reimplement in terms of g_string_insert_c
(g_string_insert): reimplement in terms of g_string_insert_len
* glib.h: Declare g_string_insert_len, g_string_append_len,
g_string_prepend_len
Diffstat (limited to 'tests')
-rw-r--r-- | tests/string-test.c | 59 | ||||
-rw-r--r-- | tests/testglib.c | 59 |
2 files changed, 118 insertions, 0 deletions
diff --git a/tests/string-test.c b/tests/string-test.c index 4502f9734..539b904b5 100644 --- a/tests/string-test.c +++ b/tests/string-test.c @@ -120,6 +120,65 @@ main (int argc, string1->str, 10, 666, 15, 15, 666.666666666, 666.666666666); #endif + + g_string_free (string1, TRUE); + g_string_free (string2, TRUE); + + /* append */ + string1 = g_string_new ("firsthalf"); + g_string_append (string1, "lasthalf"); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* append_len */ + + string1 = g_string_new ("firsthalf"); + g_string_append_len (string1, "lasthalfjunkjunk", strlen ("lasthalf")); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* prepend */ + string1 = g_string_new ("lasthalf"); + g_string_prepend (string1, "firsthalf"); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* prepend_len */ + string1 = g_string_new ("lasthalf"); + g_string_prepend_len (string1, "firsthalfjunkjunk", strlen ("firsthalf")); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* insert */ + string1 = g_string_new ("firstlast"); + g_string_insert (string1, 5, "middle"); + g_assert (strcmp (string1->str, "firstmiddlelast") == 0); + g_string_free (string1, TRUE); + + /* insert with pos == end of the string */ + string1 = g_string_new ("firstmiddle"); + g_string_insert (string1, strlen ("firstmiddle"), "last"); + g_assert (strcmp (string1->str, "firstmiddlelast") == 0); + g_string_free (string1, TRUE); + + /* insert_len */ + + string1 = g_string_new ("firstlast"); + g_string_insert_len (string1, 5, "middlejunkjunk", strlen ("middle")); + g_assert (strcmp (string1->str, "firstmiddlelast") == 0); + g_string_free (string1, TRUE); + + /* insert_len with magic -1 pos for append */ + string1 = g_string_new ("first"); + g_string_insert_len (string1, -1, "lastjunkjunk", strlen ("last")); + g_assert (strcmp (string1->str, "firstlast") == 0); + g_string_free (string1, TRUE); + + /* insert_len with magic -1 len for strlen-the-string */ + string1 = g_string_new ("first"); + g_string_insert_len (string1, 5, "last", -1); + g_assert (strcmp (string1->str, "firstlast") == 0); + g_string_free (string1, TRUE); return 0; } diff --git a/tests/testglib.c b/tests/testglib.c index 868fe4ffe..1d1497153 100644 --- a/tests/testglib.c +++ b/tests/testglib.c @@ -726,6 +726,65 @@ main (int argc, g_print ("and next 70:\n%s\n", string2->str+142); g_print ("last 70 chars:\n%s\n", string2->str+string2->len - 70); + g_string_free (string1, TRUE); + g_string_free (string2, TRUE); + + /* append */ + string1 = g_string_new ("firsthalf"); + g_string_append (string1, "lasthalf"); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* append_len */ + + string1 = g_string_new ("firsthalf"); + g_string_append_len (string1, "lasthalfjunkjunk", strlen ("lasthalf")); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* prepend */ + string1 = g_string_new ("lasthalf"); + g_string_prepend (string1, "firsthalf"); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* prepend_len */ + string1 = g_string_new ("lasthalf"); + g_string_prepend_len (string1, "firsthalfjunkjunk", strlen ("firsthalf")); + g_assert (strcmp (string1->str, "firsthalflasthalf") == 0); + g_string_free (string1, TRUE); + + /* insert */ + string1 = g_string_new ("firstlast"); + g_string_insert (string1, 5, "middle"); + g_assert (strcmp (string1->str, "firstmiddlelast") == 0); + g_string_free (string1, TRUE); + + /* insert with pos == end of the string */ + string1 = g_string_new ("firstmiddle"); + g_string_insert (string1, strlen ("firstmiddle"), "last"); + g_assert (strcmp (string1->str, "firstmiddlelast") == 0); + g_string_free (string1, TRUE); + + /* insert_len */ + + string1 = g_string_new ("firstlast"); + g_string_insert_len (string1, 5, "middlejunkjunk", strlen ("middle")); + g_assert (strcmp (string1->str, "firstmiddlelast") == 0); + g_string_free (string1, TRUE); + + /* insert_len with magic -1 pos for append */ + string1 = g_string_new ("first"); + g_string_insert_len (string1, -1, "lastjunkjunk", strlen ("last")); + g_assert (strcmp (string1->str, "firstlast") == 0); + g_string_free (string1, TRUE); + + /* insert_len with magic -1 len for strlen-the-string */ + string1 = g_string_new ("first"); + g_string_insert_len (string1, 5, "last", -1); + g_assert (strcmp (string1->str, "firstlast") == 0); + g_string_free (string1, TRUE); + g_print ("ok\n"); g_print ("checking timers...\n"); |