diff options
Diffstat (limited to 'llvm/unittests/ADT/StringExtrasTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/StringExtrasTest.cpp | 20 |
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 +} |