| 752 | } |
| 753 | |
| 754 | void TestOverflowCheck() { |
| 755 | auto max_size = builder_->memory_limit(); |
| 756 | |
| 757 | ASSERT_OK(builder_->ValidateOverflow(1)); |
| 758 | ASSERT_OK(builder_->ValidateOverflow(max_size)); |
| 759 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size + 1)); |
| 760 | |
| 761 | ASSERT_OK(builder_->Append("bb")); |
| 762 | ASSERT_OK(builder_->ValidateOverflow(max_size - 2)); |
| 763 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size - 1)); |
| 764 | |
| 765 | ASSERT_OK(builder_->AppendNull()); |
| 766 | ASSERT_OK(builder_->ValidateOverflow(max_size - 2)); |
| 767 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size - 1)); |
| 768 | |
| 769 | ASSERT_OK(builder_->Append("ccc")); |
| 770 | ASSERT_OK(builder_->ValidateOverflow(max_size - 5)); |
| 771 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size - 4)); |
| 772 | } |
| 773 | |
| 774 | void TestZeroLength() { |
| 775 | // All buffers are null |
no test coverage detected