blob: ea3d211aebfbee053d18d1089b6a9514e2f0a51f [file] [log] [blame]
Bram Moolenaar21d7c9b2017-02-01 20:53:38 +01001" Test ga normal command, and :ascii Ex command.
2func Do_ga(c)
3 call setline(1, a:c)
4 let l:a = execute("norm 1goga")
5 let l:b = execute("ascii")
6 call assert_equal(l:a, l:b)
7 return l:a
8endfunc
9
10func Test_ga_command()
11 new
12 set display=uhex
13 call assert_equal("\nNUL", Do_ga(''))
Bram Moolenaar5f73ef82018-02-27 21:09:30 +010014 call assert_equal("\n<<01>> 1, Hex 01, Oct 001, Digr SH", Do_ga("\x01"))
15 call assert_equal("\n<<09>> 9, Hex 09, Oct 011, Digr HT", Do_ga("\t"))
Bram Moolenaar21d7c9b2017-02-01 20:53:38 +010016
17 set display=
18 call assert_equal("\nNUL", Do_ga(''))
Bram Moolenaar5f73ef82018-02-27 21:09:30 +010019 call assert_equal("\n<^A> 1, Hex 01, Oct 001, Digr SH", Do_ga("\x01"))
20 call assert_equal("\n<^I> 9, Hex 09, Oct 011, Digr HT", Do_ga("\t"))
Bram Moolenaar21d7c9b2017-02-01 20:53:38 +010021
22 call assert_equal("\n<e> 101, Hex 65, Octal 145", Do_ga('e'))
23
Bram Moolenaar21d7c9b2017-02-01 20:53:38 +010024 " Test a few multi-bytes characters.
Bram Moolenaar5f73ef82018-02-27 21:09:30 +010025 call assert_equal("\n<é> 233, Hex 00e9, Oct 351, Digr e'", Do_ga('é'))
26 call assert_equal("\n<ẻ> 7867, Hex 1ebb, Oct 17273, Digr e2", Do_ga('ẻ'))
Bram Moolenaar21d7c9b2017-02-01 20:53:38 +010027
28 " Test with combining characters.
29 call assert_equal("\n<e> 101, Hex 65, Octal 145 < ́> 769, Hex 0301, Octal 1401", Do_ga("e\u0301"))
30 call assert_equal("\n<e> 101, Hex 65, Octal 145 < ́> 769, Hex 0301, Octal 1401 < ̱> 817, Hex 0331, Octal 1461", Do_ga("e\u0301\u0331"))
31 call assert_equal("\n<e> 101, Hex 65, Octal 145 < ́> 769, Hex 0301, Octal 1401 < ̱> 817, Hex 0331, Octal 1461 < ̸> 824, Hex 0338, Octal 1470", Do_ga("e\u0301\u0331\u0338"))
32 bwipe!
33endfunc