X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/2a7f8fd51e5cd7f5f8e2d6f8e1fb48a6b178098f..db2ce3b774b3d24d9aa6d51874fa5f863fd82b83:/spec/indent/indent_spec.rb?ds=inline diff --git a/spec/indent/indent_spec.rb b/spec/indent/indent_spec.rb index ebfd103..0bd57b2 100644 --- a/spec/indent/indent_spec.rb +++ b/spec/indent/indent_spec.rb @@ -161,6 +161,27 @@ shared_examples_for "vim" do end end + describe "when line is empty inside a block" do + it "is indented like the previous line" do + vim.feedkeys 'idef a():\1\\2\kcc' + indent.should == shiftwidth + end + end + + describe "when line is empty inside a block following multi-line statement" do + it "is indented like the previous line" do + vim.feedkeys 'idef a():\x = (1 +\2)\\y\kcc' + indent.should == shiftwidth + end + end + + describe "when line is empty inside a block following stop statement" do + it "is indented like the previous line minus shiftwidth" do + vim.feedkeys 'iif x:\if y:\pass\\z\kcc' + indent.should == shiftwidth + end + end + describe "when using simple control structures" do it "indents shiftwidth spaces" do vim.feedkeys 'iwhile True:\pass' @@ -456,6 +477,16 @@ shared_examples_for "multiline strings" do proposed_indent.should == 4 end end + + describe "when breaking a string after opening parenthesis" do + before { vim.feedkeys 'i foo("""bar' } + it "it does indent the next line as after an opening multistring" do + vim.feedkeys '\' + expected_proposed, expected_indent = multiline_indent(4, 4 + shiftwidth) + indent.should == expected_indent + proposed_indent.should == expected_proposed + end + end end describe "vim when using width of 4" do