X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/8d64e05e37bc3c9a01bd7c5d6e2948470551c351..68c34f9b2944a9ebf1f970d2d54b915806a121ad:/spec/indent/indent_spec.rb?ds=sidebyside diff --git a/spec/indent/indent_spec.rb b/spec/indent/indent_spec.rb index aa796df..db66b8f 100644 --- a/spec/indent/indent_spec.rb +++ b/spec/indent/indent_spec.rb @@ -502,11 +502,26 @@ shared_examples_for "multiline strings" do end describe "when after a docstring" do - before { vim.feedkeys 'i """' } it "it does indent the next line to the docstring" do - vim.feedkeys '\' + vim.feedkeys 'i """\' + indent.should == 4 + proposed_indent.should == 4 + end + + it "indents the closing docstring quotes" do + vim.feedkeys 'i """\\"""' indent.should == 4 proposed_indent.should == 4 + vim.echo('getline(3)').should == ' """' + end + + it "indents non-matching docstring quotes" do + vim.feedkeys 'i """\\' + vim.feedkeys "0C'''" + vim.echo('line(".")').should == "4" + vim.echo('getline(".")').should == "'''" + indent.should == 0 + proposed_indent.should == -1 end end @@ -687,7 +702,10 @@ describe "Compact multiline dict" do end describe "Using O" do - before { vim.feedkeys 'iif foo:\' } + before { + vim.feedkeys '\ggdG' + vim.feedkeys 'iif foo:\' + } it "respects autoindent" do vim.feedkeys '1\\' @@ -704,3 +722,25 @@ describe "Using O" do indent.should == 0 end end + +describe "searchpairpos" do + before { vim.feedkeys '\ggdG' } + it "handles nested parenthesis" do + vim.feedkeys 'iif foo.startswith("("):\' + indent.should == shiftwidth + end +end + +describe "o within TODO" do + before { + vim.feedkeys '\ggdG' + vim.feedkeys 'iif 1: # TODO\' + # Assertion that we have a pythonTodo here. + vim.echo('synIDattr(synID(line("."), col("."), 0), "name")').should match 'pythonTodo' + } + + it "respects autoindent" do + vim.feedkeys 'o' + indent.should == shiftwidth + end +end