mirror of
https://github.com/ToruNiina/toml11.git
synced 2025-01-10 01:20:06 +00:00
feat: add escape sequence of ESC
as an unreleased feature
This commit is contained in:
parent
dcfe39a783
commit
dde351ea40
@ -217,6 +217,19 @@ BOOST_AUTO_TEST_CASE(test_ml_literal_string_value)
|
||||
value("'This,' she said, 'is just a pointless statement.'", string_t::literal));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_simple_excape_sequences)
|
||||
{
|
||||
TOML11_TEST_PARSE_EQUAL(parse_string,
|
||||
R"("\"\\\b\f\n\r\t")",
|
||||
string("\"\\\b\f\n\r\t", string_t::basic));
|
||||
#ifdef TOML11_USE_UNRELEASED_TOML_FEATURES
|
||||
TOML11_TEST_PARSE_EQUAL(parse_string,
|
||||
R"("\e")",
|
||||
string("\x1b", string_t::basic));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
BOOST_AUTO_TEST_CASE(test_unicode_escape_sequence)
|
||||
{
|
||||
#if defined(_MSC_VER) || defined(__INTEL_COMPILER)
|
||||
|
@ -133,6 +133,9 @@ using lex_escape_seq_char = either<character<'"'>, character<'\\'>,
|
||||
character<'b'>, character<'f'>,
|
||||
character<'n'>, character<'r'>,
|
||||
character<'t'>,
|
||||
#ifdef TOML11_USE_UNRELEASED_TOML_FEATURES
|
||||
character<'e'>, // ESC (0x1B)
|
||||
#endif
|
||||
lex_escape_unicode_short,
|
||||
lex_escape_unicode_long
|
||||
>;
|
||||
|
@ -327,6 +327,9 @@ inline result<std::string, std::string> parse_escape_sequence(location& loc)
|
||||
case 'n' :{loc.advance(); return ok(std::string("\n"));}
|
||||
case 'f' :{loc.advance(); return ok(std::string("\f"));}
|
||||
case 'r' :{loc.advance(); return ok(std::string("\r"));}
|
||||
#ifdef TOML11_USE_UNRELEASED_TOML_FEATURES
|
||||
case 'e' :{loc.advance(); return ok(std::string("\x1b"));} // ESC
|
||||
#endif
|
||||
case 'u' :
|
||||
{
|
||||
if(const auto token = lex_escape_unicode_short::invoke(loc))
|
||||
|
Loading…
Reference in New Issue
Block a user