summaryrefslogtreecommitdiff
path: root/core/src/fxcrt/fx_basic_bstring_unittest.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-04-22 12:29:21 -0700
committerTom Sepez <tsepez@chromium.org>2015-04-22 12:29:21 -0700
commitb208774174e102da9f218d89bf8a3af7a0e37f09 (patch)
treeb2f345fb8c42b54008af9e06bcde1cfeff380acb /core/src/fxcrt/fx_basic_bstring_unittest.cpp
parent8f608d9c0d09ab5fc19cfb4a9d5d8ccef3de6625 (diff)
downloadpdfium-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.cpp78
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);
+}