require 'spec_helper' describe "settings" do let(:filename) { 'test.rb' } before :each do vim.set 'expandtab' vim.set 'shiftwidth', 2 end after :each do vim.command('unlet g:splitjoin_ruby_trailing_comma') vim.command('unlet g:splitjoin_disabled_split_callbacks') vim.command('unlet g:splitjoin_mapping_fallback') end specify "precedence" do set_file_contents <<~EOF foo = {one: 'two', three: 'four'} EOF vim.search('one') vim.command('let g:splitjoin_ruby_trailing_comma = 0') split assert_file_contents <<~EOF foo = { one: 'two', three: 'four' } EOF join vim.command('let g:splitjoin_ruby_trailing_comma = 1') split assert_file_contents <<~EOF foo = { one: 'two', three: 'four', } EOF join vim.command('let g:splitjoin_ruby_trailing_comma = 0') vim.command('let b:splitjoin_ruby_trailing_comma = 1') split assert_file_contents <<~EOF foo = { one: 'two', three: 'four', } EOF end specify "disabling callbacks" do set_file_contents <<~EOF foo = func(one, two) if bar? EOF vim.search 'one' split assert_file_contents <<~EOF if bar? foo = func(one, two) end EOF vim.command('let g:splitjoin_disabled_split_callbacks = ["sj#ruby#SplitIfClause"]') set_file_contents <<~EOF foo = func(one, two) if bar? EOF vim.search 'one' split assert_file_contents <<~EOF foo = func(one, two) if bar? EOF end specify "disabling the built-in mappings" do vim.command('let g:splitjoin_mapping_fallback = 1') set_file_contents <<~EOF one two EOF join assert_file_contents 'onetwo' vim.command('let g:splitjoin_mapping_fallback = 0') set_file_contents <<~EOF one two EOF join assert_file_contents <<~EOF one two EOF end end