fix read json bug 2

This commit is contained in:
pantor
2017-11-24 07:51:10 +01:00
parent f0311e33e2
commit 570f9fd961
2 changed files with 16 additions and 9 deletions

View File

@@ -501,15 +501,15 @@ public:
{Parsed::Function::GreaterEqual, Regex{"(.+) >= (.+)"}},
{Parsed::Function::LessEqual, Regex{"(.+) <= (.+)"}},
{Parsed::Function::Different, Regex{"(.+) != (.+)"}},
{Parsed::Function::Upper, Regex{"upper\\(\\s*(.*?)\\s*\\)"}},
{Parsed::Function::Lower, Regex{"lower\\(\\s*(.*?)\\s*\\)"}},
{Parsed::Function::Range, Regex{"range\\(\\s*(.*?)\\s*\\)"}},
{Parsed::Function::Length, Regex{"length\\(\\s*(.*?)\\s*\\)"}},
{Parsed::Function::Round, Regex{"round\\(\\s*(.*?)\\s*,\\s*(.*?)\\s*\\)"}},
{Parsed::Function::DivisibleBy, Regex{"divisibleBy\\(\\s*(.*?)\\s*,\\s*(.*?)\\s*\\)"}},
{Parsed::Function::Odd, Regex{"odd\\(\\s*(.*?)\\s*\\)"}},
{Parsed::Function::Even, Regex{"even\\(\\s*(.*?)\\s*\\)"}},
{Parsed::Function::ReadJson, Regex{"\\s*([^()]*)\\s*"}}
{Parsed::Function::Upper, Regex{"upper\\(\\s*(.*)\\s*\\)"}},
{Parsed::Function::Lower, Regex{"lower\\(\\s*(.*)\\s*\\)"}},
{Parsed::Function::Range, Regex{"range\\(\\s*(.*)\\s*\\)"}},
{Parsed::Function::Length, Regex{"length\\(\\s*(.*)\\s*\\)"}},
{Parsed::Function::Round, Regex{"round\\(\\s*(.*)\\s*,\\s*(.*)\\s*\\)"}},
{Parsed::Function::DivisibleBy, Regex{"divisibleBy\\(\\s*(.*)\\s*,\\s*(.*)\\s*\\)"}},
{Parsed::Function::Odd, Regex{"odd\\(\\s*(.*)\\s*\\)"}},
{Parsed::Function::Even, Regex{"even\\(\\s*(.*)\\s*\\)"}},
{Parsed::Function::ReadJson, Regex{"\\s*([^()]*?)\\s*"}}
};
Parser() { }

View File

@@ -48,6 +48,13 @@ TEST_CASE("search-with-multiple-possible-regexes") {
CHECK( match.str() == "ipsum" );
CHECK( match.str(1) == "s" );
}
SECTION("basic 3") {
std::vector<inja::Regex> regex_patterns = { inja::Regex("upper\\((.*)\\)"), inja::Regex("lower\\((.*)\\)"), inja::Regex("[^()]*?") };
inja::Match match = inja::search("upper(lower(name))", regex_patterns, 0);
CHECK( match.regex_number() == 0 );
CHECK( match.str(1) == "lower(name)" );
}
}
TEST_CASE("search-on-level") {