Files

88 lines
4.0 KiB
C#

using Xunit;
namespace Test
{
public partial class ReadLine
{
[SkippableFact]
public void ViChangeWord()
{
TestSetup(KeyMode.Vi);
Test("012 45", Keys(
"012 45", _.Escape,
"bcwef", _.Escape, CheckThat(() => AssertLineIs("012 ef")),
"u", CheckThat(() => AssertLineIs("012 45")),
"02cwabcdef", _.Escape, CheckThat(() => AssertLineIs("abcdef")),
"u03cwghi klm", _.Escape, CheckThat(() => AssertLineIs("ghi klm")),
'u'
));
Test("012 45", Keys(
"012 45", _.Escape,
"0cwabc", _.Escape, "wcwef", _.Escape, CheckThat(() => AssertLineIs("abc ef")),
"uu", CheckThat(() => AssertLineIs("012 45")),
"02cwabcdef", _.Escape, CheckThat(() => AssertLineIs("abcdef")),
"u03cwghi klm", _.Escape, CheckThat(() => AssertLineIs("ghi klm")),
'u'
));
Test("test()b", Keys(
"test()b", _.Escape, CheckThat(() => AssertLineIs("test()b")), CheckThat(() => AssertCursorLeftIs(6)),
'b', CheckThat(() => AssertCursorLeftIs(4)),
"cw", CheckThat(() => AssertCursorLeftIs(4)),
"[]", _.Escape, CheckThat(() => AssertLineIs("test[]b")),
'u'
));
Test("test()", Keys(
"test()", CheckThat(() => AssertLineIs("test()")),
_.Escape, CheckThat(() => AssertCursorLeftIs(5)),
'b', CheckThat(() => AssertCursorLeftIs(4)),
"cw", CheckThat(() => AssertLineIs("test")),
"[]", _.Escape, CheckThat(() => AssertLineIs("test[]")),
'u'
));
Test("test()", Keys(
"test()", CheckThat(() => AssertLineIs("test()")),
_.Escape, CheckThat(() => AssertCursorLeftIs(5)),
'b', CheckThat(() => AssertCursorLeftIs(4)),
"dw", CheckThat(() => AssertLineIs("test")),
"ulbcw", CheckThat(() => AssertLineIs("test")),
"[]", _.Escape, CheckThat(() => AssertLineIs("test[]")),
'u'
));
Test(@"vim .\xx\VisualEditing.vi.cs", Keys(
"vim ", _.Period, _.Backslash, "PSReadLine", _.Backslash, "VisualEditing", _.Period, "vi", _.Period, "cs",
CheckThat(() => AssertLineIs(@"vim .\PSReadLine\VisualEditing.vi.cs")),
_.Escape, "Bll", CheckThat(() => AssertCursorLeftIs(6)),
"cw", _.Escape, CheckThat(() => AssertCursorLeftIs(5)), CheckThat(() => AssertLineIs(@"vim .\\VisualEditing.vi.cs")),
'u', CheckThat(() => AssertCursorLeftIs(6)), CheckThat(() => AssertLineIs(@"vim .\PSReadLine\VisualEditing.vi.cs")),
"cwxx", _.Escape, CheckThat(() => AssertCursorLeftIs(7))
));
Test("$response.Headers['location']", Keys(
_.Dollar, "response", _.Period, "Headers", _.LBracket, _.SQuote, "location", _.SQuote, _.RBracket, _.Escape,
CheckThat(() => AssertLineIs("$response.Headers['location']")),
"bb", CheckThat(() => AssertCursorLeftIs(19)),
"cw", CheckThat(() => AssertLineIs("$response.Headers['']")),
"territory", CheckThat(() => AssertLineIs("$response.Headers['territory']")),
_.Escape, CheckThat(() => AssertCursorLeftIs(27)),
'u'
));
Test("test(int)", Keys(
"test(int)", CheckThat(() => AssertLineIs("test(int)")),
_.Escape, CheckThat(() => AssertCursorLeftIs(8)),
'b', CheckThat(() => AssertCursorLeftIs(5)),
"cw", CheckThat(() => AssertLineIs("test()")), CheckThat(() => AssertCursorLeftIs(5)),
"float", CheckThat(() => AssertLineIs("test(float)")),
_.Escape, 'u'
));
}
}
}