diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2015-11-03 14:47:01 -0500 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2015-11-03 14:47:01 -0500 |
commit | e6590c98c3e1bbbfa375316bce1f10d36ab6b5a2 (patch) | |
tree | f94aa8211ab67c5a3fe5be9d542eccd48b5957eb /core/src/fxcrt/fx_basic_wstring_unittest.cpp | |
parent | eed2ee926d92f7cbc55b3e3d62a4a2cfddf0c3fd (diff) | |
download | pdfium-e6590c98c3e1bbbfa375316bce1f10d36ab6b5a2.tar.xz |
Merge to XFA: Add format width and precision tests.
This CL adds tests for the numeric conversion done when calculating the format
percision and width fields.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1411973005 .
(cherry picked from commit c9e76c09b9e7901823ac52a3705da235bd2abe24)
Review URL: https://codereview.chromium.org/1421813008 .
Diffstat (limited to 'core/src/fxcrt/fx_basic_wstring_unittest.cpp')
-rw-r--r-- | core/src/fxcrt/fx_basic_wstring_unittest.cpp | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/core/src/fxcrt/fx_basic_wstring_unittest.cpp b/core/src/fxcrt/fx_basic_wstring_unittest.cpp index b75a6fbd39..5141cdd61f 100644 --- a/core/src/fxcrt/fx_basic_wstring_unittest.cpp +++ b/core/src/fxcrt/fx_basic_wstring_unittest.cpp @@ -440,3 +440,79 @@ TEST(fxcrt, WideStringCOperatorNE) { EXPECT_TRUE(c_string2 != wide_string_c); EXPECT_TRUE(c_string3 != wide_string_c); } + +TEST(fxcrt, WideStringFormatWidth) { + { + CFX_WideString str; + str.Format(L"%5d", 1); + EXPECT_EQ(L" 1", str); + } + + { + CFX_WideString str; + str.Format(L"%d", 1); + EXPECT_EQ(L"1", str); + } + + { + CFX_WideString str; + str.Format(L"%*d", 5, 1); + EXPECT_EQ(L" 1", str); + } + + { + CFX_WideString str; + str.Format(L"%-1d", 1); + EXPECT_EQ(L"1", str); + } + + { + CFX_WideString str; + str.Format(L"%0d", 1); + EXPECT_EQ(L"1", str); + } + + { + CFX_WideString str; + str.Format(L"%1048576d", 1); + EXPECT_EQ(L"Bad width", str); + } +} + +TEST(fxcrt, WideStringFormatPrecision) { + { + CFX_WideString str; + str.Format(L"%.2f", 1.12345); + EXPECT_EQ(L"1.12", str); + } + + { + CFX_WideString str; + str.Format(L"%.*f", 3, 1.12345); + EXPECT_EQ(L"1.123", str); + } + + { + CFX_WideString str; + str.Format(L"%f", 1.12345); + EXPECT_EQ(L"1.123450", str); + } + + { + CFX_WideString str; + str.Format(L"%-1f", 1.12345); + EXPECT_EQ(L"1.123450", str); + } + + { + CFX_WideString str; + str.Format(L"%0f", 1.12345); + EXPECT_EQ(L"1.123450", str); + } + + { + CFX_WideString str; + str.Format(L"%.1048576f", 1.2); + EXPECT_EQ(L"Bad precision", str); + } +} |