File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed
Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -1323,6 +1323,8 @@ class BinaryOpExpr : public Expression {
13231323 if (name == " iterable" ) return l.is_iterable ();
13241324 if (name == " sequence" ) return l.is_array ();
13251325 if (name == " defined" ) return !l.is_null ();
1326+ if (name == " true" ) return l.to_bool ();
1327+ if (name == " false" ) return !l.to_bool ();
13261328 throw std::runtime_error (" Unknown type for 'is' operator: " + name);
13271329 };
13281330 auto value = eval ();
Original file line number Diff line number Diff line change @@ -220,6 +220,18 @@ TEST(SyntaxTest, SimpleCases) {
220220 EXPECT_EQ (
221221 " False" ,
222222 render (R"( {% set foo = true %}{{ not foo is defined }})" , {}, {}));
223+ EXPECT_EQ (
224+ " True" ,
225+ render (R"( {% set foo = true %}{{ foo is true }})" , {}, {}));
226+ EXPECT_EQ (
227+ " False" ,
228+ render (R"( {% set foo = true %}{{ foo is false }})" , {}, {}));
229+ EXPECT_EQ (
230+ " True" ,
231+ render (R"( {% set foo = false %}{{ foo is not true }})" , {}, {}));
232+ EXPECT_EQ (
233+ " False" ,
234+ render (R"( {% set foo = false %}{{ foo is not false }})" , {}, {}));
223235 EXPECT_EQ (
224236 R"( {"a": "b"})" ,
225237 render (R"( {{ {"a": "b"} | tojson }})" , {}, {}));
You can’t perform that action at this time.
0 commit comments