def testSplitting(self):
     """See if it splits lines correctly"""
     # Each line is a single string
     result = runrepl._edit_line(self.source, "s,0,5,10", self.fn_output)
     self.failUnlessEqual(result[1:], self.source[1:])
     self.failUnlessEqual(result[0][0], self.source[0][0][:5])
     self.failUnlessEqual(result[0][1], " " * 10 + self.source[0][0][5:])
     # A line has multiple strings, so it has been split already
     src = self.source[:]
     src[0] = src[0] + ["xyz"]
     result = runrepl._edit_line(src, "s,0,5,10", self.fn_output)
     # print "result is ",pprint.pformat(result)
     self.failUnlessEqual(result[1:], src[1:])
     self.failUnlessEqual(result[0][0], src[0][0][:5])
     self.failUnlessEqual(result[0][1], " " * 10 + src[0][0][5:])
     self.failUnlessEqual(result[0][2], "xyz")
     # Each line is a single string, split not 0th line
     result = runrepl._edit_line(self.source, "s,1,5,10", self.fn_output)
     # print "result is ",pprint.pformat(result)
     self.failUnlessEqual(result[0], self.source[0])
     self.failUnlessEqual(result[2:], self.source[2:])
     self.failUnlessEqual(result[1][0], self.source[1][0][:5])
     self.failUnlessEqual(result[1][1], " " * 10 + self.source[1][0][5:])
     # Fail if splitting index out of bounds
     self.failUnlessRaises(runrepl.RunreplError, runrepl._edit_line, self.source, "s,5,10,15", self.fn_output)
 def testSplitting(self):
     """See if it splits lines correctly"""
     # Each line is a single string
     result = runrepl._edit_line(self.source, 's,0,5,10', self.fn_output)
     self.failUnlessEqual(result[1:], self.source[1:])
     self.failUnlessEqual(result[0][0], self.source[0][0][:5])
     self.failUnlessEqual(result[0][1], " " * 10 + self.source[0][0][5:])
     # A line has multiple strings, so it has been split already
     src = self.source[:]
     src[0] = src[0] + ['xyz']
     result = runrepl._edit_line(src, 's,0,5,10', self.fn_output)
     # print "result is ",pprint.pformat(result)
     self.failUnlessEqual(result[1:], src[1:])
     self.failUnlessEqual(result[0][0], src[0][0][:5])
     self.failUnlessEqual(result[0][1], " " * 10 + src[0][0][5:])
     self.failUnlessEqual(result[0][2], "xyz")
     # Each line is a single string, split not 0th line
     result = runrepl._edit_line(self.source, 's,1,5,10', self.fn_output)
     # print "result is ",pprint.pformat(result)
     self.failUnlessEqual(result[0], self.source[0])
     self.failUnlessEqual(result[2:], self.source[2:])
     self.failUnlessEqual(result[1][0], self.source[1][0][:5])
     self.failUnlessEqual(result[1][1], " " * 10 + self.source[1][0][5:])
     # Fail if splitting index out of bounds
     self.failUnlessRaises(runrepl.RunreplError, runrepl._edit_line,
                           self.source, 's,5,10,15', self.fn_output)
 def testDeleting(self):
     """See if it deletes correctly"""
     result = runrepl._edit_line(self.source, "d,0,1", self.fn_output)
     self.failUnlessEqual(result, [None] + self.source[1:])
     result = runrepl._edit_line(self.source, "d,0,2", self.fn_output)
     self.failUnlessEqual(result, [None, None] + self.source[2:])
     self.failUnlessRaises(runrepl.RunreplError, runrepl._edit_line, self.source, "d,5,6", self.fn_output)
 def testDeleting(self):
     """See if it deletes correctly"""
     result = runrepl._edit_line(self.source, 'd,0,1', self.fn_output)
     self.failUnlessEqual(result, [None] + self.source[1:])
     result = runrepl._edit_line(self.source, 'd,0,2', self.fn_output)
     self.failUnlessEqual(result, [None, None] + self.source[2:])
     self.failUnlessRaises(runrepl.RunreplError, runrepl._edit_line,
                           self.source, 'd,5,6', self.fn_output)
 def testBasic(self):
     """See if it works at all"""
     try:
         result = runrepl._edit_line(self.source, 'd,0,1', self.fn_output)
         # print "result is", pprint.pformat(result)
     except Exception, e:
         self.fail(str(e))
 def testBasic(self):
     """See if it works at all"""
     try:
         result = runrepl._edit_line(self.source, "d,0,1", self.fn_output)
         # print "result is", pprint.pformat(result)
     except Exception, e:
         self.fail(str(e))
class internal_edit_linetest(unittest.TestCase):
    """Test the _edit_line routine
    """
    # source to edit
    source = [['0123456789'], ['abcdef'], ['kkmm']]
    # File names
    fn_prefix = 'runrepl_test_testfile'
    fn_output = fn_prefix + '.' + runrepl.UNEDITED_OUTPUT_EXTENSION

    def testBasic(self):
        """See if it works at all"""
        try:
            result = runrepl._edit_line(self.source, 'd,0,1', self.fn_output)
            # print "result is", pprint.pformat(result)
        except Exception, e:
            self.fail(str(e))
        try:
            result = runrepl._edit_line(self.source, 's,0,5,10',
                                        self.fn_output)
            # print "result is", pprint.pformat(result)
        except Exception, e:
            self.fail(str(e))