diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-04-22 12:29:21 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-04-22 12:29:21 -0700 |
commit | b208774174e102da9f218d89bf8a3af7a0e37f09 (patch) | |
tree | b2f345fb8c42b54008af9e06bcde1cfeff380acb /core/src/fxcrt/fx_basic_bstring_unittest.cpp | |
parent | 8f608d9c0d09ab5fc19cfb4a9d5d8ccef3de6625 (diff) | |
download | pdfium-b208774174e102da9f218d89bf8a3af7a0e37f09.tar.xz |
Merge to XFA: Add missing operators for CFX_xxxString combo patch.
This pulls in:
Review URL: https://codereview.chromium.org/1099193002
Review URL: https://codereview.chromium.org/1090303003
Review URL: https://codereview.chromium.org/1084293003
Review URL: https://codereview.chromium.org/1099213002
Plus one fix to an XFA file to fix compilation.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1095893005
Diffstat (limited to 'core/src/fxcrt/fx_basic_bstring_unittest.cpp')
-rw-r--r-- | core/src/fxcrt/fx_basic_bstring_unittest.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/core/src/fxcrt/fx_basic_bstring_unittest.cpp b/core/src/fxcrt/fx_basic_bstring_unittest.cpp index 53427e3650..57cfc8047e 100644 --- a/core/src/fxcrt/fx_basic_bstring_unittest.cpp +++ b/core/src/fxcrt/fx_basic_bstring_unittest.cpp @@ -6,6 +6,45 @@ #include "../../../testing/fx_string_testhelpers.h" #include "../../include/fxcrt/fx_basic.h" +TEST(fxcrt, ByteStringOperatorSubscript) { + // CFX_ByteString includes the NUL terminator for non-empty strings. + CFX_ByteString abc("abc"); + EXPECT_EQ('a', abc[0]); + EXPECT_EQ('b', abc[1]); + EXPECT_EQ('c', abc[2]); + EXPECT_EQ(0, abc[3]); +} + +TEST(fxcrt, ByteStringOperatorLT) { + CFX_ByteString empty; + CFX_ByteString a("a"); + CFX_ByteString abc("abc"); + CFX_ByteString def("def"); + + EXPECT_FALSE(empty < empty); + EXPECT_FALSE(a < a); + EXPECT_FALSE(abc < abc); + EXPECT_FALSE(def < def); + + EXPECT_TRUE(empty < a); + EXPECT_FALSE(a < empty); + + EXPECT_TRUE(empty < abc); + EXPECT_FALSE(abc < empty); + + EXPECT_TRUE(empty < def); + EXPECT_FALSE(def < empty); + + EXPECT_TRUE(a < abc); + EXPECT_FALSE(abc < a); + + EXPECT_TRUE(a < def); + EXPECT_FALSE(def < a); + + EXPECT_TRUE(abc < def); + EXPECT_FALSE(def < abc); +} + TEST(fxcrt, ByteStringCNull) { CFX_ByteStringC null_string; EXPECT_EQ(null_string.GetPtr(), nullptr); @@ -190,3 +229,42 @@ TEST(fxcrt, ByteStringCGetAt) { EXPECT_EQ('\0', embedded_nul_string.GetAt(2)); EXPECT_EQ('c', embedded_nul_string.GetAt(3)); } + +TEST(fxcrt, ByteStringCOperatorSubscript) { + // CFX_ByteStringC includes the NUL terminator for non-empty strings. + CFX_ByteStringC abc("abc"); + EXPECT_EQ('a', abc[0]); + EXPECT_EQ('b', abc[1]); + EXPECT_EQ('c', abc[2]); + EXPECT_EQ(0, abc[3]); +} + +TEST(fxcrt, ByteStringCOperatorLT) { + CFX_ByteStringC empty; + CFX_ByteStringC a("a"); + CFX_ByteStringC abc("abc"); + CFX_ByteStringC def("def"); + + EXPECT_FALSE(empty < empty); + EXPECT_FALSE(a < a); + EXPECT_FALSE(abc < abc); + EXPECT_FALSE(def < def); + + EXPECT_TRUE(empty < a); + EXPECT_FALSE(a < empty); + + EXPECT_TRUE(empty < abc); + EXPECT_FALSE(abc < empty); + + EXPECT_TRUE(empty < def); + EXPECT_FALSE(def < empty); + + EXPECT_TRUE(a < abc); + EXPECT_FALSE(abc < a); + + EXPECT_TRUE(a < def); + EXPECT_FALSE(def < a); + + EXPECT_TRUE(abc < def); + EXPECT_FALSE(def < abc); +} |