summaryrefslogtreecommitdiff
path: root/core/src/fxcrt/fx_basic_wstring_unittest.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2015-11-03 14:47:01 -0500
committerDan Sinclair <dsinclair@chromium.org>2015-11-03 14:47:01 -0500
commite6590c98c3e1bbbfa375316bce1f10d36ab6b5a2 (patch)
treef94aa8211ab67c5a3fe5be9d542eccd48b5957eb /core/src/fxcrt/fx_basic_wstring_unittest.cpp
parenteed2ee926d92f7cbc55b3e3d62a4a2cfddf0c3fd (diff)
downloadpdfium-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.cpp76
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);
+ }
+}