aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2022-09-27 12:52:59 +0300
committera-romanov <Anton.Romanov@ydb.tech>2022-09-27 12:52:59 +0300
commita19f1383d40306f3ac14d8e07f68cb1e0365d44d (patch)
treeebd4c982b880cf34233294146d60a01afaad4300
parent22378bbd93b81795dcd66d084d843b0276190a76 (diff)
downloadydb-a19f1383d40306f3ac14d8e07f68cb1e0365d44d.tar.gz
+test.
-rw-r--r--ydb/library/yql/minikql/mkql_string_util_ut.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/ydb/library/yql/minikql/mkql_string_util_ut.cpp b/ydb/library/yql/minikql/mkql_string_util_ut.cpp
index 227115f488..d68675b9c5 100644
--- a/ydb/library/yql/minikql/mkql_string_util_ut.cpp
+++ b/ydb/library/yql/minikql/mkql_string_util_ut.cpp
@@ -34,5 +34,36 @@ Y_UNIT_TEST_SUITE(TMiniKQLStringUtils) {
UNIT_ASSERT_VALUES_EQUAL(buf.AsStringValue().Size(), NUdf::TUnboxedValuePod::InternalBufferSize + 1U);
}
}
+
+ Y_UNIT_TEST(MakeLargeString) {
+ TScopedAlloc alloc;
+
+ {
+ const auto buf= MakeStringNotFilled(0xFFFFFFFFU);
+ UNIT_ASSERT(buf.IsString());
+ UNIT_ASSERT_VALUES_EQUAL(buf.AsStringRef().Size(), 0xFFFFFFFFU);
+ const auto& value = buf.AsStringValue();
+ UNIT_ASSERT_VALUES_EQUAL(value.Size(), 0xFFFFFFFFU);
+ UNIT_ASSERT_VALUES_EQUAL(value.Capacity(), 0x100000000ULL);
+ }
+
+ {
+ const auto buf= MakeStringNotFilled(0xFFFFFFF1U);
+ UNIT_ASSERT(buf.IsString());
+ UNIT_ASSERT_VALUES_EQUAL(buf.AsStringRef().Size(), 0xFFFFFFF1U);
+ const auto& value = buf.AsStringValue();
+ UNIT_ASSERT_VALUES_EQUAL(value.Size(), 0xFFFFFFF1U);
+ UNIT_ASSERT_VALUES_EQUAL(value.Capacity(), 0x100000000ULL);
+ }
+
+ {
+ const auto buf= MakeStringNotFilled(0xFFFFFFF0U);
+ UNIT_ASSERT(buf.IsString());
+ UNIT_ASSERT_VALUES_EQUAL(buf.AsStringRef().Size(), 0xFFFFFFF0U);
+ const auto& value = buf.AsStringValue();
+ UNIT_ASSERT_VALUES_EQUAL(value.Size(), 0xFFFFFFF0U);
+ UNIT_ASSERT_VALUES_EQUAL(value.Capacity(), 0xFFFFFFF0ULL);
+ }
+ }
}