| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
| 6 #include "../../../testing/fx_string_testhelpers.h" | 6 #include "../../../testing/fx_string_testhelpers.h" |
| 7 #include "../../include/fxcrt/fx_basic.h" | 7 #include "../../include/fxcrt/fx_basic.h" |
| 8 | 8 |
| 9 TEST(fxcrt, ByteStringOperatorSubscript) { | 9 TEST(fxcrt, ByteStringOperatorSubscript) { |
| 10 // CFX_ByteString includes the NUL terminator for non-empty strings. | 10 // CFX_ByteString includes the NUL terminator for non-empty strings. |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 EXPECT_TRUE(a < abc); | 38 EXPECT_TRUE(a < abc); |
| 39 EXPECT_FALSE(abc < a); | 39 EXPECT_FALSE(abc < a); |
| 40 | 40 |
| 41 EXPECT_TRUE(a < def); | 41 EXPECT_TRUE(a < def); |
| 42 EXPECT_FALSE(def < a); | 42 EXPECT_FALSE(def < a); |
| 43 | 43 |
| 44 EXPECT_TRUE(abc < def); | 44 EXPECT_TRUE(abc < def); |
| 45 EXPECT_FALSE(def < abc); | 45 EXPECT_FALSE(def < abc); |
| 46 } | 46 } |
| 47 | 47 |
| 48 TEST(fxcrt, ByteStringOperatorEQ) { |
| 49 CFX_ByteString byte_string("hello"); |
| 50 ASSERT_TRUE(byte_string == byte_string); |
| 51 |
| 52 CFX_ByteString byte_string_same1("hello"); |
| 53 ASSERT_TRUE(byte_string == byte_string_same1); |
| 54 ASSERT_TRUE(byte_string_same1 == byte_string); |
| 55 |
| 56 CFX_ByteString byte_string_same2(byte_string); |
| 57 ASSERT_TRUE(byte_string == byte_string_same2); |
| 58 ASSERT_TRUE(byte_string_same2 == byte_string); |
| 59 |
| 60 CFX_ByteString byte_string1("he"); |
| 61 CFX_ByteString byte_string2("hellp"); |
| 62 CFX_ByteString byte_string3("hellod"); |
| 63 ASSERT_FALSE(byte_string == byte_string1); |
| 64 ASSERT_FALSE(byte_string == byte_string2); |
| 65 ASSERT_FALSE(byte_string == byte_string3); |
| 66 ASSERT_FALSE(byte_string1 == byte_string); |
| 67 ASSERT_FALSE(byte_string2 == byte_string); |
| 68 ASSERT_FALSE(byte_string3 == byte_string); |
| 69 |
| 70 CFX_ByteStringC byte_string_c_same1("hello"); |
| 71 ASSERT_TRUE(byte_string == byte_string_c_same1); |
| 72 ASSERT_TRUE(byte_string_c_same1 == byte_string); |
| 73 |
| 74 CFX_ByteStringC byte_string_c1("he"); |
| 75 CFX_ByteStringC byte_string_c2("hellp"); |
| 76 CFX_ByteStringC byte_string_c3("hellod"); |
| 77 ASSERT_FALSE(byte_string == byte_string_c1); |
| 78 ASSERT_FALSE(byte_string == byte_string_c2); |
| 79 ASSERT_FALSE(byte_string == byte_string_c3); |
| 80 ASSERT_FALSE(byte_string_c1 == byte_string); |
| 81 ASSERT_FALSE(byte_string_c2 == byte_string); |
| 82 ASSERT_FALSE(byte_string_c3 == byte_string); |
| 83 |
| 84 const char* c_string_same1 = "hello"; |
| 85 ASSERT_TRUE(byte_string == c_string_same1); |
| 86 #if 0 |
| 87 // TODO(tsepez): See, you don't want implicit c_str() casting. |
| 88 // This degrades to a pointer comparision, which flunks. |
| 89 ASSERT_TRUE(c_string_same1 == byte_string); |
| 90 #endif |
| 91 |
| 92 const char* c_string1 = "he"; |
| 93 const char* c_string2 = "hellp"; |
| 94 const char* c_string3 = "hellod"; |
| 95 ASSERT_FALSE(byte_string == c_string1); |
| 96 ASSERT_FALSE(byte_string == c_string2); |
| 97 ASSERT_FALSE(byte_string == c_string3); |
| 98 ASSERT_FALSE(c_string1 == byte_string); |
| 99 ASSERT_FALSE(c_string2 == byte_string); |
| 100 ASSERT_FALSE(c_string3 == byte_string); |
| 101 } |
| 102 |
| 103 TEST(fxcrt, ByteStringOperatorNE) { |
| 104 CFX_ByteString byte_string("hello"); |
| 105 ASSERT_FALSE(byte_string != byte_string); |
| 106 |
| 107 CFX_ByteString byte_string_same1("hello"); |
| 108 ASSERT_FALSE(byte_string != byte_string_same1); |
| 109 ASSERT_FALSE(byte_string_same1 != byte_string); |
| 110 |
| 111 CFX_ByteString byte_string_same2(byte_string); |
| 112 ASSERT_FALSE(byte_string != byte_string_same2); |
| 113 ASSERT_FALSE(byte_string_same2 != byte_string); |
| 114 |
| 115 CFX_ByteString byte_string1("he"); |
| 116 CFX_ByteString byte_string2("hellp"); |
| 117 CFX_ByteString byte_string3("hellod"); |
| 118 ASSERT_TRUE(byte_string != byte_string1); |
| 119 ASSERT_TRUE(byte_string != byte_string2); |
| 120 ASSERT_TRUE(byte_string != byte_string3); |
| 121 ASSERT_TRUE(byte_string1 != byte_string); |
| 122 ASSERT_TRUE(byte_string2 != byte_string); |
| 123 ASSERT_TRUE(byte_string3 != byte_string); |
| 124 |
| 125 CFX_ByteStringC byte_string_c_same1("hello"); |
| 126 ASSERT_FALSE(byte_string != byte_string_c_same1); |
| 127 ASSERT_FALSE(byte_string_c_same1 != byte_string); |
| 128 |
| 129 CFX_ByteStringC byte_string_c1("he"); |
| 130 CFX_ByteStringC byte_string_c2("hellp"); |
| 131 CFX_ByteStringC byte_string_c3("hellod"); |
| 132 ASSERT_TRUE(byte_string != byte_string_c1); |
| 133 ASSERT_TRUE(byte_string != byte_string_c2); |
| 134 ASSERT_TRUE(byte_string != byte_string_c3); |
| 135 ASSERT_TRUE(byte_string_c1 != byte_string); |
| 136 ASSERT_TRUE(byte_string_c2 != byte_string); |
| 137 ASSERT_TRUE(byte_string_c3 != byte_string); |
| 138 |
| 139 const char* c_string_same1 = "hello"; |
| 140 ASSERT_FALSE(byte_string != c_string_same1); |
| 141 #if 0 |
| 142 // See above TODO. |
| 143 ASSERT_FALSE(c_string_same1 != byte_string); |
| 144 #endif |
| 145 const char* c_string1 = "he"; |
| 146 const char* c_string2 = "hellp"; |
| 147 const char* c_string3 = "hellod"; |
| 148 ASSERT_TRUE(byte_string != c_string1); |
| 149 ASSERT_TRUE(byte_string != c_string2); |
| 150 ASSERT_TRUE(byte_string != c_string3); |
| 151 ASSERT_TRUE(c_string1 != byte_string); |
| 152 ASSERT_TRUE(c_string2 != byte_string); |
| 153 ASSERT_TRUE(c_string3 != byte_string); |
| 154 } |
| 155 |
| 48 TEST(fxcrt, ByteStringCNull) { | 156 TEST(fxcrt, ByteStringCNull) { |
| 49 CFX_ByteStringC null_string; | 157 CFX_ByteStringC null_string; |
| 50 EXPECT_EQ(null_string.GetPtr(), nullptr); | 158 EXPECT_EQ(null_string.GetPtr(), nullptr); |
| 51 EXPECT_EQ(null_string.GetLength(), 0); | 159 EXPECT_EQ(null_string.GetLength(), 0); |
| 52 EXPECT_TRUE(null_string.IsEmpty()); | 160 EXPECT_TRUE(null_string.IsEmpty()); |
| 53 | 161 |
| 54 CFX_ByteStringC another_null_string; | 162 CFX_ByteStringC another_null_string; |
| 55 EXPECT_EQ(null_string, another_null_string); | 163 EXPECT_EQ(null_string, another_null_string); |
| 56 | 164 |
| 57 CFX_ByteStringC copied_null_string(null_string); | 165 CFX_ByteStringC copied_null_string(null_string); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 | 369 |
| 262 EXPECT_TRUE(a < abc); | 370 EXPECT_TRUE(a < abc); |
| 263 EXPECT_FALSE(abc < a); | 371 EXPECT_FALSE(abc < a); |
| 264 | 372 |
| 265 EXPECT_TRUE(a < def); | 373 EXPECT_TRUE(a < def); |
| 266 EXPECT_FALSE(def < a); | 374 EXPECT_FALSE(def < a); |
| 267 | 375 |
| 268 EXPECT_TRUE(abc < def); | 376 EXPECT_TRUE(abc < def); |
| 269 EXPECT_FALSE(def < abc); | 377 EXPECT_FALSE(def < abc); |
| 270 } | 378 } |
| 379 |
| 380 TEST(fxcrt, ByteStringCOperatorEQ) { |
| 381 CFX_ByteStringC byte_string_c("hello"); |
| 382 ASSERT_TRUE(byte_string_c == byte_string_c); |
| 383 |
| 384 CFX_ByteStringC byte_string_c_same1("hello"); |
| 385 ASSERT_TRUE(byte_string_c == byte_string_c_same1); |
| 386 ASSERT_TRUE(byte_string_c_same1 == byte_string_c); |
| 387 |
| 388 CFX_ByteStringC byte_string_c_same2(byte_string_c); |
| 389 ASSERT_TRUE(byte_string_c == byte_string_c_same2); |
| 390 ASSERT_TRUE(byte_string_c_same2 == byte_string_c); |
| 391 |
| 392 CFX_ByteStringC byte_string_c1("he"); |
| 393 CFX_ByteStringC byte_string_c2("hellp"); |
| 394 CFX_ByteStringC byte_string_c3("hellod"); |
| 395 ASSERT_FALSE(byte_string_c == byte_string_c1); |
| 396 ASSERT_FALSE(byte_string_c == byte_string_c2); |
| 397 ASSERT_FALSE(byte_string_c == byte_string_c3); |
| 398 ASSERT_FALSE(byte_string_c1 == byte_string_c); |
| 399 ASSERT_FALSE(byte_string_c2 == byte_string_c); |
| 400 ASSERT_FALSE(byte_string_c3 == byte_string_c); |
| 401 |
| 402 CFX_ByteString byte_string_same1("hello"); |
| 403 ASSERT_TRUE(byte_string_c == byte_string_same1); |
| 404 ASSERT_TRUE(byte_string_same1 == byte_string_c); |
| 405 |
| 406 CFX_ByteString byte_string1("he"); |
| 407 CFX_ByteString byte_string2("hellp"); |
| 408 CFX_ByteString byte_string3("hellod"); |
| 409 ASSERT_FALSE(byte_string_c == byte_string1); |
| 410 ASSERT_FALSE(byte_string_c == byte_string2); |
| 411 ASSERT_FALSE(byte_string_c == byte_string3); |
| 412 ASSERT_FALSE(byte_string1 == byte_string_c); |
| 413 ASSERT_FALSE(byte_string2 == byte_string_c); |
| 414 ASSERT_FALSE(byte_string3 == byte_string_c); |
| 415 |
| 416 const char* c_string_same1 = "hello"; |
| 417 ASSERT_TRUE(byte_string_c == c_string_same1); |
| 418 #if 0 |
| 419 // TODO(tsepez): missing operator (but no implicit cast to c_str). |
| 420 ASSERT_TRUE(c_string_same1 == byte_string_c); |
| 421 #endif |
| 422 |
| 423 const char* c_string1 = "he"; |
| 424 const char* c_string2 = "hellp"; |
| 425 const char* c_string3 = "hellod"; |
| 426 ASSERT_FALSE(byte_string_c == c_string1); |
| 427 ASSERT_FALSE(byte_string_c == c_string2); |
| 428 ASSERT_FALSE(byte_string_c == c_string3); |
| 429 #if 0 |
| 430 // See above TODO. |
| 431 ASSERT_FALSE(c_string1 == byte_string_c); |
| 432 ASSERT_FALSE(c_string2 == byte_string_c); |
| 433 ASSERT_FALSE(c_string3 == byte_string_c); |
| 434 #endif |
| 435 } |
| 436 |
| 437 TEST(fxcrt, ByteStringCOperatorNE) { |
| 438 CFX_ByteStringC byte_string_c("hello"); |
| 439 ASSERT_FALSE(byte_string_c != byte_string_c); |
| 440 |
| 441 CFX_ByteStringC byte_string_c_same1("hello"); |
| 442 ASSERT_FALSE(byte_string_c != byte_string_c_same1); |
| 443 ASSERT_FALSE(byte_string_c_same1 != byte_string_c); |
| 444 |
| 445 CFX_ByteStringC byte_string_c_same2(byte_string_c); |
| 446 ASSERT_FALSE(byte_string_c != byte_string_c_same2); |
| 447 ASSERT_FALSE(byte_string_c_same2 != byte_string_c); |
| 448 |
| 449 CFX_ByteStringC byte_string_c1("he"); |
| 450 CFX_ByteStringC byte_string_c2("hellp"); |
| 451 CFX_ByteStringC byte_string_c3("hellod"); |
| 452 ASSERT_TRUE(byte_string_c != byte_string_c1); |
| 453 ASSERT_TRUE(byte_string_c != byte_string_c2); |
| 454 ASSERT_TRUE(byte_string_c != byte_string_c3); |
| 455 ASSERT_TRUE(byte_string_c1 != byte_string_c); |
| 456 ASSERT_TRUE(byte_string_c2 != byte_string_c); |
| 457 ASSERT_TRUE(byte_string_c3 != byte_string_c); |
| 458 |
| 459 CFX_ByteString byte_string_same1("hello"); |
| 460 ASSERT_FALSE(byte_string_c != byte_string_same1); |
| 461 ASSERT_FALSE(byte_string_same1 != byte_string_c); |
| 462 |
| 463 CFX_ByteString byte_string1("he"); |
| 464 CFX_ByteString byte_string2("hellp"); |
| 465 CFX_ByteString byte_string3("hellod"); |
| 466 ASSERT_TRUE(byte_string_c != byte_string1); |
| 467 ASSERT_TRUE(byte_string_c != byte_string2); |
| 468 ASSERT_TRUE(byte_string_c != byte_string3); |
| 469 ASSERT_TRUE(byte_string1 != byte_string_c); |
| 470 ASSERT_TRUE(byte_string2 != byte_string_c); |
| 471 ASSERT_TRUE(byte_string3 != byte_string_c); |
| 472 |
| 473 const char* c_string_same1 = "hello"; |
| 474 ASSERT_FALSE(byte_string_c != c_string_same1); |
| 475 #if 0 |
| 476 // TODO(tsepez): missing operator (but no implicit cast to c_str). |
| 477 ASSERT_FALSE(c_string_same1 != byte_string_c); |
| 478 #endif |
| 479 |
| 480 const char* c_string1 = "he"; |
| 481 const char* c_string2 = "hellp"; |
| 482 const char* c_string3 = "hellod"; |
| 483 ASSERT_TRUE(byte_string_c != c_string1); |
| 484 ASSERT_TRUE(byte_string_c != c_string2); |
| 485 ASSERT_TRUE(byte_string_c != c_string3); |
| 486 #if 0 |
| 487 // See above TODO. |
| 488 ASSERT_TRUE(c_string1 != byte_string_c); |
| 489 ASSERT_TRUE(c_string2 != byte_string_c); |
| 490 ASSERT_TRUE(c_string3 != byte_string_c); |
| 491 #endif |
| 492 } |
| OLD | NEW |