tests/test_buffer.c

changeset 1291
5942859fd76c
parent 1290
4ac889e14211
equal deleted inserted replaced
1290:4ac889e14211 1291:5942859fd76c
1215 cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); 1215 cxBufferInit(&target, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND);
1216 cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND); 1216 cxBufferInit(&buf, NULL, 8, cxDefaultAllocator, CX_BUFFER_AUTO_EXTEND);
1217 cxBufferPutString(&buf, "prep"); 1217 cxBufferPutString(&buf, "prep");
1218 CX_TEST_DO { 1218 CX_TEST_DO {
1219 CxBufferFlushConfig flush; 1219 CxBufferFlushConfig flush;
1220 flush.threshold = 12; 1220 flush.threshold = 16;
1221 flush.blksize = 32; 1221 flush.blksize = 32;
1222 flush.blkmax = 1; 1222 flush.blkmax = 1;
1223 flush.target = ⌖ 1223 flush.target = ⌖
1224 flush.wfunc = cxBufferWriteFunc; 1224 flush.wfunc = cxBufferWriteFunc;
1225 CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush)); 1225 CX_TEST_ASSERT(0 == cxBufferEnableFlushing(&buf, flush));
1226 size_t written = cxBufferWrite("foobar", 1, 6, &buf); 1226 size_t written = cxBufferWrite("foobar", 1, 6, &buf);
1227 CX_TEST_ASSERT(written == 6); 1227 CX_TEST_ASSERT(written == 6);
1228 CX_TEST_ASSERT(buf.pos == 10); 1228 CX_TEST_ASSERT(buf.pos == 10);
1229 CX_TEST_ASSERT(buf.size == 10); 1229 CX_TEST_ASSERT(buf.size == 10);
1230 CX_TEST_ASSERT(buf.capacity >= 10); 1230 CX_TEST_ASSERT(buf.capacity == 16);
1231 CX_TEST_ASSERT(buf.capacity <= 12);
1232 CX_TEST_ASSERT(target.pos == 0); 1231 CX_TEST_ASSERT(target.pos == 0);
1233 CX_TEST_ASSERT(target.size == 0); 1232 CX_TEST_ASSERT(target.size == 0);
1234 written = cxBufferWrite("hello", 1, 5, &buf); 1233 written = cxBufferWrite("hello world", 1, 11, &buf);
1235 CX_TEST_ASSERT(written == 5); 1234 CX_TEST_ASSERT(written == 11);
1236 CX_TEST_ASSERT(buf.pos == 5); 1235 CX_TEST_ASSERT(buf.pos == 11);
1237 CX_TEST_ASSERT(buf.size == 5); 1236 CX_TEST_ASSERT(buf.size == 11);
1238 CX_TEST_ASSERT(buf.capacity <= 12); 1237 CX_TEST_ASSERT(buf.capacity == 16);
1239 CX_TEST_ASSERT(target.pos == 10); 1238 CX_TEST_ASSERT(target.pos == 10);
1240 CX_TEST_ASSERT(target.size == 10); 1239 CX_TEST_ASSERT(target.size == 10);
1241 CX_TEST_ASSERT(0 == memcmp(buf.space, "hello", 5)); 1240 CX_TEST_ASSERT(0 == memcmp(buf.space, "hello", 5));
1242 CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoobar", 10)); 1241 CX_TEST_ASSERT(0 == memcmp(target.space, "prepfoobar", 10));
1243 } 1242 }

mercurial