[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/darrenatrealpython/bpython/main/bpython/test/test_filewatch.py [Back]  [Original]

import os
import unittest

try:
    import watchdog
    from bpython.curtsiesfrontend.filewatch import ModuleChangedEventHandler

    has_watchdog = True
except ImportError:
    has_watchdog = False

from unittest import mock


@unittest.skipUnless(has_watchdog, "watchdog required")
class TestModuleChangeEventHandler(unittest.TestCase):
    def setUp(self):
        self.module = ModuleChangedEventHandler([], 1)
        self.module.observer = mock.Mock()

    def test_create_module_handler(self):
        self.assertIsInstance(self.module, ModuleChangedEventHandler)

    def test_add_module(self):
        self.module._add_module("something/test.py")
        self.assertIn(
            os.path.abspath("something/test"),
            self.module.dirs[os.path.abspath("something")],
        )

    def test_activate_throws_error_when_already_activated(self):
        self.module.activated = True
        with self.assertRaises(ValueError):
            self.module.activate()

Web Proxy Viewer  |  New URL  |  Original Page