diff options
Diffstat (limited to 'unittests/Support/YAMLIOTest.cpp')
-rw-r--r-- | unittests/Support/YAMLIOTest.cpp | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/unittests/Support/YAMLIOTest.cpp b/unittests/Support/YAMLIOTest.cpp index 21c8430f9588d..5cf0e9d0f5b35 100644 --- a/unittests/Support/YAMLIOTest.cpp +++ b/unittests/Support/YAMLIOTest.cpp @@ -1029,7 +1029,8 @@ TEST(YAMLIO, TestReadWriteBlockScalarValue) { LLVM_YAML_STRONG_TYPEDEF(int, MyNumber) LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(MyNumber) -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(llvm::StringRef) +LLVM_YAML_STRONG_TYPEDEF(llvm::StringRef, MyString) +LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(MyString) namespace llvm { namespace yaml { @@ -1049,12 +1050,23 @@ namespace yaml { static bool mustQuote(StringRef) { return false; } }; + + template <> struct ScalarTraits<MyString> { + using Impl = ScalarTraits<StringRef>; + static void output(const MyString &V, void *Ctx, raw_ostream &OS) { + Impl::output(V, Ctx, OS); + } + static StringRef input(StringRef S, void *Ctx, MyString &V) { + return Impl::input(S, Ctx, V.value); + } + static bool mustQuote(StringRef S) { return Impl::mustQuote(S); } + }; } } struct NameAndNumbers { llvm::StringRef name; - std::vector<llvm::StringRef> strings; + std::vector<MyString> strings; std::vector<MyNumber> single; std::vector<MyNumber> numbers; }; @@ -1128,8 +1140,8 @@ TEST(YAMLIO, TestReadWriteMyFlowSequence) { EXPECT_FALSE(yin.error()); EXPECT_TRUE(map2.name.equals("hello")); EXPECT_EQ(map2.strings.size(), 2UL); - EXPECT_TRUE(map2.strings[0].equals("one")); - EXPECT_TRUE(map2.strings[1].equals("two")); + EXPECT_TRUE(map2.strings[0].value.equals("one")); + EXPECT_TRUE(map2.strings[1].value.equals("two")); EXPECT_EQ(map2.single.size(), 1UL); EXPECT_EQ(1, map2.single[0]); EXPECT_EQ(map2.numbers.size(), 3UL); @@ -1739,7 +1751,6 @@ TEST(YAMLIO, TestFlagsReadError) { // // Test error handling reading built-in uint8_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint8_t) TEST(YAMLIO, TestReadBuiltInTypesUint8Error) { std::vector<uint8_t> seq; Input yin("---\n" @@ -1758,7 +1769,6 @@ TEST(YAMLIO, TestReadBuiltInTypesUint8Error) { // // Test error handling reading built-in uint16_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint16_t) TEST(YAMLIO, TestReadBuiltInTypesUint16Error) { std::vector<uint16_t> seq; Input yin("---\n" @@ -1777,7 +1787,6 @@ TEST(YAMLIO, TestReadBuiltInTypesUint16Error) { // // Test error handling reading built-in uint32_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint32_t) TEST(YAMLIO, TestReadBuiltInTypesUint32Error) { std::vector<uint32_t> seq; Input yin("---\n" @@ -1796,7 +1805,6 @@ TEST(YAMLIO, TestReadBuiltInTypesUint32Error) { // // Test error handling reading built-in uint64_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint64_t) TEST(YAMLIO, TestReadBuiltInTypesUint64Error) { std::vector<uint64_t> seq; Input yin("---\n" @@ -1815,7 +1823,6 @@ TEST(YAMLIO, TestReadBuiltInTypesUint64Error) { // // Test error handling reading built-in int8_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(int8_t) TEST(YAMLIO, TestReadBuiltInTypesint8OverError) { std::vector<int8_t> seq; Input yin("---\n" @@ -1853,7 +1860,6 @@ TEST(YAMLIO, TestReadBuiltInTypesint8UnderError) { // // Test error handling reading built-in int16_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(int16_t) TEST(YAMLIO, TestReadBuiltInTypesint16UnderError) { std::vector<int16_t> seq; Input yin("---\n" @@ -1892,7 +1898,6 @@ TEST(YAMLIO, TestReadBuiltInTypesint16OverError) { // // Test error handling reading built-in int32_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(int32_t) TEST(YAMLIO, TestReadBuiltInTypesint32UnderError) { std::vector<int32_t> seq; Input yin("---\n" @@ -1930,7 +1935,6 @@ TEST(YAMLIO, TestReadBuiltInTypesint32OverError) { // // Test error handling reading built-in int64_t type // -LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(int64_t) TEST(YAMLIO, TestReadBuiltInTypesint64UnderError) { std::vector<int64_t> seq; Input yin("---\n" @@ -1967,7 +1971,6 @@ TEST(YAMLIO, TestReadBuiltInTypesint64OverError) { // // Test error handling reading built-in float type // -LLVM_YAML_IS_SEQUENCE_VECTOR(float) TEST(YAMLIO, TestReadBuiltInTypesFloatError) { std::vector<float> seq; Input yin("---\n" @@ -1986,7 +1989,6 @@ TEST(YAMLIO, TestReadBuiltInTypesFloatError) { // // Test error handling reading built-in float type // -LLVM_YAML_IS_SEQUENCE_VECTOR(double) TEST(YAMLIO, TestReadBuiltInTypesDoubleError) { std::vector<double> seq; Input yin("---\n" |