Author: ivan
Date: Thu Nov 5 15:23:18 2015
New Revision: 1712795
URL: http://svn.apache.org/viewvc?rev=1712795&view=rev
Log:
Add test for problem in aggregate buckets fixed in r1712790.
* test/test_buckets.c
(test_aggregate_buckets): Test prepend and then append to aggregate bucket.
Modified:
serf/trunk/test/test_buckets.c
Modified: serf/trunk/test/test_buckets.c
URL:
http://svn.apache.org/viewvc/serf/trunk/test/test_buckets.c?rev=1712795&r1=1712794&r2=1712795&view=diff
==============================================================================
--- serf/trunk/test/test_buckets.c (original)
+++ serf/trunk/test/test_buckets.c Thu Nov 5 15:23:18 2015
@@ -687,6 +687,22 @@ static apr_status_t append_magic(void *b
return APR_EOF;
}
+static apr_status_t prepend_magic(void *baton,
+ serf_bucket_t *bucket)
+{
+ serf_bucket_t *bkt;
+ int *append = baton;
+
+ if (*append)
+ {
+ (*append)--;
+ bkt = SERF_BUCKET_SIMPLE_STRING("magic", bucket->allocator);
+ serf_bucket_aggregate_prepend(bucket, bkt);
+ return APR_SUCCESS;
+ }
+
+ return APR_EOF;
+}
static void test_aggregate_buckets(CuTest *tc)
{
@@ -820,6 +836,19 @@ static void test_aggregate_buckets(CuTes
CuAssertIntEquals(tc, 5, tgt_vecs[3].iov_len);
serf_bucket_destroy(aggbkt);
+
+ /* Test 7: test prepend to empty aggregate bucket. */
+ aggbkt = serf_bucket_aggregate_create(alloc);
+
+ bkt = SERF_BUCKET_SIMPLE_STRING("prepend", alloc);
+ serf_bucket_aggregate_prepend(aggbkt, bkt);
+
+ bkt = SERF_BUCKET_SIMPLE_STRING("append", alloc);
+ serf_bucket_aggregate_append(aggbkt, bkt);
+
+ read_and_check_bucket(tc, aggbkt, "prepend" "append");
+
+ serf_bucket_destroy(aggbkt);
}
static void test_aggregate_bucket_readline(CuTest *tc)