コード例 #1
0
    def setUp(self):
        dir = os.path.dirname(__file__)
        self.file = os.path.join(dir, 'watcher', 'test.txt')

        factory = Mock()
        factory.factory = MagicMock(return_value='return')

        self.watcher = CoverageWatcher(self.file, factory)
        self.detected = threading.Event()
        self.delete()
コード例 #2
0
    def setUp(self):
        dir = os.path.dirname(__file__)
        self.file = os.path.join(dir, 'watcher', 'test.txt')

        factory = Mock()
        factory.factory = MagicMock(return_value='return')

        self.watcher = CoverageWatcher(self.file, factory)
        self.detected = threading.Event()
        self.delete()
コード例 #3
0
ファイル: mediator.py プロジェクト: tonyle/SublimePHPCoverage
    def add(self, view):
        """
        Sets up a watcher for a newly opened view.
        """
        if not config.watch_report:
            return

        # find coverage file for the view's file
        filename = view.file_name()

        if filename is None:
            return

        if not self.matcher.should_include(filename):
            debug_message("Ignoring excluded file '%s'" % filename)
            return

        coverage = self.coverage_finder.find(filename)

        # nothing can be done if the coverage file can't be found
        if not coverage:
            return

        # ensure a CoverageWatcher exists for the coverage file
        if not coverage in self.watchers:
            debug_message("Creating CoverageWatcher for " + coverage)
            self.watchers[coverage] = CoverageWatcher(coverage)
        else:
            debug_message("Found existing CoverageWatcher for " + coverage)

        watcher = self.watchers[coverage]

        # add callbacks as defined at construction time, also adding in
        # the relevant view as a parameter to the callback
        for event, callback in self.callbacks.items():
            wrapped = self.prepare_callback(callback, view)
            watcher.add_callback(event, view.id(), wrapped)

        # start the watcher if it's not already running
        if not watcher.is_alive():
            debug_message("Starting CoverageWatcher for " + coverage)
            watcher.start()
コード例 #4
0
class TestCoverageWatcher(TestFileWatcher):

    def setUp(self):
        dir = os.path.dirname(__file__)
        self.file = os.path.join(dir, 'watcher', 'test.txt')

        factory = Mock()
        factory.factory = MagicMock(return_value='return')

        self.watcher = CoverageWatcher(self.file, factory)
        self.detected = threading.Event()
        self.delete()

    def tearDown(self):
        super(TestCoverageWatcher, self).tearDown()
        factory = self.watcher.get_coverage_factory()
        factory.factory.assert_called_once_with(self.file)

    def test_created(self):
        self.watcher.add_callback(CREATED, 1, lambda x: self.detect(x))
        self.watcher.start()
        self.create('created')
        self.assertTrue(self.detected.wait(1))

    def test_deleted(self):
        self.watcher.add_callback(DELETED, 1, lambda x: self.detect(x))
        self.create('deleted')
        self.watcher.start()
        self.delete()
        self.assertTrue(self.detected.wait(1))

    def test_modified(self):
        self.watcher.add_callback(MODIFIED, 1, lambda x: self.detect(x))
        self.create('modified1')
        self.watcher.start()
        self.modify('modified2')
        self.assertTrue(self.detected.wait(1))

    def test_unchanged(self):
        self.watcher.add_callback(UNCHANGED, 1, lambda x: self.detect(x))
        self.create('unchanged')
        self.watcher.start()
        self.modify('unchanged')
        self.assertTrue(self.detected.wait(1))

    def detect(self, data):
        "Perform callback parameter assertions and set detected event"
        self.assertEquals(data, 'return')
        self.detected.set()
コード例 #5
0
class TestCoverageWatcher(TestFileWatcher):
    def setUp(self):
        dir = os.path.dirname(__file__)
        self.file = os.path.join(dir, 'watcher', 'test.txt')

        factory = Mock()
        factory.factory = MagicMock(return_value='return')

        self.watcher = CoverageWatcher(self.file, factory)
        self.detected = threading.Event()
        self.delete()

    def tearDown(self):
        super(TestCoverageWatcher, self).tearDown()
        factory = self.watcher.get_coverage_factory()
        factory.factory.assert_called_once_with(self.file)

    def test_created(self):
        self.watcher.add_callback(CREATED, 1, lambda x: self.detect(x))
        self.watcher.start()
        self.create('created')
        self.assertTrue(self.detected.wait(1))

    def test_deleted(self):
        self.watcher.add_callback(DELETED, 1, lambda x: self.detect(x))
        self.create('deleted')
        self.watcher.start()
        self.delete()
        self.assertTrue(self.detected.wait(1))

    def test_modified(self):
        self.watcher.add_callback(MODIFIED, 1, lambda x: self.detect(x))
        self.create('modified1')
        self.watcher.start()
        self.modify('modified2')
        self.assertTrue(self.detected.wait(1))

    def test_unchanged(self):
        self.watcher.add_callback(UNCHANGED, 1, lambda x: self.detect(x))
        self.create('unchanged')
        self.watcher.start()
        self.modify('unchanged')
        self.assertTrue(self.detected.wait(1))

    def detect(self, data):
        "Perform callback parameter assertions and set detected event"
        self.assertEquals(data, 'return')
        self.detected.set()