| 742 | } |
| 743 | |
| 744 | void TestOverflowCheck() { |
| 745 | auto max_size = builder_->memory_limit(); |
| 746 | |
| 747 | ASSERT_OK(builder_->ValidateOverflow(1)); |
| 748 | ASSERT_OK(builder_->ValidateOverflow(max_size)); |
| 749 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size + 1)); |
| 750 | |
| 751 | ASSERT_OK(builder_->Append("bb")); |
| 752 | ASSERT_OK(builder_->ValidateOverflow(max_size - 2)); |
| 753 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size - 1)); |
| 754 | |
| 755 | ASSERT_OK(builder_->AppendNull()); |
| 756 | ASSERT_OK(builder_->ValidateOverflow(max_size - 2)); |
| 757 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size - 1)); |
| 758 | |
| 759 | ASSERT_OK(builder_->Append("ccc")); |
| 760 | ASSERT_OK(builder_->ValidateOverflow(max_size - 5)); |
| 761 | ASSERT_RAISES(CapacityError, builder_->ValidateOverflow(max_size - 4)); |
| 762 | } |
| 763 | |
| 764 | void TestZeroLength() { |
| 765 | // All buffers are null |
no test coverage detected