These are tests responsible for me finding out need for two previous patches.

# HG changeset patch
# User ZyX <[email protected]>
# Date 1367068426 -14400
# Branch python-extended-2
# Node ID 009744bca2dd4def8064ce41969c8003629f2b4d
# Parent  4f212c33aaa23e233b6ef7e267e49deda636a4a8
Add tests for buffer objects

diff -r 4f212c33aaa2 -r 009744bca2dd src/testdir/test86.in
--- a/src/testdir/test86.in     Sat Apr 27 17:13:32 2013 +0400
+++ b/src/testdir/test86.in     Sat Apr 27 17:13:46 2013 +0400
@@ -475,9 +475,50 @@
 :       endtry
 :   endfor
 :   call RecVars(oname)
-endtry
 :endfor
 :only
+:"
+:" Test buffer object
+:vnew
+:put ='First line'
+:put ='Second line'
+:put ='Third line'
+:1 delete _
+:py b=vim.current.buffer
+:wincmd w
+:mark a
+py << EOF
+cb = vim.current.buffer
+# Tests BufferAppend and BufferItem
+cb.append(b[0])
+# Tests BufferSlice and BufferAssSlice
+cb.append('abc') # Will be overwritten
+cb[-1:] = b[:-2]
+# Test BufferLength and BufferAssSlice
+cb.append('def') # Will not be overwritten
+cb[len(cb):] = b[:]
+# Test BufferAssItem and BufferMark
+cb.append('ghi') # Will be overwritten
+cb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
+# Test BufferRepr
+cb.append(repr(cb) + repr(b))
+# Modify foreign buffer
+b.append('foo')
+b[0]='bar'
+b[0:0]=['baz']
+vim.command('call append("$", getbufline(%i, 1, "$"))' % b.number)
+# Test CheckBuffer
+vim.command('bwipeout! ' + str(b.number))
+for expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc")'):
+    try:
+        exec(expr)
+    except vim.error:
+        pass
+    else:
+        # Usually a SEGV here
+        # Should not happen in any case
+        cb.append('No exception for ' + expr)
+EOF
 :endfun
 :"
 :call Test()
diff -r 4f212c33aaa2 -r 009744bca2dd src/testdir/test86.ok
--- a/src/testdir/test86.ok     Sat Apr 27 17:13:32 2013 +0400
+++ b/src/testdir/test86.ok     Sat Apr 27 17:13:46 2013 +0400
@@ -306,3 +306,16 @@
   G: '.,,'
   W: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
   B: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
+First line
+First line
+def
+First line
+Second line
+Third line
+(7, 2)
+<buffer test86.in><buffer >
+baz
+bar
+Second line
+Third line
+foo
diff -r 4f212c33aaa2 -r 009744bca2dd src/testdir/test87.in
--- a/src/testdir/test87.in     Sat Apr 27 17:13:32 2013 +0400
+++ b/src/testdir/test87.in     Sat Apr 27 17:13:46 2013 +0400
@@ -444,9 +444,50 @@
 :       endtry
 :   endfor
 :   call RecVars(oname)
-endtry
 :endfor
 :only
+:"
+:" Test buffer object
+:vnew
+:put ='First line'
+:put ='Second line'
+:put ='Third line'
+:1 delete _
+:py3 b=vim.current.buffer
+:wincmd w
+:mark a
+py3 << EOF
+cb = vim.current.buffer
+# Tests BufferAppend and BufferItem
+cb.append(b[0])
+# Tests BufferSlice and BufferAssSlice
+cb.append('abc') # Will be overwritten
+cb[-1:] = b[:-2]
+# Test BufferLength and BufferAssSlice
+cb.append('def') # Will not be overwritten
+cb[len(cb):] = b[:]
+# Test BufferAssItem and BufferMark
+cb.append('ghi') # Will be overwritten
+cb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
+# Test BufferRepr
+cb.append(repr(cb) + repr(b))
+# Modify foreign buffer
+b.append('foo')
+b[0]='bar'
+b[0:0]=['baz']
+vim.command('call append("$", getbufline(%i, 1, "$"))' % b.number)
+# Test CheckBuffer
+vim.command('bwipeout! ' + str(b.number))
+for expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc")'):
+    try:
+        exec(expr)
+    except vim.error:
+        pass
+    else:
+        # Usually a SEGV here
+        # Should not happen in any case
+        cb.append('No exception for ' + expr)
+EOF
 :endfun
 :"
 :call Test()
diff -r 4f212c33aaa2 -r 009744bca2dd src/testdir/test87.ok
--- a/src/testdir/test87.ok     Sat Apr 27 17:13:32 2013 +0400
+++ b/src/testdir/test87.ok     Sat Apr 27 17:13:46 2013 +0400
@@ -295,3 +295,16 @@
   G: '.,,'
   W: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
   B: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
+First line
+First line
+def
+First line
+Second line
+Third line
+(7, 2)
+<buffer test87.in><buffer >
+baz
+bar
+Second line
+Third line
+foo

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


diff -cr vim.4f212c33aaa2/src/testdir/test86.in vim.009744bca2dd/src/testdir/test86.in
*** vim.4f212c33aaa2/src/testdir/test86.in	2013-04-28 19:54:55.176962919 +0400
--- vim.009744bca2dd/src/testdir/test86.in	2013-04-28 19:54:55.179962889 +0400
***************
*** 475,483 ****
  :       endtry
  :   endfor
  :   call RecVars(oname)
