Tests for replacer (#2675)

* Tests for Replacer: Replacer.Set and Replacer.Delete

* update replacer test to new implementation

* fix replacer: counted position wrong if placeholder was found

* fix replacer: found placeholder again, if it was a non-existing one

* test with spaces between the placeholders as this could have a different behaviour

* Tests for Replacer.Map

* Tests for Replacer.Set: check also for something like {l{test1}
This should be replaced as {lTEST1REPLACEMENT

* fix replacer: fix multiple occurrence of phOpen sign

* Tests for Replacer: rewrite Set and ReplaceAll tests to use implementation not interface

* Tests for Replacer: rewrite Delete test to use implementation not interface

* Tests for Replacer: rewrite Map tests to use implementation not interface

* Tests for Replacer: add test for NewReplacer

* Tests for Replacer: add test for default replacements

* Tests for Replacer: fixed and refactored tests

* Tests for Replacer: moved default replacement tests to New-test
as new should return a replace with provider which defines global replacements
This commit is contained in:
Johannes Hörmann 2019-07-21 17:57:34 +02:00 committed by Matt Holt
parent d98f2faef9
commit 95a447de9c
2 changed files with 272 additions and 2 deletions

View file

@ -115,12 +115,13 @@ func (r *replacer) ReplaceAll(input, empty string) string {
}
}
if !found {
lastWriteCursor = i
continue
}
// advance cursor to end of placeholder
i = end + 1
lastWriteCursor = i
i = end
lastWriteCursor = i + 1
}
// flush any unwritten remainder