756 cxBufferDestroy(&buf); |
756 cxBufferDestroy(&buf); |
757 } |
757 } |
758 |
758 |
759 CX_TEST(test_buffer_write_copy_on_write) { |
759 CX_TEST(test_buffer_write_copy_on_write) { |
760 CxBuffer buf; |
760 CxBuffer buf; |
761 char original[16] = "preparedXXXXXXX\0"; |
761 char original[16] = "preparedXXXXXXX"; |
762 cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
762 cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
763 buf.capacity = 8; |
763 buf.capacity = 8; |
764 buf.size = 8; |
764 buf.size = 8; |
765 buf.pos = 0; |
765 buf.pos = 0; |
766 const char *data = "testing"; |
766 const char *data = "testing"; |
950 cxBufferDestroy(&buf); |
950 cxBufferDestroy(&buf); |
951 } |
951 } |
952 |
952 |
953 CX_TEST(test_buffer_put_copy_on_write) { |
953 CX_TEST(test_buffer_put_copy_on_write) { |
954 CxBuffer buf; |
954 CxBuffer buf; |
955 char original[16] = "preparedXXXXXXX\0"; |
955 char original[16] = "preparedXXXXXXX"; |
956 cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
956 cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
957 buf.capacity = 8; |
957 buf.capacity = 8; |
958 buf.size = 8; |
958 buf.size = 8; |
959 buf.pos = 8; |
959 buf.pos = 8; |
960 CX_TEST_DO { |
960 CX_TEST_DO { |
1042 CX_TEST(test_buffer_put_string_copy_on_extend) { |
1042 CX_TEST(test_buffer_put_string_copy_on_extend) { |
1043 CxTestingAllocator talloc; |
1043 CxTestingAllocator talloc; |
1044 cx_testing_allocator_init(&talloc); |
1044 cx_testing_allocator_init(&talloc); |
1045 const CxAllocator *alloc = &talloc.base; |
1045 const CxAllocator *alloc = &talloc.base; |
1046 CxBuffer buf; |
1046 CxBuffer buf; |
1047 char original[16] = "preparedXXXXXXX\0"; |
1047 char original[16] = "preparedXXXXXXX"; |
1048 CX_TEST_DO { |
1048 CX_TEST_DO { |
1049 cxBufferInit(&buf, original, 16, alloc, CX_BUFFER_COPY_ON_EXTEND); |
1049 cxBufferInit(&buf, original, 16, alloc, CX_BUFFER_COPY_ON_EXTEND); |
1050 buf.capacity = 8; |
1050 buf.capacity = 8; |
1051 buf.size = buf.pos = 4; |
1051 buf.size = buf.pos = 4; |
1052 size_t written = cxBufferPutString(&buf, "test"); |
1052 size_t written = cxBufferPutString(&buf, "test"); |
1071 } |
1071 } |
1072 } |
1072 } |
1073 |
1073 |
1074 CX_TEST(test_buffer_put_string_copy_on_write) { |
1074 CX_TEST(test_buffer_put_string_copy_on_write) { |
1075 CxBuffer buf; |
1075 CxBuffer buf; |
1076 char original[16] = "preparedXXXXXXX\0"; |
1076 char original[16] = "preparedXXXXXXX"; |
1077 cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
1077 cxBufferInit(&buf, original, 16, cxDefaultAllocator, CX_BUFFER_COPY_ON_WRITE); |
1078 buf.capacity = 8; |
1078 buf.capacity = 8; |
1079 buf.size = 8; |
1079 buf.size = 8; |
1080 buf.pos = 4; |
1080 buf.pos = 4; |
1081 buf.flags |= CX_BUFFER_AUTO_EXTEND; |
1081 buf.flags |= CX_BUFFER_AUTO_EXTEND; |