about summary refs log tree commit diff stats
path: root/tangle/003tangle.test.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-07-25 14:41:48 -0700
committerKartik Agaram <vc@akkartik.com>2018-07-25 14:41:48 -0700
commita18f5328ebe8d5cb878c90bf9ca03c1ab864a7d2 (patch)
treeb6b0f3c857bcfb8be689563892048f6ffe32ded2 /tangle/003tangle.test.cc
parent05db3f68947ec49fae945b3f388b928e3d3aca05 (diff)
downloadmu-a18f5328ebe8d5cb878c90bf9ca03c1ab864a7d2.tar.gz
4405
Diffstat (limited to 'tangle/003tangle.test.cc')
-rw-r--r--tangle/003tangle.test.cc67
1 files changed, 52 insertions, 15 deletions
diff --git a/tangle/003tangle.test.cc b/tangle/003tangle.test.cc
index 606e6fc9..4a1dc8de 100644
--- a/tangle/003tangle.test.cc
+++ b/tangle/003tangle.test.cc
@@ -363,7 +363,9 @@ void test_tangle_supports_scenarios() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n\");");  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, "      \"layer2: xyz\"");  lines.pop_front();
@@ -381,7 +383,9 @@ void test_tangle_ignores_empty_lines_in_scenarios() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n\");");  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, "      \"layer2: xyz\"");  lines.pop_front();
@@ -409,7 +413,9 @@ void test_tangle_supports_configurable_toplevel() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  foo(\"abc def\\n\");");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "  foo(");  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();
@@ -430,7 +436,9 @@ void test_tangle_can_hide_warnings_in_scenarios() {
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
   CHECK_EQ(lines.front().contents, "  Hide_warnings = true;");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n\");");  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, "      \"layer2: xyz\"");  lines.pop_front();
@@ -448,7 +456,9 @@ void test_tangle_can_include_c_code_at_end_of_scenario() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n\");");  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, "      \"layer2: xyz\"");  lines.pop_front();
@@ -465,7 +475,9 @@ void test_tangle_can_include_c_code_at_end_of_scenario_without_trace_expectation
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n\");");  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, "  int x = 1;");  lines.pop_front();
   CHECK_EQ(lines.front().contents, "}");  lines.pop_front();
   CHECK(lines.empty());
@@ -479,7 +491,9 @@ void test_tangle_supports_strings_in_scenarios() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc \\\"def\\\"\\n\");");  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, "      \"layer2: \\\"xyz\\\"\"");  lines.pop_front();
@@ -496,7 +510,9 @@ void test_tangle_supports_strings_in_scenarios2() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc \\\"\\\"\\n\");");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "  run(");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "      \"abc \\\"\\\"\\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, "      \"layer2: \\\"\\\"\"");  lines.pop_front();
@@ -514,7 +530,10 @@ void test_tangle_supports_multiline_input_in_scenarios() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n  efg\\n\");");  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, "      \"  efg\\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, "      \"layer2: \\\"\\\"\"");  lines.pop_front();
@@ -533,9 +552,13 @@ void test_tangle_supports_reset_in_scenarios() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n\");");  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, "  CLEAR_TRACE;");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"efg\\n\");");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "  run(");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "      \"efg\\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, "      \"layer2: \\\"\\\"\"");  lines.pop_front();
@@ -555,7 +578,10 @@ void test_tangle_can_check_for_absence_at_end_of_scenarios() {
 //?   for (list<Line>::iterator p = lines.begin();  p != lines.end();  ++p)
 //?     cerr << p->contents << '\n';
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n  efg\\n\");");  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, "      \"  efg\\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();
@@ -573,7 +599,10 @@ void test_tangle_can_check_for_absence_at_end_of_scenarios2() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n  efg\\n\");");  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, "      \"  efg\\n\"");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "  );");  lines.pop_front();
   CHECK_EQ(lines.front().contents, "  CHECK_TRACE_DOESNT_CONTAIN(\"layer1: pqr\");");  lines.pop_front();
   CHECK_EQ(lines.front().contents, "  CHECK_TRACE_DOESNT_CONTAIN(\"layer1: xyz\");");  lines.pop_front();
   CHECK_EQ(lines.front().contents, "}");  lines.pop_front();
@@ -588,7 +617,10 @@ void test_tangle_can_check_for_count_in_scenario() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n  efg\\n\");");  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, "      \"  efg\\n\"");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "  );");  lines.pop_front();
   CHECK_EQ(lines.front().contents, "  CHECK_TRACE_COUNT(\"layer1\", 2);");  lines.pop_front();
   CHECK_EQ(lines.front().contents, "}");  lines.pop_front();
   CHECK(lines.empty());
@@ -612,7 +644,12 @@ void test_tangle_can_handle_mu_comments_in_scenario() {
   list<Line> lines;
   tangle(in, lines);
   CHECK_EQ(lines.front().contents, "void test_does_bar() {");  lines.pop_front();
-  CHECK_EQ(lines.front().contents, "  run(\"abc def\\n# comment1\\n  efg\\n  # indented comment 2\\n\");");  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, "      \"# comment1\\n\"");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "      \"  efg\\n\"");  lines.pop_front();
+  CHECK_EQ(lines.front().contents, "      \"  # indented comment 2\\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, "      \"layer1: xyz\"");  lines.pop_front();