X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/659ef8fe6e0fdaa4672bccf54f30f2a4b51f5917..a98f4de09a778473923fbc677aba6465d9d6583e:/spec/indent/indent_spec.rb diff --git a/spec/indent/indent_spec.rb b/spec/indent/indent_spec.rb index 3a4d3a2..932a091 100644 --- a/spec/indent/indent_spec.rb +++ b/spec/indent/indent_spec.rb @@ -67,6 +67,30 @@ describe "vim" do end end + describe "when using simple control structures" do + it "indents shiftwidth spaces" do + vim.feedkeys 'iwhile True:\pass' + indent.should == shiftwidth + end + end + + describe "when a line breaks with a manual '\\'" do + it "indents shiftwidth spaces on normal line" do + vim.feedkeys 'ivalue = test + \\\\\' + indent.should == shiftwidth + end + + it "indents 2x shiftwidth 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 @@ -77,7 +101,11 @@ describe "vim" do vim.echo("indent('.')").to_i end def proposed_indent - vim.echo("GetPythonPEPIndent(line('.'))").to_i + line = vim.echo("line('.')") + col = vim.echo("col('.')") + indent_value = vim.echo("GetPythonPEPIndent(line('.'))").to_i + vim.command("call cursor(#{line}, #{col})") + return indent_value end end