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)


Reply via email to