X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/659ef8fe6e0fdaa4672bccf54f30f2a4b51f5917..a7617bc1e8fed5d7da31c9cba6d7075ad5f22493:/spec/indent/indent_spec.rb diff --git a/spec/indent/indent_spec.rb b/spec/indent/indent_spec.rb index 3a4d3a2..6f8af74 100644 --- a/spec/indent/indent_spec.rb +++ b/spec/indent/indent_spec.rb @@ -30,22 +30,22 @@ describe "vim" do end end - describe "when after a '(' that is at the end of its line" do - before { vim.feedkeys 'itest(\' } - - it "indents by one level" do - proposed_indent.should == shiftwidth - vim.feedkeys 'something' - indent.should == shiftwidth - vim.normal '==' - indent.should == shiftwidth - end - - it "puts the closing parenthesis at the same level" do - vim.feedkeys ')' - indent.should == 0 - end - end + # describe "when after a '(' that is at the end of its line" do + # before { vim.feedkeys 'itest(\' } + + # it "indents by one level" do + # proposed_indent.should == shiftwidth + # vim.feedkeys 'something' + # indent.should == shiftwidth + # vim.normal '==' + # indent.should == shiftwidth + # end + + # it "puts the closing parenthesis at the same level" do + # vim.feedkeys ')' + # indent.should == 0 + # end + # end describe "when after an '(' that is followed by something" do before { vim.feedkeys 'itest(something,\' } @@ -67,6 +67,30 @@ describe "vim" do end end + describe "when using simple control structures" do + it "indents four spaces" do + vim.feedkeys 'iwhile True:\pass' + indent.should == shiftwidth + end + end + + describe "when a line breaks with a manual '\\'" do + it "indents 4 spaces on normal line" do + vim.feedkeys 'ivalue = test + \\\\\' + indent.should == shiftwidth + end + + it "indents 8 spaces for control structures" do + vim.feedkeys 'iif somevalue == xyz and \\\\\' + indent.should == shiftwidth * 2 + end + + it "indents relative to line above" do + vim.feedkeys 'i\tvalue = test + \\\\\' + indent.should == shiftwidth * 2 + end + end + def shiftwidth @shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i end