diff options
Diffstat (limited to 'tangle/003tangle.test.cc')
-rw-r--r-- | tangle/003tangle.test.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tangle/003tangle.test.cc b/tangle/003tangle.test.cc index 4a1dc8de..732c8f2e 100644 --- a/tangle/003tangle.test.cc +++ b/tangle/003tangle.test.cc @@ -660,6 +660,29 @@ void test_tangle_can_handle_mu_comments_in_scenario() { CHECK(lines.empty()); } +void test_tangle_can_interleave_present_and_absent_lines_to_kludgily_avoid_specifying_order() { + istringstream in(":(scenario does_bar)\n" + "abc def\n" + "+layer1: pqr\n" + "-absent\n" + "+layer2: xyz"); + list<Line> lines; + tangle(in, lines); + CHECK_EQ(lines.front().contents, "void test_does_bar() {"); lines.pop_front(); + CHECK_EQ(lines.front().contents, " run("); lines.pop_front(); + CHECK_EQ(lines.front().contents, " \"abc def\\n\""); lines.pop_front(); + CHECK_EQ(lines.front().contents, " );"); lines.pop_front(); + CHECK_EQ(lines.front().contents, " CHECK_TRACE_CONTENTS("); lines.pop_front(); + CHECK_EQ(lines.front().contents, " \"layer1: pqr\""); lines.pop_front(); + CHECK_EQ(lines.front().contents, " );"); lines.pop_front(); + CHECK_EQ(lines.front().contents, " CHECK_TRACE_DOESNT_CONTAIN(\"absent\");"); lines.pop_front(); + CHECK_EQ(lines.front().contents, " CHECK_TRACE_CONTENTS("); lines.pop_front(); + CHECK_EQ(lines.front().contents, " \"layer2: xyz\""); lines.pop_front(); + CHECK_EQ(lines.front().contents, " );"); lines.pop_front(); + CHECK_EQ(lines.front().contents, "}"); lines.pop_front(); + CHECK(lines.empty()); +} + //// helpers void test_trim() { |