Add some unit tests for StringToFloat().

Change-Id: Ia6c6022af4fcc560f0cb93da89cb6a4b8e2439ac
Reviewed-on: https://pdfium-review.googlesource.com/c/46431
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxcrt/fx_string_unittest.cpp b/core/fxcrt/fx_string_unittest.cpp
index 3059de3..578bda5 100644
--- a/core/fxcrt/fx_string_unittest.cpp
+++ b/core/fxcrt/fx_string_unittest.cpp
@@ -53,3 +53,26 @@
   EXPECT_EQ(0x10000u, wstr2.GetLength());
   EXPECT_EQ(wstr, wstr2);
 }
+
+TEST(fxstring, StringToFloat) {
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat(""));
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat("0"));
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat("0.0"));
+  EXPECT_FLOAT_EQ(0.0f, StringToFloat("-0.0"));
+
+  EXPECT_FLOAT_EQ(0.25f, StringToFloat("0.25"));
+  EXPECT_FLOAT_EQ(-0.25f, StringToFloat("-0.25"));
+
+  EXPECT_FLOAT_EQ(100.0f, StringToFloat("100"));
+  EXPECT_FLOAT_EQ(100.0f, StringToFloat("100.0"));
+  EXPECT_FLOAT_EQ(100.0f, StringToFloat("    100.0"));
+  EXPECT_FLOAT_EQ(-100.0f, StringToFloat("-100.0000"));
+
+  EXPECT_FLOAT_EQ(3.402823e+38f,
+                  StringToFloat("340282300000000000000000000000000000000"));
+  EXPECT_FLOAT_EQ(-3.402823e+38f,
+                  StringToFloat("-340282300000000000000000000000000000000"));
+
+  EXPECT_FLOAT_EQ(1.000000119f, StringToFloat("1.000000119"));
+  EXPECT_FLOAT_EQ(1.999999881f, StringToFloat("1.999999881"));
+}