Files
Nim/nimsuggest/tests/fixtures/mstrutils.nim
Saem Ghani 4cf605dcf6 nimsuggest: fix and re-enable old tests (#16401)
A number of nimsuggest tests were disabled for various reasons, sometimes due
to brittleness. These tests have been fixed where needed and most have are now
enabled -- details below. The updates are meant to provide better regression
coverage for future nimsuggest improvements. To avoid brittleness some tests
were refactored.

Impact:
* test coverage has now increased
* faster execution of the test suite
* tests are less likely to break due to stdlib changes

Re-enabled Test & Test Description:
* `tchk1.nim`: check (chk) via nimsuggest works at end of file
* `tdot4.nim`: prioritize already used completion
* `tinclude.nim`: definition lookup (def) with includes
* `tstrutils.nim` -> `tdef2.nim`: test template definition lookup (def)
* `tsug_regression.nim`: regression test for [nimsuggest #52](https://github.com/nim-lang/nimsuggest/issues/52)
* `ttemplate_highlight.nim`: per the file name
* `twithin_macro_prefix.nim`: suggest within a macro with a prefix

Tests Not Re-Enabled:
* `twithin_macro.nim` still disabled as it doesn't provide a good test signal
* EPC highlight tests remain disabled -- requires out of scope tester changes

Additional Notes:
* todos added in comments for follow-up work
2020-12-27 10:08:28 +01:00

20 lines
582 B
Nim

import mfakeassert
func rereplace*(s, sub: string; by: string = ""): string {.used.} =
## competes for priority in suggestion, here first, but never used in test
fakeAssert(true, "always works")
result = by
func replace*(s, sub: string; by: string = ""): string =
## this is a test version of strutils.replace, it simply returns `by`
fakeAssert("".len == 0, "empty string is empty")
result = by
func rerereplace*(s, sub: string; by: string = ""): string {.used.} =
## isn't used and appears last, lowest priority
fakeAssert(false, "never works")
result = by