- endtry
  :endfor
  :only
  :endfun
  :"
  :call Test()
--- 475,524 ----
  :       endtry
  :   endfor
  :   call RecVars(oname)
  :endfor
  :only
+ :"
+ :" Test buffer object
+ :vnew
+ :put ='First line'
+ :put ='Second line'
+ :put ='Third line'
+ :1 delete _
+ :py b=vim.current.buffer
+ :wincmd w
+ :mark a
+ py << EOF
+ cb = vim.current.buffer
+ # Tests BufferAppend and BufferItem
+ cb.append(b[0])
+ # Tests BufferSlice and BufferAssSlice
+ cb.append('abc') # Will be overwritten
+ cb[-1:] = b[:-2]
+ # Test BufferLength and BufferAssSlice
+ cb.append('def') # Will not be overwritten
+ cb[len(cb):] = b[:]
+ # Test BufferAssItem and BufferMark
+ cb.append('ghi') # Will be overwritten
+ cb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
+ # Test BufferRepr
+ cb.append(repr(cb) + repr(b))
+ # Modify foreign buffer
+ b.append('foo')
+ b[0]='bar'
+ b[0:0]=['baz']
+ vim.command('call append("$", getbufline(%i, 1, "$"))' % b.number)
+ # Test CheckBuffer
+ vim.command('bwipeout! ' + str(b.number))
+ for expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc")'):
+     try:
+         exec(expr)
+     except vim.error:
+         pass
+     else:
+         # Usually a SEGV here
+         # Should not happen in any case
+         cb.append('No exception for ' + expr)
+ EOF
  :endfun
  :"
  :call Test()
diff -cr vim.4f212c33aaa2/src/testdir/test86.ok vim.009744bca2dd/src/testdir/test86.ok
*** vim.4f212c33aaa2/src/testdir/test86.ok	2013-04-28 19:54:55.174962939 +0400
--- vim.009744bca2dd/src/testdir/test86.ok	2013-04-28 19:54:55.178962899 +0400
***************
*** 306,308 ****
--- 306,321 ----
    G: '.,,'
    W: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
    B: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
+ First line
+ First line
+ def
+ First line
+ Second line
+ Third line
+ (7, 2)
+ <buffer test86.in><buffer >
+ baz
+ bar
+ Second line
+ Third line
+ foo
diff -cr vim.4f212c33aaa2/src/testdir/test87.in vim.009744bca2dd/src/testdir/test87.in
*** vim.4f212c33aaa2/src/testdir/test87.in	2013-04-28 19:54:55.175962929 +0400
--- vim.009744bca2dd/src/testdir/test87.in	2013-04-28 19:54:55.178962899 +0400
***************
*** 444,452 ****
  :       endtry
  :   endfor
  :   call RecVars(oname)
- endtry
  :endfor
  :only
  :endfun
  :"
  :call Test()
--- 444,493 ----
  :       endtry
  :   endfor
  :   call RecVars(oname)
  :endfor
  :only
+ :"
+ :" Test buffer object
+ :vnew
+ :put ='First line'
+ :put ='Second line'
+ :put ='Third line'
+ :1 delete _
+ :py3 b=vim.current.buffer
+ :wincmd w
+ :mark a
+ py3 << EOF
+ cb = vim.current.buffer
+ # Tests BufferAppend and BufferItem
+ cb.append(b[0])
+ # Tests BufferSlice and BufferAssSlice
+ cb.append('abc') # Will be overwritten
+ cb[-1:] = b[:-2]
+ # Test BufferLength and BufferAssSlice
+ cb.append('def') # Will not be overwritten
+ cb[len(cb):] = b[:]
+ # Test BufferAssItem and BufferMark
+ cb.append('ghi') # Will be overwritten
+ cb[-1] = repr((len(cb) - cb.mark('a')[0], cb.mark('a')[1]))
+ # Test BufferRepr
+ cb.append(repr(cb) + repr(b))
+ # Modify foreign buffer
+ b.append('foo')
+ b[0]='bar'
+ b[0:0]=['baz']
+ vim.command('call append("$", getbufline(%i, 1, "$"))' % b.number)
+ # Test CheckBuffer
+ vim.command('bwipeout! ' + str(b.number))
+ for expr in ('b[1]','b[:] = ["A", "B"]','b[:]','b.append("abc")'):
+     try:
+         exec(expr)
+     except vim.error:
+         pass
+     else:
+         # Usually a SEGV here
+         # Should not happen in any case
+         cb.append('No exception for ' + expr)
+ EOF
  :endfun
  :"
  :call Test()
diff -cr vim.4f212c33aaa2/src/testdir/test87.ok vim.009744bca2dd/src/testdir/test87.ok
*** vim.4f212c33aaa2/src/testdir/test87.ok	2013-04-28 19:54:55.175962929 +0400
--- vim.009744bca2dd/src/testdir/test87.ok	2013-04-28 19:54:55.179962889 +0400
***************
*** 295,297 ****
--- 295,310 ----
    G: '.,,'
    W: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
    B: 1:',,' 2:'.,,' 3:'.,,' 4:'.,,'
+ First line
+ First line
+ def
+ First line
+ Second line
+ Third line
+ (7, 2)
+ <buffer test87.in><buffer >
+ baz
+ bar
+ Second line
+ Third line
+ foo

Raspunde prin e-mail lui