spacevim/bundle/splitjoin.vim/spec/plugin/perl_spec.rb
JIe 2bb7059579
Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
init
2024-08-21 14:17:26 +08:00

173 lines
2.9 KiB
Ruby

require 'spec_helper'
describe "perl" do
let(:filename) { 'test.pl' }
before :each do
vim.set(:expandtab)
vim.set(:shiftwidth, 2)
end
after :each do
vim.command('silent! unlet g:splitjoin_trailing_comma')
end
after :all do
# The perl filetype messes with iskeyword...
vim.command('set iskeyword-=:')
end
specify "suffix if-clauses" do
set_file_contents 'print "a = $a\n" if $debug;'
split
assert_file_contents <<~EOF
if ($debug) {
print "a = $a\\n";
}
EOF
join
assert_file_contents 'print "a = $a\n" if $debug;'
end
specify "postfix if-clauses" do
set_file_contents 'if ($debug) { print "a = $a\\n"; }'
split
assert_file_contents <<~EOF
if ($debug) {
print "a = $a\\n";
}
EOF
end
specify "and/or control flow" do
set_file_contents 'open PID, ">", $pidfile or die;'
split
assert_file_contents <<~EOF
unless (open PID, ">", $pidfile) {
die;
}
EOF
join
assert_file_contents 'die unless open PID, ">", $pidfile;'
end
specify "hashes" do
set_file_contents "my $info = {name => $name, age => $age};"
split
assert_file_contents <<~EOF
my $info = {
name => $name,
age => $age,
};
EOF
join
assert_file_contents "my $info = {name => $name, age => $age};"
end
specify "square-bracketed list" do
set_file_contents "my @var = ['one', 'two', 'three'];"
split
assert_file_contents <<~EOF
my @var = [
'one',
'two',
'three'
];
EOF
join
assert_file_contents "my @var = ['one', 'two', 'three'];"
end
specify "square-bracketed list, trailing comma" do
vim.command('let g:splitjoin_trailing_comma = 1')
set_file_contents "my @var = ['one', 'two', 'three'];"
split
assert_file_contents <<~EOF
my @var = [
'one',
'two',
'three',
];
EOF
join
assert_file_contents "my @var = ['one', 'two', 'three'];"
end
specify "round-bracketed list" do
set_file_contents "my @var = ('one', 'two', 'three');"
split
assert_file_contents <<~EOF
my @var = (
'one',
'two',
'three'
);
EOF
join
assert_file_contents "my @var = ('one', 'two', 'three');"
end
specify "round-bracketed list, trailing comma" do
vim.command('let g:splitjoin_trailing_comma = 1')
set_file_contents "my @var = ('one', 'two', 'three');"
split
assert_file_contents <<~EOF
my @var = (
'one',
'two',
'three',
);
EOF
join
assert_file_contents "my @var = ('one', 'two', 'three');"
end
specify "word lists" do
set_file_contents "my @var = qw(one two three);"
split
assert_file_contents <<~EOF
my @var = qw(
one
two
three
);
EOF
join
assert_file_contents "my @var = qw(one two three);"
end
end