mirror of
1
0
Fork 0
ultimate-vim/sources_non_forked/vim-ruby/spec/indent/method_definitions_spec.rb

81 lines
1.5 KiB
Ruby
Raw Normal View History

require 'spec_helper'
describe "Indenting" do
specify "method definitions prefixed with access modifiers" do
assert_correct_indenting <<~EOF
class Foo
public def one(x)
end
private def two(y)
code
end
end
EOF
end
specify "method definitions prefixed with any method call" do
assert_correct_indenting <<~EOF
class Foo
foobar def one(x)
end
foobar? def one(x)
end
foobar! def one(x)
end
фубар def one(x)
end
foobar
def one(x)
end
FooBar1 def two(y)
code
end
end
EOF
end
2021-07-30 16:52:54 -04:00
specify "endless methods" do
# Note: A case that doesn't work at this time:
#
# def foo()
# = 42
#
assert_correct_indenting <<~EOF
indented_block do
def foo(bar) = puts(bar)
def foo!(bar) = puts(bar)
def foo?(bar) = puts(bar)
def foo(bar)=puts(bar)
def foo(bar) = bar + 1
def foo() = 1 + 1
def foo = 1 + 1
private def foo(bar) = bar + 1
def foo(bar) =
bar + 1
def foo(bar = default_function()) = puts(bar)
def foo(bar = default_function()) =
puts(bar)
def foo(
bar
) = puts(bar)
2022-08-08 04:41:37 -04:00
# Reference: https://github.com/vim-ruby/vim-ruby/issues/450
def self.foo = puts(bar)
def bar.foo = puts(baz)
2021-07-30 16:52:54 -04:00
end
EOF
end
end