diff options
author | peter <peter@FreeBSD.org> | 2013-07-28 06:02:40 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2013-07-28 06:02:40 +0000 |
commit | 0aadc82afbae4dbc41da86cd4f9b2ceb8ddcb17d (patch) | |
tree | 6a96e078c28ea05d418b4e2722bc03b0b930a78b /contrib/apr-util/test/testbuckets.c | |
parent | 7594fa5c70305cda65deedc5cc7e08dc037727cd (diff) | |
parent | b910f82d487cf989800adbd1a65b3a7f71b46277 (diff) | |
download | FreeBSD-src-0aadc82afbae4dbc41da86cd4f9b2ceb8ddcb17d.zip FreeBSD-src-0aadc82afbae4dbc41da86cd4f9b2ceb8ddcb17d.tar.gz |
Update subversion-1.8.0 -> 1.8.1. Update supporting
components: apr-1.4.6 -> 1.4.8 and apr-util-1.4.1 -> 1.5.2.
This is a post point-zero bug-fix / fix-sharp-edges release, including
some workarounds for UTF-8 for people who haven't yet turned on WITH_ICONV.
Diffstat (limited to 'contrib/apr-util/test/testbuckets.c')
-rw-r--r-- | contrib/apr-util/test/testbuckets.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/contrib/apr-util/test/testbuckets.c b/contrib/apr-util/test/testbuckets.c index 807b2a5..3d0d46d 100644 --- a/contrib/apr-util/test/testbuckets.c +++ b/contrib/apr-util/test/testbuckets.c @@ -469,6 +469,48 @@ static void test_partition(abts_case *tc, void *data) apr_bucket_alloc_destroy(ba); } +static void test_write_split(abts_case *tc, void *data) +{ + apr_bucket_alloc_t *ba = apr_bucket_alloc_create(p); + apr_bucket_brigade *bb1 = apr_brigade_create(p, ba); + apr_bucket_brigade *bb2; + apr_bucket *e; + + e = apr_bucket_heap_create(hello, strlen(hello), NULL, ba); + APR_BRIGADE_INSERT_HEAD(bb1, e); + apr_bucket_split(e, strlen("hello, ")); + bb2 = apr_brigade_split(bb1, APR_BRIGADE_LAST(bb1)); + apr_brigade_write(bb1, NULL, NULL, "foo", strlen("foo")); + test_bucket_content(tc, APR_BRIGADE_FIRST(bb2), "world", 5); + + apr_brigade_destroy(bb1); + apr_brigade_destroy(bb2); + apr_bucket_alloc_destroy(ba); +} + +static void test_write_putstrs(abts_case *tc, void *data) +{ + apr_bucket_alloc_t *ba = apr_bucket_alloc_create(p); + apr_bucket_brigade *bb = apr_brigade_create(p, ba); + apr_bucket *e; + char buf[30]; + apr_size_t len = sizeof(buf); + const char *expect = "123456789abcdefghij"; + + e = apr_bucket_heap_create("1", 1, NULL, ba); + APR_BRIGADE_INSERT_HEAD(bb, e); + + apr_brigade_putstrs(bb, NULL, NULL, "2", "34", "567", "8", "9a", "bcd", + "e", "f", "gh", "i", NULL); + apr_brigade_putstrs(bb, NULL, NULL, "j", NULL); + apr_assert_success(tc, "apr_brigade_flatten", + apr_brigade_flatten(bb, buf, &len)); + ABTS_STR_NEQUAL(tc, expect, buf, strlen(expect)); + + apr_brigade_destroy(bb); + apr_bucket_alloc_destroy(ba); +} + abts_suite *testbuckets(abts_suite *suite) { suite = ADD_SUITE(suite); @@ -484,6 +526,8 @@ abts_suite *testbuckets(abts_suite *suite) abts_run_test(suite, test_manyfile, NULL); abts_run_test(suite, test_truncfile, NULL); abts_run_test(suite, test_partition, NULL); + abts_run_test(suite, test_write_split, NULL); + abts_run_test(suite, test_write_putstrs, NULL); return suite; } |