X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/ce046bf478fe986946f751167ec1c70166d578cb..18593f1150972346884dac64d7e71fd6a5f2b0fc:/spec/indent/indent_spec.rb diff --git a/spec/indent/indent_spec.rb b/spec/indent/indent_spec.rb index 932a091..38ce192 100644 --- a/spec/indent/indent_spec.rb +++ b/spec/indent/indent_spec.rb @@ -91,6 +91,24 @@ describe "vim" do end end + describe "when current line is dedented compared to previous line" do + before { vim.feedkeys 'i\\if x:\return True\\' } + it "and current line has a valid indentation (Part 1)" do + vim.feedkeys '0i\if y:' + proposed_indent.should == -1 + end + + it "and current line has a valid indentation (Part 2)" do + vim.feedkeys '0i\\if y:' + proposed_indent.should == -1 + end + + it "and current line has an invalid indentation" do + vim.feedkeys 'i while True:\' + indent.should == previous_indent + shiftwidth + end + end + def shiftwidth @shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i end @@ -100,6 +118,10 @@ describe "vim" do def indent vim.echo("indent('.')").to_i end + def previous_indent + pline = vim.echo("line('.')").to_i - 1 + vim.echo("indent('#{pline}')").to_i + end def proposed_indent line = vim.echo("line('.')") col = vim.echo("col('.')")