Do more testing in ByteString.OneCharReverseIterator unit test. - Test the distance between the reverse iterator and rbegin()/rend(). - Switch from EXPECT_TRUE/EXPECT_FALSE to EXPECT_EQ/EXPECT_NE for slightly better failure output. Also make the same changes to WideString.OneCharReverseIterator test. Change-Id: If9df9bd5af9c96b62a4ec42662eb090809d32529 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/61530 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxcrt/bytestring_unittest.cpp b/core/fxcrt/bytestring_unittest.cpp index 6152f78..f40784b 100644 --- a/core/fxcrt/bytestring_unittest.cpp +++ b/core/fxcrt/bytestring_unittest.cpp
@@ -987,46 +987,64 @@ TEST(ByteString, MultiCharReverseIterator) { ByteString multi_str("abcd"); auto iter = multi_str.rbegin(); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(4, multi_str.rend() - iter); + EXPECT_EQ(0, iter - multi_str.rbegin()); char ch = *iter++; EXPECT_EQ('d', ch); EXPECT_EQ('c', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(3, multi_str.rend() - iter); + EXPECT_EQ(1, iter - multi_str.rbegin()); ch = *(++iter); EXPECT_EQ('b', ch); EXPECT_EQ('b', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(2, multi_str.rend() - iter); + EXPECT_EQ(2, iter - multi_str.rbegin()); ch = *iter++; EXPECT_EQ('b', ch); EXPECT_EQ('a', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(1, multi_str.rend() - iter); + EXPECT_EQ(3, iter - multi_str.rbegin()); ch = *iter++; EXPECT_EQ('a', ch); - EXPECT_TRUE(iter == multi_str.rend()); + EXPECT_EQ(iter, multi_str.rend()); + EXPECT_EQ(0, multi_str.rend() - iter); + EXPECT_EQ(4, iter - multi_str.rbegin()); ch = *(--iter); EXPECT_EQ('a', ch); EXPECT_EQ('a', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(1, multi_str.rend() - iter); + EXPECT_EQ(3, iter - multi_str.rbegin()); ch = *iter--; EXPECT_EQ('a', ch); EXPECT_EQ('b', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(2, multi_str.rend() - iter); + EXPECT_EQ(2, iter - multi_str.rbegin()); ch = *iter--; EXPECT_EQ('b', ch); EXPECT_EQ('c', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(3, multi_str.rend() - iter); + EXPECT_EQ(1, iter - multi_str.rbegin()); ch = *(--iter); EXPECT_EQ('d', ch); EXPECT_EQ('d', *iter); - EXPECT_TRUE(iter == multi_str.rbegin()); + EXPECT_EQ(iter, multi_str.rbegin()); + EXPECT_EQ(4, multi_str.rend() - iter); + EXPECT_EQ(0, iter - multi_str.rbegin()); } TEST(ByteStringView, Null) {
diff --git a/core/fxcrt/widestring_unittest.cpp b/core/fxcrt/widestring_unittest.cpp index 48a45b7..bbd2fd9 100644 --- a/core/fxcrt/widestring_unittest.cpp +++ b/core/fxcrt/widestring_unittest.cpp
@@ -958,46 +958,64 @@ TEST(WideString, MultiCharReverseIterator) { WideString multi_str(L"abcd"); auto iter = multi_str.rbegin(); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(4, multi_str.rend() - iter); + EXPECT_EQ(0, iter - multi_str.rbegin()); char ch = *iter++; EXPECT_EQ('d', ch); EXPECT_EQ('c', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(3, multi_str.rend() - iter); + EXPECT_EQ(1, iter - multi_str.rbegin()); ch = *(++iter); EXPECT_EQ('b', ch); EXPECT_EQ('b', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(2, multi_str.rend() - iter); + EXPECT_EQ(2, iter - multi_str.rbegin()); ch = *iter++; EXPECT_EQ('b', ch); EXPECT_EQ('a', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(1, multi_str.rend() - iter); + EXPECT_EQ(3, iter - multi_str.rbegin()); ch = *iter++; EXPECT_EQ('a', ch); - EXPECT_TRUE(iter == multi_str.rend()); + EXPECT_EQ(iter, multi_str.rend()); + EXPECT_EQ(0, multi_str.rend() - iter); + EXPECT_EQ(4, iter - multi_str.rbegin()); ch = *(--iter); EXPECT_EQ('a', ch); EXPECT_EQ('a', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(1, multi_str.rend() - iter); + EXPECT_EQ(3, iter - multi_str.rbegin()); ch = *iter--; EXPECT_EQ('a', ch); EXPECT_EQ('b', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(2, multi_str.rend() - iter); + EXPECT_EQ(2, iter - multi_str.rbegin()); ch = *iter--; EXPECT_EQ('b', ch); EXPECT_EQ('c', *iter); - EXPECT_FALSE(iter == multi_str.rend()); + EXPECT_NE(iter, multi_str.rend()); + EXPECT_EQ(3, multi_str.rend() - iter); + EXPECT_EQ(1, iter - multi_str.rbegin()); ch = *(--iter); EXPECT_EQ('d', ch); EXPECT_EQ('d', *iter); - EXPECT_TRUE(iter == multi_str.rbegin()); + EXPECT_EQ(iter, multi_str.rbegin()); + EXPECT_EQ(4, multi_str.rend() - iter); + EXPECT_EQ(0, iter - multi_str.rbegin()); } TEST(WideString, ToUTF16LE) {