summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT/StringExtrasTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/ADT/StringExtrasTest.cpp')
-rw-r--r--llvm/unittests/ADT/StringExtrasTest.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/llvm/unittests/ADT/StringExtrasTest.cpp b/llvm/unittests/ADT/StringExtrasTest.cpp
index 2cc9cad32b0..8f06f1e6e38 100644
--- a/llvm/unittests/ADT/StringExtrasTest.cpp
+++ b/llvm/unittests/ADT/StringExtrasTest.cpp
@@ -65,4 +65,22 @@ TEST(StringExtrasTest, ToAndFromHex) {
EvenBytes.size());
EXPECT_EQ(EvenStr, toHex(EvenData));
EXPECT_EQ(EvenData, fromHex(EvenStr));
-} \ No newline at end of file
+}
+
+TEST(StringExtrasTest, to_float) {
+ float F;
+ EXPECT_TRUE(to_float("4.7", F));
+ EXPECT_FLOAT_EQ(4.7, F);
+
+ double D;
+ EXPECT_TRUE(to_float("4.7", D));
+ EXPECT_DOUBLE_EQ(4.7, D);
+
+ long double LD;
+ EXPECT_TRUE(to_float("4.7", LD));
+ EXPECT_DOUBLE_EQ(4.7, LD);
+
+ EXPECT_FALSE(to_float("foo", F));
+ EXPECT_FALSE(to_float("7.4 foo", F));
+ EXPECT_FLOAT_EQ(4.7, F); // F should be unchanged
+}
OpenPOWER on IntegriCloud