diff --git a/src/lib/diff/tree-diff-mutator-binding.hpp b/src/lib/diff/tree-diff-mutator-binding.hpp index d4d562b06..8f313baba 100644 --- a/src/lib/diff/tree-diff-mutator-binding.hpp +++ b/src/lib/diff/tree-diff-mutator-binding.hpp @@ -309,7 +309,7 @@ namespace diff{ } bool - find_and_accept (GenNode const& n) + findSrc (GenNode const& n) { UNIMPLEMENTED("locate designated element and accept it at current position"); } @@ -374,7 +374,7 @@ namespace diff{ { __expect_further_elements (n); // consume and leave waste, expected to be cleaned-up by skip() later - if (not find_and_accept(n)); + if (not findSrc(n)); __fail_not_found (n); } diff --git a/tests/library/diff/tree-manipulation-binding-test.cpp b/tests/library/diff/tree-manipulation-binding-test.cpp index bdd26517a..79c8fd35e 100644 --- a/tests/library/diff/tree-manipulation-binding-test.cpp +++ b/tests/library/diff/tree-manipulation-binding-test.cpp @@ -35,6 +35,7 @@ #include //#include +using util::join; using util::isnil; using lib::time::Time; using std::string; @@ -115,6 +116,7 @@ namespace test{ .attachDummy (target); CHECK (isnil (target)); + CHECK (target.emptySrc()); mutator.injectNew (ATTRIB1); CHECK (!isnil (target)); @@ -135,10 +137,62 @@ namespace test{ .beforeEvent("injectNew","b") .beforeEvent("injectNew","78:56:34.012") ); + CHECK (join(target) == "α = 1, γ = 3.45, γ = 3.45, b, b, 78:56:34.012"); cout << "Content after population; " - << util::join(target) < - + - + - + @@ -880,7 +880,7 @@ - + @@ -893,12 +893,13 @@

- + + @@ -1515,6 +1516,22 @@ + + + + + + +

+ das ist der wesentliche Kniff, +

+

+ durch den das Problem mit der "absrakten, opaquen" Position entschärft wird +

+ + +
+
@@ -1657,7 +1674,47 @@
- + + + + + + + + +

+ wir verzichten auf Introspektion der Elemente +

+ + +
+ + + + + + + + + + +

+ denn genau zu diesem Zweck haben wir die "External Tree Description" +

+ + +
+
+ + + + + + + + + + @@ -1709,6 +1766,11 @@ + + + + +