# HG changeset patch
# User ZyX <[email protected]>
# Date 1367166387 -14400
# Branch python-extended-2
# Node ID bfd96af1b53510063d7fe10c9a6f0b2ce6488519
# Parent  e29132a9a246e303b8ce749564f7328bc2329ac0
Add tests for vim.bufferslist object

diff -r e29132a9a246 -r bfd96af1b535 src/testdir/test86.in
--- a/src/testdir/test86.in     Sun Apr 28 19:42:28 2013 +0400
+++ b/src/testdir/test86.in     Sun Apr 28 20:26:27 2013 +0400
@@ -460,6 +460,9 @@
 :   call RecVars(oname)
 :endfor
 :only
+:for buf in g:bufs[1:]
+:   execute 'bwipeout!' buf
+:endfor
 :"
 :" Test buffer object
 :vnew
@@ -502,6 +505,41 @@
         # Should not happen in any case
         cb.append('No exception for ' + expr)
 EOF
+:"
+:" Test vim.buffers object
+:set hidden
+:edit a
+:buffer #
+:edit b
+:buffer #
+:edit c
+:buffer #
+py << EOF
+# Check GCing iterator that was not fully exhausted
+i = iter(vim.buffers)
+cb.append('i:' + str(next(i)))
+# and also check creating more then one iterator at a time
+i2 = iter(vim.buffers)
+cb.append('i2:' + str(next(i2)))
+cb.append('i:' + str(next(i)))
+# The following should trigger GC and not cause any problems
+del i
+del i2
+i3 = iter(vim.buffers)
+cb.append('i3:' + str(next(i3)))
+del i3
+
+prevnum = 0
+for b in vim.buffers:
+    # Check buffer order
+    if prevnum >= b.number:
+        cb.append('!!! Buffer numbers not in strictly ascending order')
+    # Check indexing: vim.buffers[number].number == number
+    cb.append(str(b.number) + ':' + repr(vim.buffers[b.number]) + '=' + 
repr(b))
+    prevnum = b.number
+
+cb.append(str(len(vim.buffers)))
+EOF
 :endfun
 :"
 :call Test()
diff -r e29132a9a246 -r bfd96af1b535 src/testdir/test86.ok
--- a/src/testdir/test86.ok     Sun Apr 28 19:42:28 2013 +0400
+++ b/src/testdir/test86.ok     Sun Apr 28 20:26:27 2013 +0400
@@ -316,3 +316,12 @@
 Second line
 Third line
 foo
+i:<buffer test86.in>
+i2:<buffer test86.in>
+i:<buffer a>
+i3:<buffer test86.in>
+1:<buffer test86.in>=<buffer test86.in>
+6:<buffer a>=<buffer a>
+7:<buffer b>=<buffer b>
+8:<buffer c>=<buffer c>
+4
diff -r e29132a9a246 -r bfd96af1b535 src/testdir/test87.in
--- a/src/testdir/test87.in     Sun Apr 28 19:42:28 2013 +0400
+++ b/src/testdir/test87.in     Sun Apr 28 20:26:27 2013 +0400
@@ -446,6 +446,9 @@
 :   call RecVars(oname)
 :endfor
 :only
+:for buf in g:bufs[1:]
+:   execute 'bwipeout!' buf
+:endfor
 :"
 :" Test buffer object
 :vnew
@@ -488,6 +491,41 @@
         # Should not happen in any case
         cb.append('No exception for ' + expr)
 EOF
+:"
+:" Test vim.buffers object
+:set hidden
+:edit a
+:buffer #
+:edit b
+:buffer #
+:edit c
+:buffer #
+py3 << EOF
+# Check GCing iterator that was not fully exhausted
+i = iter(vim.buffers)
+cb.append('i:' + str(next(i)))
+# and also check creating more then one iterator at a time
+i2 = iter(vim.buffers)
+cb.append('i2:' + str(next(i2)))
+cb.append('i:' + str(next(i)))
+# The following should trigger GC and not cause any problems
+del i
+del i2
+i3 = iter(vim.buffers)
+cb.append('i3:' + str(next(i3)))
+del i3
+
+prevnum = 0
+for b in vim.buffers:
+    # Check buffer order
+    if prevnum >= b.number:
+        cb.append('!!! Buffer numbers not in strictly ascending order')
+    # Check indexing: vim.buffers[number].number == number
+    cb.append(str(b.number) + ':' + repr(vim.buffers[b.number]) + '=' + 
repr(b))
+    prevnum = b.number
+
+cb.append(str(len(vim.buffers)))
+EOF
 :endfun
 :"
 :call Test()
diff -r e29132a9a246 -r bfd96af1b535 src/testdir/test87.ok
--- a/src/testdir/test87.ok     Sun Apr 28 19:42:28 2013 +0400
+++ b/src/testdir/test87.ok     Sun Apr 28 20:26:27 2013 +0400
@@ -305,3 +305,12 @@
 Second line
 Third line
 foo
+i:<buffer test87.in>
+i2:<buffer test87.in>
+i:<buffer a>
+i3:<buffer test87.in>
+1:<buffer test87.in>=<buffer test87.in>
+6:<buffer a>=<buffer a>
+7:<buffer b>=<buffer b>
+8:<buffer c>=<buffer c>
+4

-- 
-- 
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.


Raspunde prin e-mail lui