diff options
author | hjk <hjk@qt.io> | 2022-01-31 07:42:30 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2022-02-03 11:25:12 +0000 |
commit | 5af00873cf69ce2ba1a750c80e1a20b24e306680 (patch) | |
tree | b5c33b17f7669164685b8699920ac832505f3b0d /src/plugins/fakevim/fakevim_test.cpp | |
parent | 2f925e20985967ac8a625d38a051b99f8c8f7623 (diff) |
FakeVim: Support backslashes in substitute command patterns
Change-Id: Ibfcea7fdc550082e4975e1fc4d2fba6563dbfd02
Done-by: Jochen Baier
Fixes: QTCREATORBUG-26955
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/fakevim/fakevim_test.cpp')
-rw-r--r-- | src/plugins/fakevim/fakevim_test.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index f8b37bd814..07ab92c191 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -3029,6 +3029,50 @@ void FakeVimPlugin::test_vim_substitute() COMMAND("undo | s/\\(b...E\\)/\\U\\1/g", "aBC DEfGh"); COMMAND("undo | s/\\(C..E\\)/\\l\\1/g", "abc dEfGh"); COMMAND("undo | s/\\(b...E\\)/\\L\\1/g", "abc defGh"); + + // replace 1 backslash with 1 forward slash (separator: /) + data.setText(R"(abc\def)"); + COMMAND(R"(s/\\/\/)", X "abc/def"); + + // replace 1 backslash with X normal on line (separator: /) + data.setText(R"(abc\def\ghi)"); + COMMAND(R"(s/\\/X/g)", X "abcXdefXghi"); + + // replace 1 backslash with 1 forward slash on line (separator: /) + data.setText(R"(abc\def\ghi)"); + COMMAND(R"(s/\\/\//g)", X "abc/def/ghi"); + + // replace 1 backslash with 1 forward slash + data.setText(R"(abc\def)"); + COMMAND(R"(s#\\#/)", X "abc/def"); + + // replace 1 backslash with 1 forward slash on line + data.setText(R"(abc\def\ghi)"); + COMMAND(R"(s#\\#/#g)", X "abc/def/ghi"); + + // replace 2 backslash with 2 forward slash + data.setText(R"(abc\\def)"); + COMMAND(R"(s#\\\\#//)", X "abc//def"); + + // replace 2 backslash with 2 forward slash on line + data.setText(R"(abc\\def\\ghi)"); + COMMAND(R"(s#\\\\#//#g)", X "abc//def//ghi"); + + // replace 1 backslash with 1 forward slash last char + data.setText(R"(abc\)"); + COMMAND(R"(s#\\#/)", X "abc/"); + + // replace 1 backslash with 1 forward slash first char + data.setText(R"(\abc)"); + COMMAND(R"(s#\\#/)", X "/abc"); + + // replace 1 # with 2 # on line + data.setText(R"(abc#def#ghi)"); + COMMAND(R"(s#\##\#\##g)", X "abc##def##ghi"); + + // replace 2 # with 4 # on line + data.setText(R"(abc##def##ghi)"); + COMMAND(R"(s#\#\##\#\#\#\##g)", X "abc####def####ghi"); } void FakeVimPlugin::test_vim_ex_commandbuffer_paste() |