Commit cfb7606a authored by Denis Gladkikh's avatar Denis Gladkikh Committed by Jesse Beder
Browse files

Fix tag parsing with () (#532)

parent 86ae3a5a
......@@ -135,7 +135,7 @@ inline const RegEx& URI() {
return e;
}
inline const RegEx& Tag() {
static const RegEx e = Word() || RegEx("#;/?:@&=+$_.~*'", REGEX_OR) ||
static const RegEx e = Word() || RegEx("#;/?:@&=+$_.~*'()", REGEX_OR) ||
(RegEx('%') + Hex() + Hex());
return e;
}
......@@ -200,7 +200,7 @@ inline const RegEx& Chomp() {
// and some functions
std::string Escape(Stream& in);
}
} // namespace Exp
namespace Keys {
const char Directive = '%';
......@@ -216,7 +216,7 @@ const char LiteralScalar = '|';
const char FoldedScalar = '>';
const char VerbatimTagStart = '<';
const char VerbatimTagEnd = '>';
}
}
} // namespace Keys
} // namespace YAML
#endif // EXP_H_62B23520_7C8E_11DE_8A39_0800200C9A66
......@@ -230,6 +230,12 @@ TEST(NodeTest, LoadTildeAsNull) {
Node node = Load("~");
ASSERT_TRUE(node.IsNull());
}
TEST(NodeTest, LoadTagWithParenthesis) {
Node node = Load("!Complex(Tag) foo");
EXPECT_EQ(node.Tag(), "!Complex(Tag)");
EXPECT_EQ(node.as<std::string>(), "foo");
}
} // namespace
} // namespace YAML
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment