More test cases on Vader

This commit is contained in:
Junegunn Choi
2013-10-09 22:11:03 +09:00
parent 247f69bf3f
commit 7019edb08c

View File

@@ -1,11 +1,108 @@
Execute:
silent! unlet g:easy_align_delimiters
Execute (Clean up test environment):
" TODO: revert after test
silent! unlet g:easy_align_ignore_groups
silent! unlet g:easy_align_ignore_unmatched
silent! unlet g:easy_align_indentation
silent! unlet g:easy_align_delimiter_align
silent! unlet g:easy_align_interactive_modes
let g:easy_align_delimiters = {}
vnoremap <silent> <Enter> :EasyAlign<Enter>
###########################################################
Given (space-separated columns):
1 22222 33 444 555 6666 7 888
11 222 3333 4 55 6666 77 888
111 22 333 444 55555 6666 7 88888
1111 2 33 444 555 66 777 8
Do (left-align):
vip
\<Enter>
*\<Space>
Expect:
1 22222 33 444 555 6666 7 888
11 222 3333 4 55 6666 77 888
111 22 333 444 55555 6666 7 88888
1111 2 33 444 555 66 777 8
Do (right-align):
vip
\<Enter>\<Enter>
*\<Space>
Expect:
1 22222 33 444 555 6666 7 888
11 222 3333 4 55 6666 77 888
111 22 333 444 55555 6666 7 88888
1111 2 33 444 555 66 777 8
Do (center-align):
vip
\<Enter>\<Enter>\<Enter>
*\<Space>
Expect:
1 22222 33 444 555 6666 7 888
11 222 3333 4 55 6666 77 888
111 22 333 444 55555 6666 7 88888
1111 2 33 444 555 66 777 8
Given (comma-separated columns):
a,,bbb
aa,,bb
aaa,,b
aaaa,,
aaa,b,
aa,bb,
a,bbb,
Do (left-align):
vip
\<Enter>
*,
Expect:
a, , bbb
aa, , bb
aaa, , b
aaaa, ,
aaa, b,
aa, bb,
a, bbb,
Do (right-align):
vip
\<Enter>\<Enter>
*,
Expect:
a, , bbb
aa, , bb
aaa, , b
aaaa, ,
aaa, b,
aa, bb,
a, bbb,
Do (center-align):
vip
\<Enter>\<Enter>\<Enter>
*,
Expect:
a, , bbb
aa, , bb
aaa, , b
aaaa, ,
aaa, b,
aa, bb,
a, bbb,
###########################################################
Given (the beatles):
Paul McCartney 1942
George Harrison 1943mmdd
@@ -427,3 +524,565 @@ Expect ruby:
###########################################################
Given c (C code with comments 1):
/* a */ b = c
aa >= bb
// aaa = bbb = cccc
/* aaaa = */ bbbb === cccc " = dddd = " = eeee
aaaaa /* bbbbb */ == ccccc /* != eeeee = */ === fffff
Do:
vip\<Enter>*=
Expect c:
/* a */ b = c
aa >= bb
// aaa = bbb = cccc
/* aaaa = */ bbbb === cccc " = dddd = " = eeee
aaaaa /* bbbbb */ == ccccc /* != eeeee = */ === fffff
Do:
vip\<Enter>\<C-G>\<C-U>*=
Expect c:
/* a */ b = c
aa >= bb
// aaa = bbb = cccc
/* aaaa = */ bbbb === cccc " = dddd = " = eeee
aaaaa /* bbbbb */ == ccccc /* != eeeee = */ === fffff
###########################################################
Given c (C code with comments 2):
int a = 1;
long b = 2;
float c = 3;
string d = 4;
// this line should not get aligned
long int e = 5;
std::map f;
std::map g; /* this? */
short h /* how about this? */ = 6;
string i = "asdf";
Do (around =):
vip\<Enter>=
Expect c:
int a = 1;
long b = 2;
float c = 3;
string d = 4;
// this line should not get aligned
long int e = 5;
std::map f;
std::map g; /* this? */
short h /* how about this? */ = 6;
string i = "asdf";
Do (right-align around =, comment lines are ignored):
vip\<Enter>\<Enter>=
Expect c:
int a = 1;
long b = 2;
float c = 3;
string d = 4;
// this line should not get aligned
long int e = 5;
std::map f;
std::map g; /* this? */
short h /* how about this? */ = 6;
string i = "asdf";
Do (right-align around =, do not ignore comment lines):
vip\<Enter>\<Enter>\<C-U>=
Expect c:
int a = 1;
long b = 2;
float c = 3;
string d = 4;
// this line should not get aligned
long int e = 5;
std::map f;
std::map g; /* this? */
short h /* how about this? */ = 6;
string i = "asdf";
###########################################################
Given ruby (= operators):
a =
a = 1
bbbb .= 2
ccccccc = 3
ccccccccccccccc
ddd = #
eeee === eee = eee = eee=f
fff = ggg += gg &&= gg
g != hhhhhhhh == # 8
i := 5
i %= 5
i *= 5
j =~ 5
j >= 5
aa => 123
aa <<= 123
aa >>= 123
bbb => 123
c => 1233123
d => 123
dddddd &&= 123
dddddd ||= 123
dddddd /= 123
gg <=> ee
Do (1st =):
vip\<Enter>=
Expect ruby:
a =
a = 1
bbbb .= 2
ccccccc = 3
ccccccccccccccc
ddd = #
eeee === eee = eee = eee=f
fff = ggg += gg &&= gg
g != hhhhhhhh == # 8
i := 5
i %= 5
i *= 5
j =~ 5
j >= 5
aa => 123
aa <<= 123
aa >>= 123
bbb => 123
c => 1233123
d => 123
dddddd &&= 123
dddddd ||= 123
dddddd /= 123
gg <=> ee
Do (LR =):
vip\<Enter>**=
Expect ruby:
a =
a = 1
bbbb .= 2
ccccccc = 3
ccccccccccccccc
ddd = #
eeee === eee = eee = eee = f
fff = ggg += gg &&= gg
g != hhhhhhhh == # 8
i := 5
i %= 5
i *= 5
j =~ 5
j >= 5
aa => 123
aa <<= 123
aa >>= 123
bbb => 123
c => 1233123
d => 123
dddddd &&= 123
dddddd ||= 123
dddddd /= 123
gg <=> ee
Do (Alignment using mode_sequence, delimiter_align):
vip\<Enter>\<C-O>\<Backspace>cr*\<Enter>\<C-D>=
Expect ruby:
a =
a = 1
bbbb .= 2
ccccccc = 3
ccccccccccccccc
ddd = #
eeee === eee = eee = eee = f
fff = ggg += gg &&= gg
g != hhhhhhhh == # 8
i := 5
i %= 5
i *= 5
j =~ 5
j >= 5
aa => 123
aa <<= 123
aa >>= 123
bbb => 123
c => 1233123
d => 123
dddddd &&= 123
dddddd ||= 123
dddddd /= 123
gg <=> ee
Do (mode_sequence starting from 2nd, delimiter_align = center):
vip\<Enter>\<C-O>\<Backspace>rc**\<Enter>\<C-D>\<C-D>2=
Expect ruby:
a =
a = 1
bbbb .= 2
ccccccc = 3
ccccccccccccccc
ddd = #
eeee === eee = eee = eee = f
fff = ggg += gg &&= gg
g != hhhhhhhh == # 8
i := 5
i %= 5
i *= 5
j =~ 5
j >= 5
aa => 123
aa <<= 123
aa >>= 123
bbb => 123
c => 1233123
d => 123
dddddd &&= 123
dddddd ||= 123
dddddd /= 123
gg <=> ee
Do (around all =s, do not ignore unmatched):
vip\<Enter>\<C-U>
\<C-L>0\<Enter>
\<C-R>0\<Enter>
\<C-D>\<C-D>
*=
Expect ruby:
a =
a = 1
bbbb .= 2
ccccccc = 3
ccccccccccccccc
ddd = #
eeee ===eee = eee = eee=f
fff = ggg +=gg &&=gg
g != hhhhhhhh==# 8
i := 5
i %= 5
i *= 5
j =~ 5
j >= 5
aa => 123
aa <<=123
aa >>=123
bbb => 123
c => 1233123
d => 123
dddddd &&=123
dddddd ||=123
dddddd /= 123
gg <=>ee
Do (1st =):
vip\<Enter>\<Enter>\<Enter>2=
Expect ruby:
a =
a = 1
bbbb .= 2
ccccccc = 3
ccccccccccccccc
ddd = #
eeee === eee = eee = eee=f
fff = ggg += gg &&= gg
g != hhhhhhhh == # 8
i := 5
i %= 5
i *= 5
j =~ 5
j >= 5
aa => 123
aa <<= 123
aa >>= 123
bbb => 123
c => 1233123
d => 123
dddddd &&= 123
dddddd ||= 123
dddddd /= 123
gg <=> ee
###########################################################
Given ruby (Trailing ruby line comment):
apple = 1 # comment not aligned
apricot = 'DAD' + 'F#AD'
banana = 'Gros Michel' ## comment 2
Do (around the last spaces):
vip\<Enter>-\<Space>
Expect ruby:
apple = 1 # comment not aligned
apricot = 'DAD' + 'F#AD'
banana = 'Gros Michel' ## comment 2
Execute (define # rule):
let g:easy_align_delimiters =
\ { '#': { 'pattern': '#\+', 'ignores': ['String'], 'delimiter_align': 'l' } }
Do (using # rule):
vip\<Enter>\<C-U>#
Expect ruby:
apple = 1 # comment not aligned
apricot = 'DAD' + 'F#AD'
banana = 'Gros Michel' ## comment 2
Do (using regular expression):
vip\<Enter>=
gv\<Enter>
\<C-U>\<C-G>\<C-G>
\<C-D>
\<C-X>#\+\<Enter>
Expect ruby:
apple = 1 # comment not aligned
apricot = 'DAD' + 'F#AD'
banana = 'Gros Michel' ## comment 2
###########################################################
Given (method chain):
my_object
.method1.chain
.second_method.call
.third.call
.method_4.execute
Do (around all .):
vip\<Enter>*.
Expect:
my_object
.method1 .chain
.second_method.call
.third .call
.method_4 .execute
Do (around all . with deep indentation):
vip\<Enter>\<C-I>\<C-I>*.
Expect:
my_object
.method1 .chain
.second_method.call
.third .call
.method_4 .execute
Do (right-align around all .):
vip\<Enter>\<Enter>*.
Expect:
my_object
. method1. chain
.second_method. call
. third. call
. method_4.execute
###########################################################
Execute (define d rule):
let g:easy_align_delimiters.d =
\ { 'pattern': '\s\+\(\S\+\s*[;=]\)\@=', 'left_margin': 0, 'right_margin': 0 }
Given c (complex var dec):
const char* str = "Hello";
int64_t count = 1 + 2;
static double pi = 3.14;
static std::map<std::string, float>* scores = pointer;
Do (using d rule):
vip\<Enter>d
gv\<Enter>=
Expect c:
const char* str = "Hello";
int64_t count = 1 + 2;
static double pi = 3.14;
static std::map<std::string, float>* scores = pointer;
###########################################################
Given (indented code):
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do:
vip\<Enter>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (shallow indentation):
vip\<Enter>\<C-I>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (deep indentation):
vip\<Enter>\<C-I>\<C-I>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (no indentation):
vip\<Enter>\<C-I>\<C-I>\<C-I>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (right-align, shallow indentation):
vip\<Enter>\<Enter>\<C-I>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (center-align, shallow indentation):
vip\<Enter>\<Enter>\<Enter>\<C-I>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (right-align, deep indentation):
vip\<Enter>\<Enter>\<C-I>\<C-I>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (center-align, deep indentation):
vip\<Enter>\<Enter>\<Enter>\<C-I>\<C-I>=
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Do (right-align, no indentation):
vip\<Enter>\<Enter>\<C-I>\<C-I>\<C-I>=
###########################################################
Expect:
apple = 1
banana = 2
cake = 3
daisy = 4
eggplant = 5
Given (Center-align cases):
aaaa = 123456778901234567890 =
cccccccccccccc = 12345678 =
aaaa = 123456778901234567890 =
bbbbbb = 4
cccccccccccccccccc = 12345678 =
aaaa = 123456778901234567890 =
cccccccccccccccccc = 12345678 =
aaaaa = 123456778901234567890 =
cc = 12345678 =
aaaaa = 123456778901234567890 =
bbbbbbbbbb = 12345 =
aaaaa = 123456778901234567890 =
cccccccccccccccccc = 123 =
aaaaa = 123456778901234567890 =
cccccccccccccccccc = 12345678 =
aaaaa = 12345 =
bbbbbbbbbb = 123456778901234567890 =
aaaaa = 12345
bbbbbbbbbb = 123456778901234567890
Do:
vip\<Enter>\<Enter>\<Enter>=
}jvip\<Enter>\<Enter>\<Enter>=
}jvip\<Enter>\<Enter>\<Enter>=
}jvip\<Enter>\<Enter>\<Enter>=
}jvip\<Enter>\<Enter>\<Enter>2=
}jvip\<Enter>\<Enter>\<Enter>2=
}jvip\<Enter>\<Enter>\<Enter>2=
}jvip\<Enter>\<Enter>\<Enter>2=
}jvip\<Enter>\<Enter>\<Enter>2=
Expect:
aaaa = 123456778901234567890 =
cccccccccccccc = 12345678 =
aaaa = 123456778901234567890 =
bbbbbb = 4
cccccccccccccccccc = 12345678 =
aaaa = 123456778901234567890 =
cccccccccccccccccc = 12345678 =
aaaaa = 123456778901234567890 =
cc = 12345678 =
aaaaa = 123456778901234567890 =
bbbbbbbbbb = 12345 =
aaaaa = 123456778901234567890 =
cccccccccccccccccc = 123 =
aaaaa = 123456778901234567890 =
cccccccccccccccccc = 12345678 =
aaaaa = 12345 =
bbbbbbbbbb = 123456778901234567890 =
aaaaa = 12345
bbbbbbbbbb = 123456778901234567890