[FXCRT] Test StringTo{Float,Double} with byte and wide strings

Address post-submit comment from https://crrev.com/c/60435 to ensure
that the WideString variant gets test coverage similar to ByteString.

Bug: chromium:611744
Change-Id: If366e0311638ff714dafb3a85c3940a5829a6320
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/60810
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxcrt/fx_string_unittest.cpp b/core/fxcrt/fx_string_unittest.cpp
index 95a3821..9556360 100644
--- a/core/fxcrt/fx_string_unittest.cpp
+++ b/core/fxcrt/fx_string_unittest.cpp
@@ -68,7 +68,7 @@
   EXPECT_EQ(wstr, wstr2);
 }
 
-TEST(fxstring, StringToFloat) {
+TEST(fxstring, ByteStringToFloat) {
   EXPECT_FLOAT_EQ(0.0f, StringToFloat(""));
   EXPECT_FLOAT_EQ(0.0f, StringToFloat("0"));
   EXPECT_FLOAT_EQ(0.0f, StringToFloat("0.0"));
@@ -91,6 +91,29 @@
   EXPECT_FLOAT_EQ(1.999999881f, StringToFloat("1.999999881"));
 }
 
+TEST(fxstring, WideStringToFloat) {
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat(L""));
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat(L"0"));
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat(L"0.0"));
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat(L"-0.0"));
+
+  EXPECT_FLOAT_EQ(0.25f, StringToFloat(L"0.25"));
+  EXPECT_FLOAT_EQ(-0.25f, StringToFloat(L"-0.25"));
+
+  EXPECT_FLOAT_EQ(100.0f, StringToFloat(L"100"));
+  EXPECT_FLOAT_EQ(100.0f, StringToFloat(L"100.0"));
+  EXPECT_FLOAT_EQ(100.0f, StringToFloat(L"    100.0"));
+  EXPECT_FLOAT_EQ(-100.0f, StringToFloat(L"-100.0000"));
+
+  EXPECT_FLOAT_EQ(3.402823e+38f,
+                  StringToFloat(L"340282300000000000000000000000000000000"));
+  EXPECT_FLOAT_EQ(-3.402823e+38f,
+                  StringToFloat(L"-340282300000000000000000000000000000000"));
+
+  EXPECT_FLOAT_EQ(1.000000119f, StringToFloat(L"1.000000119"));
+  EXPECT_FLOAT_EQ(1.999999881f, StringToFloat(L"1.999999881"));
+}
+
 TEST(fxstring, FloatToString) {
   char buf[32];
 
@@ -129,7 +152,7 @@
   EXPECT_STREQ("2", TerminatedFloatToString(1.999999881f, buf));
 }
 
-TEST(fxstring, StringToDouble) {
+TEST(fxstring, ByteStringToDouble) {
   EXPECT_FLOAT_EQ(0.0, StringToDouble(""));
   EXPECT_FLOAT_EQ(0.0, StringToDouble("0"));
   EXPECT_FLOAT_EQ(0.0, StringToDouble("0.0"));
@@ -152,6 +175,29 @@
   EXPECT_FLOAT_EQ(1.999999881, StringToDouble("1.999999881"));
 }
 
+TEST(fxstring, WideStringToDouble) {
+  EXPECT_FLOAT_EQ(0.0, StringToDouble(L""));
+  EXPECT_FLOAT_EQ(0.0, StringToDouble(L"0"));
+  EXPECT_FLOAT_EQ(0.0, StringToDouble(L"0.0"));
+  EXPECT_FLOAT_EQ(0.0, StringToDouble(L"-0.0"));
+
+  EXPECT_FLOAT_EQ(0.25, StringToDouble(L"0.25"));
+  EXPECT_FLOAT_EQ(-0.25, StringToDouble(L"-0.25"));
+
+  EXPECT_FLOAT_EQ(100.0, StringToDouble(L"100"));
+  EXPECT_FLOAT_EQ(100.0, StringToDouble(L"100.0"));
+  EXPECT_FLOAT_EQ(100.0, StringToDouble(L"    100.0"));
+  EXPECT_FLOAT_EQ(-100.0, StringToDouble(L"-100.0000"));
+
+  EXPECT_FLOAT_EQ(3.402823e+38,
+                  StringToDouble(L"340282300000000000000000000000000000000"));
+  EXPECT_FLOAT_EQ(-3.402823e+38,
+                  StringToDouble(L"-340282300000000000000000000000000000000"));
+
+  EXPECT_FLOAT_EQ(1.000000119, StringToDouble(L"1.000000119"));
+  EXPECT_FLOAT_EQ(1.999999881, StringToDouble(L"1.999999881"));
+}
+
 TEST(fxstring, DoubleToString) {
   char buf[32];