X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/b430740f94385419258e16fdf5f22dd20a5637e6..446bfd0cb17b5ea5b13161440a61d1a5f057c703:/spec/indent/indent_spec.rb?ds=inline diff --git a/spec/indent/indent_spec.rb b/spec/indent/indent_spec.rb index 15e265a..8ee78a6 100644 --- a/spec/indent/indent_spec.rb +++ b/spec/indent/indent_spec.rb @@ -76,6 +76,14 @@ shared_examples_for "vim" do end end + describe "when using gq to reindent a '(' that is" do + before { vim.feedkeys 'itest(' } + it "something and has a string without spaces at the end" do + vim.feedkeys 'something_very_long_blaaaaaaaaa, "some_very_long_string_blaaaaaaaaaaaaaaaaaaaa"\gqq' + indent.should == 5 + end + end + describe "when after multiple parens of different types" do it "indents by one level" do vim.feedkeys 'if({\' @@ -121,6 +129,68 @@ shared_examples_for "vim" do end end + describe "when after an '(' that is followed by an unfinished string" do + before { vim.feedkeys 'itest("""' } + + it "it does not indent the next line" do + vim.feedkeys '\' + proposed_indent.should == 0 + indent.should == 0 + end + + it "with contents it does not indent the next line" do + vim.feedkeys 'string_contents\' + proposed_indent.should == 0 + indent.should == 0 + end + end + + describe "when after assigning an unfinished string" do + before { vim.feedkeys 'itest = """' } + + it "it does not indent the next line" do + vim.feedkeys '\' + proposed_indent.should == 0 + indent.should == 0 + end + end + + describe "when after assigning an unfinished string" do + before { vim.feedkeys 'i test = """' } + + it "it does not indent the next line" do + vim.feedkeys '\' + proposed_indent.should == 0 + indent.should == 0 + end + end + + describe "when after assigning a finished string" do + before { vim.feedkeys 'i test = ""' } + + it "it does indent the next line" do + vim.feedkeys '\' + proposed_indent.should == 4 + indent.should == 4 + end + + it "and writing a new string, it does indent the next line" do + vim.feedkeys '\""' + proposed_indent.should == 4 + indent.should == 4 + end + end + + describe "when after a docstring" do + before { vim.feedkeys 'i """' } + + it "it does indent the next line" do + vim.feedkeys '\' + proposed_indent.should == 4 + indent.should == 4 + end + end + describe "when using simple control structures" do it "indents shiftwidth spaces" do vim.feedkeys 'iwhile True:\pass'