blob: ddca23f0c3276fe283e64e38ad6b026fd6a51944 [file] [log] [blame]
// Copyright 2018 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "core/fxcrt/cfx_widetextbuf.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace fxcrt {
TEST(WideTextBuf, EmptyBuf) {
CFX_WideTextBuf wtb;
EXPECT_EQ(nullptr, wtb.GetBuffer());
EXPECT_TRUE(wtb.AsStringView().IsEmpty());
EXPECT_TRUE(wtb.MakeString().IsEmpty());
}
TEST(WideTextBuf, OperatorLtLt) {
CFX_WideTextBuf wtb;
wtb << 42 << 3.14 << "clams" << L"\u208c\u208e";
EXPECT_TRUE(wtb.MakeString() == L"423.14clams\u208c\u208e");
}
TEST(WideTextBuf, Deletion) {
CFX_WideTextBuf wtb;
wtb << L"ABCDEFG";
EXPECT_TRUE(wtb.AsStringView().EqualsASCII("ABCDEFG"));
wtb.Delete(1, 3);
EXPECT_TRUE(wtb.AsStringView().EqualsASCII("AEFG"));
wtb.Delete(1, 0);
EXPECT_TRUE(wtb.AsStringView().EqualsASCII("AEFG"));
wtb.Delete(0, 2);
EXPECT_TRUE(wtb.AsStringView().EqualsASCII("FG"));
wtb.Delete(0, 2);
EXPECT_TRUE(wtb.AsStringView().EqualsASCII(""));
wtb.Delete(0, 0);
EXPECT_TRUE(wtb.AsStringView().EqualsASCII(""));
}
} // namespace fxcrt