]> git.madduck.net Git - etc/vim.git/blobdiff - spec/indent/indent_spec.rb

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Remove AUTHORS, link to contributors on GitHub
[etc/vim.git] / spec / indent / indent_spec.rb
index 1999d27057fd1c1744ad8598602d026ced6e3f92..e43e799b39c6ccbfb486c7d6ac67867dbaab9785 100644 (file)
@@ -153,6 +153,14 @@ shared_examples_for "vim" do
     end
   end
 
     end
   end
 
+  describe "when the previous line has a list slice" do
+    it "does not indent" do
+      vim.feedkeys 'ib = a[2:]\<CR>'
+      indent.should == 0
+      proposed_indent.should == 0
+    end
+  end
+
   describe "when after an '(' that is followed by an unfinished string" do
     before { vim.feedkeys 'itest("""' }
 
   describe "when after an '(' that is followed by an unfinished string" do
     before { vim.feedkeys 'itest("""' }
 
@@ -449,3 +457,35 @@ describe "vim when using width of 8" do
 
   it_behaves_like "vim"
 end
 
   it_behaves_like "vim"
 end
+
+describe "vim for cython" do
+  before {
+    vim.command "enew"
+    vim.command "set ft=cython"
+    vim.command "runtime indent/python.vim"
+  }
+
+  def shiftwidth
+    @shiftwidth ||= vim.echo("exists('*shiftwidth') ? shiftwidth() : &sw").to_i
+  end
+  def tabstop
+    @tabstop ||= vim.echo("&tabstop").to_i
+  end
+  def indent
+    vim.echo("indent('.')").to_i
+  end
+
+  describe "when using a cdef function definition" do
+      it "indents shiftwidth spaces" do
+          vim.feedkeys 'icdef long_function_name(\<CR>arg'
+          indent.should == shiftwidth * 2
+      end
+  end
+
+  describe "when using a cpdef function definition" do
+      it "indents shiftwidth spaces" do
+          vim.feedkeys 'icpdef long_function_name(\<CR>arg'
+          indent.should == shiftwidth * 2
+      end
+  end
+end