fixed.vader 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. Include: include/setup.vader
  2. Given (Table):
  3. |a|b|c|d|
  4. | -|-|>-|-|
  5. |aaa|bbb|ccc|ddd|
  6. Do (Partial alignment around 1st |):
  7. \<C-V>ljj\<Enter>|
  8. Expect (Right margin should be correctly attached):
  9. | a|b|c|d|
  10. | -|-|>-|-|
  11. | aaa|bbb|ccc|ddd|
  12. Given (empty buffer):
  13. Execute (Aligning lines with many delimiters should not fail):
  14. call visualmode(1)
  15. call setline(1, repeat('|', &maxfuncdepth + 1))
  16. %EasyAlign*|
  17. AssertEqual (&maxfuncdepth + 1) * 3 - 2, len(getline(1))
  18. Given:
  19. a | b | c
  20. aa | bb | cc
  21. Execute:
  22. %EasyAlign*|iu0{'l':'<', 'r': '>'}
  23. Expect:
  24. a <|>b <|>c
  25. aa<|>bb<|>cc
  26. Given (Trailing delimiter):
  27. a | b | c |
  28. aa | bb | cc |
  29. Execute:
  30. %EasyAlign*|iu0{'l':'<', 'r': '>'}
  31. Expect:
  32. a <|>b <|>c <|
  33. aa<|>bb<|>cc<|
  34. Given (Tab-indented code (#20)):
  35. class MyUnitTest(unittest.TestCase):
  36. def test_base(self):
  37. n2f = {}
  38. n2v = {}
  39. f2v = {}
  40. n2gv = {}
  41. n2vt = {}
  42. Execute:
  43. set tabstop=1
  44. %EasyAlign=
  45. Expect:
  46. class MyUnitTest(unittest.TestCase):
  47. def test_base(self):
  48. n2f = {}
  49. n2v = {}
  50. f2v = {}
  51. n2gv = {}
  52. n2vt = {}
  53. Execute:
  54. set tabstop=2
  55. %EasyAlign=
  56. Expect:
  57. class MyUnitTest(unittest.TestCase):
  58. def test_base(self):
  59. n2f = {}
  60. n2v = {}
  61. f2v = {}
  62. n2gv = {}
  63. n2vt = {}
  64. Execute:
  65. set tabstop=4
  66. %EasyAlign=
  67. Expect:
  68. class MyUnitTest(unittest.TestCase):
  69. def test_base(self):
  70. n2f = {}
  71. n2v = {}
  72. f2v = {}
  73. n2gv = {}
  74. n2vt = {}
  75. Execute:
  76. set tabstop=8
  77. %EasyAlign=
  78. Expect:
  79. class MyUnitTest(unittest.TestCase):
  80. def test_base(self):
  81. n2f = {}
  82. n2v = {}
  83. f2v = {}
  84. n2gv = {}
  85. n2vt = {}
  86. Execute:
  87. set tabstop=12
  88. %EasyAlign=
  89. Expect:
  90. class MyUnitTest(unittest.TestCase):
  91. def test_base(self):
  92. n2f = {}
  93. n2v = {}
  94. f2v = {}
  95. n2gv = {}
  96. n2vt = {}
  97. Given (Tab-indented code (#20)):
  98. class MyUnitTest(unittest.TestCase):
  99. def test_base(self):
  100. # n2f= {}
  101. ## n2v= {}
  102. # f2v = {}
  103. ## n2gv = {}
  104. # n2vt = {}
  105. Execute:
  106. set tabstop=12
  107. %EasyAlign=
  108. Expect:
  109. class MyUnitTest(unittest.TestCase):
  110. def test_base(self):
  111. # n2f = {}
  112. ## n2v = {}
  113. # f2v = {}
  114. ## n2gv = {}
  115. # n2vt = {}
  116. Given (Some text):
  117. a,b,c
  118. d,e,f
  119. Do (Select 1st line, align 3rd line):
  120. - First line
  121. V\<esc>
  122. - Last line
  123. G
  124. - Align
  125. \<space>Aip*,
  126. - Previous selection
  127. gv
  128. - Upcase
  129. U
  130. Expect:
  131. A,B,C
  132. d, e, f
  133. Given c (#40 Ignored delimiters in LiveEasyAlign causes spurious undo):
  134. printf("foo = %f\n", foo);
  135. printf("foobar = %f\n", foobar);
  136. Do:
  137. gUiw
  138. :%LiveEasyAlign\<enter>
  139. =\<bs>==
  140. Expect c:
  141. PRINTF("foo = %f\n", foo);
  142. printf("foobar = %f\n", foobar);
  143. * #50 Error when using delimiter alignment option
  144. Given:
  145. a|bbb|c
  146. aa|bb|cc
  147. Do (#50 EasyAlign command with 'a' option):
  148. :%EasyAlign {'a': 'l'}\<cr>
  149. \<cr>
  150. *|
  151. Expect (Some text):
  152. a | bbb | c
  153. aa | bb | cc
  154. * #51 Repeat of visual <Plug>(LiveEasyAlign) broken
  155. Do (#51/#52 <Plug>(EasyAlignRepeat) in visual mode):
  156. V\<space>\<enter>\<enter>*||
  157. G
  158. V\<space>.
  159. Expect:
  160. a | bbb | c
  161. aa | bb | cc
  162. * #65 ?=
  163. Given:
  164. a?=b
  165. aa-=bb
  166. aaa?=bbb
  167. Do (#65 Alignment around ?=):
  168. \<space>Aip=
  169. Expect:
  170. a ?= b
  171. aa -= bb
  172. aaa ?= bbb
  173. * #67 \v
  174. Given c:
  175. bzero(&servaddr, sizeof(servaddr));
  176. servaddr.sin_family = AF_INET;
  177. servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  178. servaddr.sin_port = htons(SERV_PORT);
  179. Execute (#67 \v breaks surrounding regex):
  180. %EasyAlign/\v(\=\s)@<=</
  181. Expect:
  182. bzero(&servaddr, sizeof(servaddr));
  183. servaddr.sin_family = AF_INET;
  184. servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  185. servaddr.sin_port = htons(SERV_PORT);
  186. Execute (#67 \V followed by \v shouldn't matter):
  187. %EasyAlign/\v(\=\s)@<=<\V/
  188. Expect:
  189. bzero(&servaddr, sizeof(servaddr));
  190. servaddr.sin_family = AF_INET;
  191. servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  192. servaddr.sin_port = htons(SERV_PORT);
  193. Execute (#67 \zs is now allowed):
  194. %EasyAlign/=\zs/
  195. Expect:
  196. bzero(&servaddr, sizeof(servaddr));
  197. servaddr.sin_family = AF_INET;
  198. servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  199. servaddr.sin_port = htons(SERV_PORT);
  200. Include: include/teardown.vader
  201. Given:
  202. hello = world bye all
  203. hello world = bye all
  204. hello world = foo all
  205. Do (#105: Incorrectly detection of blockwise visual mode):
  206. \<c-v>jj\<esc>
  207. \<Space>Aip=
  208. Expect:
  209. hello = world bye all
  210. hello world = bye all
  211. hello world = foo all