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"\<esc>gqq'
+ indent.should == 5
+ end
+ end
+
describe "when after multiple parens of different types" do
it "indents by one level" do
vim.feedkeys 'if({\<CR>'
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 '\<CR>'
+ proposed_indent.should == 0
+ indent.should == 0
+ end
+
+ it "with contents it does not indent the next line" do
+ vim.feedkeys 'string_contents\<CR>'
+ 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 '\<CR>'
+ 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 '\<CR>'
+ 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 '\<CR>'
+ proposed_indent.should == 4
+ indent.should == 4
+ end
+
+ it "and writing a new string, it does indent the next line" do
+ vim.feedkeys '\<CR>""'
+ 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 '\<CR>'
+ 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:\<CR>pass'