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
205 lines
5.3 KiB
Ruby
205 lines
5.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe "Syntax highlighting" do
|
|
before :each do
|
|
vim.command 'let g:ruby_operators = 1'
|
|
end
|
|
after :each do
|
|
vim.command 'unlet g:ruby_operators'
|
|
end
|
|
|
|
specify "defined? operator" do
|
|
assert_correct_highlighting 'defined? foo', 'defined?', 'rubyDefinedOperator'
|
|
end
|
|
|
|
specify "English boolean operators" do
|
|
assert_correct_highlighting <<~'EOF', %w[not and or], 'rubyEnglishBooleanOperator'
|
|
not true
|
|
true and false
|
|
true or false
|
|
EOF
|
|
end
|
|
|
|
specify "modulo-assignment operators" do
|
|
assert_correct_highlighting <<~'EOF', '%=', 'rubyAssignmentOperator'
|
|
foo %= bar
|
|
EOF
|
|
end
|
|
|
|
specify "ternary operators" do
|
|
assert_correct_highlighting <<~'EOF', %w[? :], 'rubyTernaryOperator'
|
|
foo = bar ? 4 : 2
|
|
EOF
|
|
end
|
|
|
|
context "bracket operators" do
|
|
specify "after a plain identifier" do
|
|
assert_correct_highlighting <<~'EOF', '\\[..]', 'rubyOperator'
|
|
foo[42]
|
|
EOF
|
|
end
|
|
specify "after a ?!-named bare method call" do
|
|
assert_correct_highlighting <<~'EOF', '\\[..]', 'rubyOperator'
|
|
foo?[42]
|
|
EOF
|
|
end
|
|
specify "after a closing parenthesis" do
|
|
assert_correct_highlighting <<~'EOF', '\\[..]', 'rubyOperator'
|
|
(foo)[42]
|
|
EOF
|
|
end
|
|
specify "after a literal hash" do
|
|
assert_correct_highlighting <<~'EOF', '\\[...]', 'rubyOperator'
|
|
{ foo: bar }[foo]
|
|
EOF
|
|
end
|
|
specify "after a block arg method call" do
|
|
assert_correct_highlighting <<~'EOF', '\\[..]', 'rubyOperator'
|
|
foo { bar }[42]
|
|
EOF
|
|
end
|
|
end
|
|
|
|
specify "exponentiation operators" do
|
|
[
|
|
'foo**bar',
|
|
'foo ** bar',
|
|
'foo** bar',
|
|
].each do |str|
|
|
assert_correct_highlighting str, '\*\*', 'rubyArithmeticOperator'
|
|
end
|
|
end
|
|
|
|
context "double splat operators" do
|
|
specify "in method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*\*', 'rubyDoubleSplatOperator'
|
|
def foo(**bar)
|
|
end
|
|
EOF
|
|
end
|
|
specify "in multiline parameter list method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*\*', 'rubyDoubleSplatOperator'
|
|
def foo(bar,
|
|
**baz)
|
|
end
|
|
EOF
|
|
end
|
|
specify "as an anonymous parameter in method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*\*', 'rubyDoubleSplatOperator'
|
|
def foo(**)
|
|
end
|
|
EOF
|
|
end
|
|
specify "in unparenthesised method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*\*', 'rubyDoubleSplatOperator'
|
|
def foo **bar
|
|
end
|
|
EOF
|
|
end
|
|
specify "in unparenthesised method calls" do
|
|
assert_correct_highlighting <<~'EOF', '\*\*', 'rubyDoubleSplatOperator'
|
|
foo **bar
|
|
EOF
|
|
end
|
|
specify "in block parameter lists" do
|
|
assert_correct_highlighting <<~'EOF', '\*\*', 'rubyDoubleSplatOperator'
|
|
foo { |**bar| 42 }
|
|
EOF
|
|
end
|
|
end
|
|
|
|
specify "multiplication operators" do
|
|
[
|
|
'foo*bar',
|
|
'foo * bar',
|
|
'foo* bar',
|
|
].each do |str|
|
|
assert_correct_highlighting str, '\*', 'rubyArithmeticOperator'
|
|
end
|
|
end
|
|
|
|
context "splat operators" do
|
|
specify "in method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*', 'rubySplatOperator'
|
|
def foo(*bar)
|
|
end
|
|
EOF
|
|
end
|
|
specify "in multiline parameter list method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*', 'rubySplatOperator'
|
|
def foo(bar,
|
|
*baz)
|
|
end
|
|
EOF
|
|
end
|
|
specify "as an anonymous parameter in method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*', 'rubySplatOperator'
|
|
def foo(*)
|
|
end
|
|
EOF
|
|
end
|
|
specify "in unparenthesised method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '\*', 'rubySplatOperator'
|
|
def foo *bar
|
|
end
|
|
EOF
|
|
end
|
|
specify "in unparenthesised method calls" do
|
|
assert_correct_highlighting <<~'EOF', '\*', 'rubySplatOperator'
|
|
foo *bar
|
|
EOF
|
|
end
|
|
specify "in block parameter lists" do
|
|
assert_correct_highlighting <<~'EOF', '\*', 'rubySplatOperator'
|
|
foo { |*bar| 42 }
|
|
EOF
|
|
end
|
|
end
|
|
|
|
context "proc operators" do
|
|
specify "in method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '&', 'rubyProcOperator'
|
|
def foo(&bar)
|
|
end
|
|
EOF
|
|
end
|
|
specify "in multiline parameter list method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '&', 'rubyProcOperator'
|
|
def foo(bar,
|
|
&baz)
|
|
end
|
|
EOF
|
|
end
|
|
specify "in unparenthesised method definitions" do
|
|
assert_correct_highlighting <<~'EOF', '&', 'rubyProcOperator'
|
|
def foo &bar
|
|
end
|
|
EOF
|
|
end
|
|
specify "in unparenthesised method calls" do
|
|
assert_correct_highlighting <<~'EOF', '&', 'rubyProcOperator'
|
|
foo &bar
|
|
EOF
|
|
end
|
|
specify "before literal lambdas" do
|
|
assert_correct_highlighting <<~'EOF', '&', 'rubyProcOperator'
|
|
foo &->{}
|
|
EOF
|
|
end
|
|
end
|
|
|
|
specify "eigenclass operators" do
|
|
assert_correct_highlighting <<~'EOF', '<<', 'rubyEigenClassOperator'
|
|
class << self
|
|
end
|
|
EOF
|
|
end
|
|
|
|
specify "superclass operators" do
|
|
assert_correct_highlighting <<~'EOF', '<', 'rubySuperClassOperator'
|
|
class Foo < Bar
|
|
end
|
|
EOF
|
|
end
|
|
end
|