diff options
author | Zachary Turner <zturner@google.com> | 2017-02-14 19:06:37 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-02-14 19:06:37 +0000 |
commit | 8bd42a1a98377b717bfa3fae6efde4f72c18fea4 (patch) | |
tree | caf7175f59d9a144d2ac2423560a31086b1dcc84 /llvm/unittests/ADT/StringRefTest.cpp | |
parent | 01c3243fc1a20b5ddcb464a3183e5fd904d695a4 (diff) | |
download | llvm-8bd42a1a98377b717bfa3fae6efde4f72c18fea4.zip llvm-8bd42a1a98377b717bfa3fae6efde4f72c18fea4.tar.gz llvm-8bd42a1a98377b717bfa3fae6efde4f72c18fea4.tar.bz2 |
[Support] Add StringRef::getAsDouble.
Differential Revision: https://reviews.llvm.org/D29918
llvm-svn: 295089
Diffstat (limited to 'llvm/unittests/ADT/StringRefTest.cpp')
-rw-r--r-- | llvm/unittests/ADT/StringRefTest.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/StringRefTest.cpp b/llvm/unittests/ADT/StringRefTest.cpp index 5b6822e..614ec5d 100644 --- a/llvm/unittests/ADT/StringRefTest.cpp +++ b/llvm/unittests/ADT/StringRefTest.cpp @@ -852,6 +852,27 @@ TEST(StringRefTest, consumeIntegerSigned) { } } +struct GetDoubleStrings { + const char *Str; + bool AllowInexact; + bool ShouldFail; + double D; +} DoubleStrings[] = {{"0", false, false, 0.0}, + {"0.0", false, false, 0.0}, + {"-0.0", false, false, -0.0}, + {"123.45", false, true, 123.45}, + {"123.45", true, false, 123.45}}; + +TEST(StringRefTest, getAsDouble) { + for (const auto &Entry : DoubleStrings) { + double Result; + StringRef S(Entry.Str); + EXPECT_EQ(Entry.ShouldFail, S.getAsDouble(Result, Entry.AllowInexact)); + if (!Entry.ShouldFail) + EXPECT_EQ(Result, Entry.D); + } +} + static const char *join_input[] = { "a", "b", "c" }; static const char join_result1[] = "a"; static const char join_result2[] = "a:b:c"; |