/[gzz]/gzz/test/gzz/content.py
ViewVC logotype

Diff of /gzz/test/gzz/content.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by benja, Tue Sep 17 18:56:41 2002 UTC revision 1.7 by tjl, Sat Oct 12 19:11:09 2002 UTC
# Line 21  from gzz import * Line 21  from gzz import *
21  from gzz.errors import *  from gzz.errors import *
22  import unittest  import unittest
23  from java import io  from java import io
   
 class TestRWStringContent(unittest.TestCase):  
     # Requires attributes:  
     # space = the space  
     # cells = sequence of cells  
   
     # XXX Test observers!  
     # XXX Test IndexOutOfBounds!  
   
     def testSetGet(self):  
         cells = self.cells  
         cells[0].setText("Foo")  
         cells[1].setText("Bar")  
         self.failUnlessEqual(cells[0].t(), "Foo")  
         self.failUnlessEqual(cells[1].t(), "Bar")  
   
     def testInsertDelete(self):  
         cells = self.cells  
         def assEq(a, b):  
             self.failUnlessEqual(a, b)  
         cells[0].setText("ABCDEFGH")  
         cells[0].insertText(1, "FOO")  
         assEq(cells[0].t(), "AFOOBCDEFGH")  
   
         cells[1].insertText(0, "FOO")  
         assEq(cells[1].t(), "FOO")  
   
         cells[2].setText("01234")  
         cells[2].deleteText(1,3)  
         assEq(cells[2].t(), "034")  
   
     def testCopyMove(self):  
         cells = self.cells  
         def assEq(a, b):  
             self.failUnlessEqual(a, b)  
         cells[0].setText("0123456789")  
         cells[1].moveText(0, cells[0], 1, 3)  
   
         assEq(cells[0].t(), "03456789")  
         assEq(cells[1].t(), "12")  
   
         cells[1].copyText(1, cells[0], 6, 7)  
         assEq(cells[0].t(), "03456789")  
         assEq(cells[1].t(), "182")  
   
     def testClone(self):  
         c = self.cells[0]  
         c.setText("foo")  
   
         d = c.zzclone()  
         assert c.t() == d.t() == "foo"  
   
         c.setText("bar")  
         assert c.t() == d.t() == "bar"  
   
         d.setText("baz")  
         assert c.t() == d.t() == "baz"  
           
     def testDelete(self):  
         """Delete must remove contents"""  
         c = self.cells[0]  
         c.setText("foo")  
         c.delete()  
         assert not c.t()  
   
   
 class TestRWSpanContent(TestRWStringContent):  
     def testEmptyEnfilade(self):  
         c = self.cells  
         t = c[0].space.getCellTexter();  
         e = t.getEnfilade(c[0], None)  
         assert e != None  
         assert e.makeString() == ''  
         assert c[0].t() == ''  
   
 class TestRWSpanDeltaContent(TestRWSpanContent):  
     def test_SDC_delta_ops(self):  
         c = self.cells  
   
         def a(ind, text):  
             self.failUnlessEqual(c[ind].t(), text)  
   
         c[0].setText("ABCDE")  
         c[1].setText("12345")  
   
         self.space.checkpointDelta()  
   
         c[0].insertText(1, "2")  
         c[1].deleteText(1, 2)  
   
         a(0, "A2BCDE")  
         a(1, "1345")  
   
         delt = self.space.checkpointDelta()  
   
         self.space.applyDelta(delt.inverse())  
   
         a(0, "ABCDE")  
         a(1, "12345")  
   
         self.space.applyDelta(delt)  
   
         a(0, "A2BCDE")  
         a(1, "1345")  
   
         try: self.space.applyDelta(delt)  
         except InconsistentChangeException: pass  
         else: self.fail("No exception")  
   
         #self.failUnlessRaises(InconsistentChangeException,  
         #    self.space.applyDelta, delt)  

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26