summaryrefslogtreecommitdiff
path: root/sl4n/rapidjson/test/unittest/stringbuffertest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sl4n/rapidjson/test/unittest/stringbuffertest.cpp')
-rw-r--r--sl4n/rapidjson/test/unittest/stringbuffertest.cpp150
1 files changed, 0 insertions, 150 deletions
diff --git a/sl4n/rapidjson/test/unittest/stringbuffertest.cpp b/sl4n/rapidjson/test/unittest/stringbuffertest.cpp
deleted file mode 100644
index fbacf51..0000000
--- a/sl4n/rapidjson/test/unittest/stringbuffertest.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-// Tencent is pleased to support the open source community by making RapidJSON available.
-//
-// Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
-//
-// Licensed under the MIT License (the "License"); you may not use this file except
-// in compliance with the License. You may obtain a copy of the License at
-//
-// http://opensource.org/licenses/MIT
-//
-// Unless required by applicable law or agreed to in writing, software distributed
-// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-// CONDITIONS OF ANY KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations under the License.
-
-#include "unittest.h"
-#include "rapidjson/stringbuffer.h"
-#include "rapidjson/writer.h"
-
-using namespace rapidjson;
-
-TEST(StringBuffer, InitialSize) {
- StringBuffer buffer;
- EXPECT_EQ(0u, buffer.GetSize());
- EXPECT_STREQ("", buffer.GetString());
-}
-
-TEST(StringBuffer, Put) {
- StringBuffer buffer;
- buffer.Put('A');
-
- EXPECT_EQ(1u, buffer.GetSize());
- EXPECT_STREQ("A", buffer.GetString());
-}
-
-TEST(StringBuffer, Clear) {
- StringBuffer buffer;
- buffer.Put('A');
- buffer.Put('B');
- buffer.Put('C');
- buffer.Clear();
-
- EXPECT_EQ(0u, buffer.GetSize());
- EXPECT_STREQ("", buffer.GetString());
-}
-
-TEST(StringBuffer, Push) {
- StringBuffer buffer;
- buffer.Push(5);
-
- EXPECT_EQ(5u, buffer.GetSize());
-
- // Causes sudden expansion to make the stack's capacity equal to size
- buffer.Push(65536u);
- EXPECT_EQ(5u + 65536u, buffer.GetSize());
-}
-
-TEST(StringBuffer, Pop) {
- StringBuffer buffer;
- buffer.Put('A');
- buffer.Put('B');
- buffer.Put('C');
- buffer.Put('D');
- buffer.Put('E');
- buffer.Pop(3);
-
- EXPECT_EQ(2u, buffer.GetSize());
- EXPECT_STREQ("AB", buffer.GetString());
-}
-
-#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
-
-#include <type_traits>
-
-TEST(StringBuffer, Traits) {
- static_assert( std::is_constructible<StringBuffer>::value, "");
- static_assert( std::is_default_constructible<StringBuffer>::value, "");
-#ifndef _MSC_VER
- static_assert(!std::is_copy_constructible<StringBuffer>::value, "");
-#endif
- static_assert( std::is_move_constructible<StringBuffer>::value, "");
-
- static_assert(!std::is_nothrow_constructible<StringBuffer>::value, "");
- static_assert(!std::is_nothrow_default_constructible<StringBuffer>::value, "");
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1800
- static_assert(!std::is_nothrow_copy_constructible<StringBuffer>::value, "");
- static_assert(!std::is_nothrow_move_constructible<StringBuffer>::value, "");
-#endif
-
- static_assert( std::is_assignable<StringBuffer,StringBuffer>::value, "");
-#ifndef _MSC_VER
- static_assert(!std::is_copy_assignable<StringBuffer>::value, "");
-#endif
- static_assert( std::is_move_assignable<StringBuffer>::value, "");
-
-#if !defined(_MSC_VER) || _MSC_VER >= 1800
- static_assert(!std::is_nothrow_assignable<StringBuffer, StringBuffer>::value, "");
-#endif
-
- static_assert(!std::is_nothrow_copy_assignable<StringBuffer>::value, "");
- static_assert(!std::is_nothrow_move_assignable<StringBuffer>::value, "");
-
- static_assert( std::is_destructible<StringBuffer>::value, "");
-#ifndef _MSC_VER
- static_assert(std::is_nothrow_destructible<StringBuffer>::value, "");
-#endif
-}
-
-TEST(StringBuffer, MoveConstructor) {
- StringBuffer x;
- x.Put('A');
- x.Put('B');
- x.Put('C');
- x.Put('D');
-
- EXPECT_EQ(4u, x.GetSize());
- EXPECT_STREQ("ABCD", x.GetString());
-
- // StringBuffer y(x); // does not compile (!is_copy_constructible)
- StringBuffer y(std::move(x));
- EXPECT_EQ(0u, x.GetSize());
- EXPECT_EQ(4u, y.GetSize());
- EXPECT_STREQ("ABCD", y.GetString());
-
- // StringBuffer z = y; // does not compile (!is_copy_assignable)
- StringBuffer z = std::move(y);
- EXPECT_EQ(0u, y.GetSize());
- EXPECT_EQ(4u, z.GetSize());
- EXPECT_STREQ("ABCD", z.GetString());
-}
-
-TEST(StringBuffer, MoveAssignment) {
- StringBuffer x;
- x.Put('A');
- x.Put('B');
- x.Put('C');
- x.Put('D');
-
- EXPECT_EQ(4u, x.GetSize());
- EXPECT_STREQ("ABCD", x.GetString());
-
- StringBuffer y;
- // y = x; // does not compile (!is_copy_assignable)
- y = std::move(x);
- EXPECT_EQ(0u, x.GetSize());
- EXPECT_EQ(4u, y.GetSize());
- EXPECT_STREQ("ABCD", y.GetString());
-}
-
-#endif // RAPIDJSON_HAS_CXX11_RVALUE_REFS