Source

rope_py3k / ropetest / contrib / changestacktest.py

Full commit
Ali Gholami Rudi b3926a4 





















Ali Gholami Rudi 31a571e 
zjes 6895c26 
Ali Gholami Rudi 31a571e 
zjes 6895c26 
Ali Gholami Rudi b3926a4 
zjes 6895c26 
Ali Gholami Rudi 31a571e 
Ali Gholami Rudi b3926a4 
zjes 6895c26 
Ali Gholami Rudi b3926a4 


import unittest

import rope.base.history
import rope.contrib.changestack
from rope.base.change import *
from ropetest import testutils


class ChangeStackTest(unittest.TestCase):

    def setUp(self):
        super(ChangeStackTest, self).setUp()
        self.project = testutils.sample_project()

    def tearDown(self):
        testutils.remove_project(self.project)
        super(ChangeStackTest, self).tearDown()

    def test_change_stack(self):
        myfile = self.project.root.create_file('myfile.txt')
        myfile.write('1')
        stack = rope.contrib.changestack.ChangeStack(self.project)
        stack.push(ChangeContents(myfile, '2'))
        self.assertEqual('2', myfile.read())
        stack.push(ChangeContents(myfile, '3'))
        self.assertEqual('3', myfile.read())
        stack.pop_all()
        self.assertEqual('1', myfile.read())
        changes = stack.merged()
        self.project.do(changes)
        self.assertEqual('3', myfile.read())


if __name__ == '__main__':
    unittest.main()