Skip to content

Commit 705ab2f

Browse files
committed
Add test for multilevel extension
1 parent d350d6e commit 705ab2f

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

test/extends_test.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,30 @@ TEST_F(ExtendsTest, SimpleBlockExtends)
5555
EXPECT_STREQ(expectedResult.c_str(), result.c_str());
5656
}
5757

58+
TEST_F(ExtendsTest, DISABLED_TwoLevelBlockExtends)
59+
{
60+
m_templateFs->AddFile("base.j2tpl", "Hello World! ->{% block b1 %}{% endblock %}<-");
61+
m_templateFs->AddFile("derived.j2tpl", R"({% extends "base.j2tpl" %}{%block b1%}Extended block!{%block innerB1%}=>innerB1 content<={%endblock%}{%endblock%})");
62+
m_templateFs->AddFile("derived2.j2tpl", R"({% extends "derived.j2tpl" %}{%block innerB1%}derived2 block{{super()}}{%endblock%})");
63+
64+
auto baseTpl = m_env.LoadTemplate("base.j2tpl");
65+
auto tpl = m_env.LoadTemplate("derived.j2tpl");
66+
auto tpl2 = m_env.LoadTemplate("derived2.j2tpl");
67+
68+
std::string baseResult = baseTpl.RenderAsString(jinja2::ValuesMap{});
69+
std::cout << baseResult << std::endl;
70+
std::string expectedResult = "Hello World! -><-";
71+
EXPECT_STREQ(expectedResult.c_str(), baseResult.c_str());
72+
std::string result = tpl.RenderAsString(jinja2::ValuesMap{});
73+
std::cout << result << std::endl;
74+
expectedResult = "Hello World! ->Extended block!<-";
75+
EXPECT_STREQ(expectedResult.c_str(), result.c_str());
76+
std::string result2 = tpl2.RenderAsString(jinja2::ValuesMap{});
77+
std::cout << result2 << std::endl;
78+
expectedResult = "Hello World! ->Extended block b1!<- ->Extended block b2!<-";
79+
EXPECT_STREQ(expectedResult.c_str(), result2.c_str());
80+
}
81+
5882
TEST_F(ExtendsTest, DoubleBlocksExtends)
5983
{
6084
m_templateFs->AddFile("base.j2tpl", "Hello World! ->{% block b1 %}{% endblock %}<- ->{% block b2 %}{% endblock b2%}<-");

0 commit comments

Comments
 (0)