1//===- llvm/unittest/Object/YAMLTest.cpp - Tests for Object YAML ----------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#include "llvm/MC/YAML.h" 11#include "llvm/Support/YAMLTraits.h" 12#include "gtest/gtest.h" 13 14using namespace llvm; 15 16struct BinaryHolder { 17 yaml::BinaryRef Binary; 18}; 19 20namespace llvm { 21namespace yaml { 22template <> 23struct MappingTraits<BinaryHolder> { 24 static void mapping(IO &IO, BinaryHolder &BH) { 25 IO.mapRequired("Binary", BH.Binary); 26 } 27}; 28} // end namespace yaml 29} // end namespace llvm 30 31TEST(ObjectYAML, BinaryRef) { 32 BinaryHolder BH; 33 SmallVector<char, 32> Buf; 34 llvm::raw_svector_ostream OS(Buf); 35 yaml::Output YOut(OS); 36 YOut << BH; 37 EXPECT_NE(OS.str().find("''"), StringRef::npos); 38} 39