X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/7cb9a56c62d3540432cbcf78364569be19eb9e8a..eb527d01d53257088da8c215b5d909623d543fad:/spec/indent/indent_spec.rb?ds=sidebyside

diff --git a/spec/indent/indent_spec.rb b/spec/indent/indent_spec.rb
index 1999d27..e43e799 100644
--- a/spec/indent/indent_spec.rb
+++ b/spec/indent/indent_spec.rb
@@ -153,6 +153,14 @@ shared_examples_for "vim" do
     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("""' }
 
@@ -449,3 +457,35 @@ describe "vim when using width of 8" do
 
   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