Esempio n. 1
0
    def testLoadInvalid (self):
        dirlist = [u"../plugins/testinvalid",            # Нет такой директории
                   u"../plugins/testinvalid1",
                   u"../plugins/testinvalid2",
                   u"../plugins/testinvalid3",
                   u"../plugins/testinvalid4",
                   u"../plugins/testinvalid5",
                   u"../plugins/testinvalid6",
                   u"../plugins/testinvalid7",
                   u"../plugins/testempty1",
                   u"../plugins/testempty2",
                   u"../plugins/testempty2",                # Ссылка на плагин testempty2 повторяется еще раз
                   u"../plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.enableOutput = False
        loader.load (dirlist)

        self.assertEqual (len (loader), 3)
        self.assertEqual (loader[u"TestEmpty1"].name, u"TestEmpty1")
        self.assertEqual (loader[u"TestEmpty1"].version, u"0.1")
        self.assertEqual (loader[u"TestEmpty1"].description, u"This plugin is empty")

        self.assertEqual (loader[u"TestEmpty2"].name, u"TestEmpty2")
        self.assertEqual (loader[u"TestEmpty2"].version, u"0.1")
        self.assertEqual (loader[u"TestEmpty2"].description, u"This plugin is empty")

        self.assertEqual (loader[u"TestWikiCommand"].name, u"TestWikiCommand")
        self.assertEqual (loader[u"TestWikiCommand"].version, u"0.1")
Esempio n. 2
0
    def testDisabledPlugins(self):
        # Добавим плагин TestEmpty1 в черный список
        self.config.disabledPlugins.value = [u"TestEmpty1"]

        dirlist = [u"../test/plugins/testempty1",
                   u"../test/plugins/testempty2",
                   u"../test/plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 2)
        self.assertEqual(loader[u"TestEmpty2"].name, u"TestEmpty2")
        self.assertEqual(loader[u"TestEmpty2"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty2"].description,
                         u"This plugin is empty")

        self.assertEqual(loader[u"TestWikiCommand"].name, u"TestWikiCommand")
        self.assertEqual(loader[u"TestWikiCommand"].version, u"0.1")

        self.assertEqual(len(loader.disabledPlugins), 1)
        self.assertEqual(loader.disabledPlugins[u"TestEmpty1"].name,
                         u"TestEmpty1")
        self.assertEqual(
            loader.disabledPlugins[u"TestEmpty1"].version, u"0.1"
        )
        self.assertEqual(loader.disabledPlugins[u"TestEmpty1"].description,
                         u"This plugin is empty")
Esempio n. 3
0
    def testReload(self):

        tmp_plugin_dir = "../test/plugins/testreload"

        # init test
        shutil.copyfile('../test/plugins/testreload/testreload/testreload.v1',
                        '../test/plugins/testreload/testreload/plugin.py')

        dirlist = [tmp_plugin_dir]
        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        # pre-observation
        self.assertEqual(len(loader), 1)
        self.assertEqual(loader["TestReload"].name, "TestReload")
        self.assertEqual(loader["TestReload"].version, "0.1")

        # replace plugin file to ver 0.2
        os.remove('../test/plugins/testreload/testreload/plugin.py')
        sleep(1)
        shutil.copyfile('../test/plugins/testreload/testreload/testreload.v2',
                        '../test/plugins/testreload/testreload/plugin.py')

        # observation
        loader.reload("TestReload")
        self.assertEqual(len(loader), 1)
        self.assertEqual(loader["TestReload"].name, "TestReload")
        self.assertEqual(loader["TestReload"].version, "0.2")

        # restore
        os.remove('../test/plugins/testreload/testreload/plugin.py')
Esempio n. 4
0
    def testLoadInvalid(self):
        dirlist = [
            u"../plugins/testinvalid",  # Нет такой директории
            u"../plugins/testinvalid1",
            u"../plugins/testinvalid2",
            u"../plugins/testinvalid3",
            u"../plugins/testinvalid4",
            u"../plugins/testinvalid5",
            u"../plugins/testinvalid6",
            u"../plugins/testinvalid7",
            u"../plugins/testempty1",
            u"../plugins/testempty2",
            u"../plugins/testempty2",  # Ссылка на плагин testempty2 повторяется еще раз
            u"../plugins/testwikicommand"
        ]

        loader = PluginsLoader(Application)
        loader.enableOutput = False
        loader.load(dirlist)

        self.assertEqual(len(loader), 3)
        self.assertEqual(loader[u"TestEmpty1"].name, u"TestEmpty1")
        self.assertEqual(loader[u"TestEmpty1"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty1"].description,
                         u"This plugin is empty")

        self.assertEqual(loader[u"TestEmpty2"].name, u"TestEmpty2")
        self.assertEqual(loader[u"TestEmpty2"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty2"].description,
                         u"This plugin is empty")

        self.assertEqual(loader[u"TestWikiCommand"].name, u"TestWikiCommand")
        self.assertEqual(loader[u"TestWikiCommand"].version, u"0.1")
Esempio n. 5
0
    def testOnOffPlugins6(self):
        # Тест на включение/выключение плагинов
        dirlist = [
            u"../plugins/testempty1", u"../plugins/testempty2",
            u"../plugins/testwikicommand"
        ]

        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 3)
        self.assertEqual(len(loader.disabledPlugins), 0)
        self.assertTrue(loader[u"TestEmpty1"].enabled)

        # Отключим плагин TestEmpty1
        self.config.disabledPlugins.value = [u"TestEmpty1"]
        loader.updateDisableList()

        self.assertFalse(loader.disabledPlugins[u"TestEmpty1"].enabled)

        # Опять включим плагин TestEmpty1
        self.config.disabledPlugins.value = []
        loader.updateDisableList()

        self.assertTrue(loader[u"TestEmpty1"].enabled)
Esempio n. 6
0
    def testDisabledPlugins(self):
        # Добавим плагин TestEmpty1 в черный список
        self.config.disabledPlugins.value = [u"TestEmpty1"]

        dirlist = [
            u"../plugins/testempty1", u"../plugins/testempty2",
            u"../plugins/testwikicommand"
        ]

        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 2)
        self.assertEqual(loader[u"TestEmpty2"].name, u"TestEmpty2")
        self.assertEqual(loader[u"TestEmpty2"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty2"].description,
                         u"This plugin is empty")

        self.assertEqual(loader[u"TestWikiCommand"].name, u"TestWikiCommand")
        self.assertEqual(loader[u"TestWikiCommand"].version, u"0.1")

        self.assertEqual(len(loader.disabledPlugins), 1)
        self.assertEqual(loader.disabledPlugins[u"TestEmpty1"].name,
                         u"TestEmpty1")
        self.assertEqual(loader.disabledPlugins[u"TestEmpty1"].version, u"0.1")
        self.assertEqual(loader.disabledPlugins[u"TestEmpty1"].description,
                         u"This plugin is empty")
Esempio n. 7
0
    def testRemove(self):
        # Test for remove plugin
        dirlist = [
            "../test/plugins/testempty1", "../test/plugins/testempty2",
            "../test/plugins/testwikicommand"
        ]

        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        # Disable TestEmpty2
        self.config.disabledPlugins.value = ["TestEmpty2"]
        loader.updateDisableList()

        # pre-check
        self.assertEqual(len(loader), 2)
        self.assertEqual(len(loader.disabledPlugins), 1)

        # remove "TestEmpty1" (enabled)
        self.assertEqual(loader.remove("TestEmpty1"), True)

        self.assertEqual(len(loader), 1)
        self.assertEqual(len(loader.disabledPlugins), 1)

        # remove "TestEmpty2" (disabled)
        self.assertEqual(loader.remove("TestEmpty2"), True)

        self.assertEqual(len(loader), 1)
        self.assertEqual(len(loader.disabledPlugins), 0)

        # remove "TestEmpty3" (None)
        self.assertIs(loader.remove("TestEmpty3"), None)

        self.assertEqual(len(loader), 1)
        self.assertEqual(len(loader.disabledPlugins), 0)
Esempio n. 8
0
class TemplateTest (unittest.TestCase):
    """Тесты плагина Template"""
    def setUp (self):
        self.__createWiki()

        dirlist = [u"../plugins/template"]

        self.loader = PluginsLoader(Application)
        self.loader.load (dirlist)


    def tearDown (self):
        removeDir (self.path)
        self.loader.clear()


    def __createWiki (self):
        # Здесь будет создаваться вики
        self.path = mkdtemp (prefix=u'Абырвалг абыр')

        self.wikiroot = WikiDocument.create (self.path)

        WikiPageFactory().create (self.wikiroot, u"Страница 1", [])
        self.testPage = self.wikiroot[u"Страница 1"]


    def testPluginLoad (self):
        self.assertEqual (len (self.loader), 1)
Esempio n. 9
0
    def testLoad(self):
        dirlist = [
            u"../plugins/testempty1", u"../plugins/testempty2",
            u"../plugins/testempty2"
        ]
        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 2)
        self.assertEqual(loader[u"TestEmpty1"].name, u"TestEmpty1")
        self.assertEqual(loader[u"TestEmpty1"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty1"].description,
                         u"This plugin is empty")
        self.assertEqual(loader[u"TestEmpty1"].application, Application)

        self.assertEqual(loader[u"TestEmpty2"].name, u"TestEmpty2")
        self.assertEqual(loader[u"TestEmpty2"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty2"].description,
                         u"This plugin is empty")

        # Проверим, как работает итерация
        for plugin in loader:
            self.assertTrue(plugin == loader[u"TestEmpty1"]
                            or plugin == loader[u"TestEmpty2"])

        loader.clear()
        self.assertEqual(len(loader), 0)
Esempio n. 10
0
class PluginNameTest (unittest.TestCase):
    """Тесты плагина PluginName"""
    def setUp (self):
        self.__createWiki()

        dirlist = [u"../plugins/pluginname"]

        self.loader = PluginsLoader(Application)
        self.loader.load (dirlist)


    def tearDown (self):
        removeDir (self.path)
        self.loader.clear()


    def __createWiki (self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeDir (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        WikiPageFactory().create (self.rootwiki, u"Страница 1", [])
        self.testPage = self.rootwiki[u"Страница 1"]


    def testPluginLoad (self):
        self.assertEqual (len (self.loader), 1)
Esempio n. 11
0
    def testLoadInvalid_01(self):
        dirlist = [
            "../test/plugins/testinvalid",  # Нет такой директории
            "../test/plugins/testinvalid1",
            "../test/plugins/testinvalid2",
            "../test/plugins/testinvalid4",
            "../test/plugins/testinvalid5",
            "../test/plugins/testinvalid6",
            "../test/plugins/testinvalid7",
            "../test/plugins/testinvalid8",  # no plugin.py file in the packages
            "../test/plugins/testempty1",
            "../test/plugins/testempty2",
            "../test/plugins/testempty2",  # Ссылка на плагин testempty2 повторяется еще раз
            "../test/plugins/testwikicommand",
            "../test/plugins/testoutdated",
            "../test/plugins/testfromfuture",
        ]

        loader = PluginsLoader(self.application)
        loader.enableOutput = False
        loader.load(dirlist)

        self.assertEqual(len(loader), 3)
        self.assertEqual(loader["TestEmpty1"].name, "TestEmpty1")
        self.assertEqual(loader["TestEmpty1"].version, "0.1")
        self.assertEqual(loader["TestEmpty1"].description,
                         "This plugin is empty")

        self.assertEqual(loader["TestEmpty2"].name, "TestEmpty2")
        self.assertEqual(loader["TestEmpty2"].version, "0.1")
        self.assertEqual(loader["TestEmpty2"].description,
                         "This plugin is empty")

        self.assertEqual(loader["TestWikiCommand"].name, "TestWikiCommand")
        self.assertEqual(loader["TestWikiCommand"].version, "0.1")
Esempio n. 12
0
    def testLoad(self):
        dirlist = [u"../test/plugins/testempty1",
                   u"../test/plugins/testempty2",
                   u"../test/plugins/testempty2"]
        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 2)
        self.assertEqual(loader[u"TestEmpty1"].name, u"TestEmpty1")
        self.assertEqual(loader[u"TestEmpty1"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty1"].description,
                         u"This plugin is empty")
        self.assertEqual(loader[u"TestEmpty1"].application, Application)

        self.assertEqual(loader[u"TestEmpty2"].name, u"TestEmpty2")
        self.assertEqual(loader[u"TestEmpty2"].version, u"0.1")
        self.assertEqual(loader[u"TestEmpty2"].description,
                         u"This plugin is empty")

        # Проверим, как работает итерация
        for plugin in loader:
            self.assertTrue(plugin == loader[u"TestEmpty1"] or
                            plugin == loader[u"TestEmpty2"])

        loader.clear()
        self.assertEqual(len(loader), 0)
Esempio n. 13
0
class PluginNameTest(unittest.TestCase):
    """Тесты плагина PluginName"""
    def setUp(self):
        self.__createWiki()

        dirlist = [u"../plugins/pluginname"]

        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)

    def tearDown(self):
        removeDir(self.path)
        self.loader.clear()

    def __createWiki(self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeDir(self.path)

        self.rootwiki = WikiDocument.create(self.path)

        WikiPageFactory().create(self.rootwiki, u"Страница 1", [])
        self.testPage = self.rootwiki[u"Страница 1"]

    def testPluginLoad(self):
        self.assertEqual(len(self.loader), 1)
Esempio n. 14
0
    def testVersion_01(self):
        dirlist = ["../test/plugins/testempty3"]
        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 1)
        self.assertEqual(loader["TestEmpty3"].name, "TestEmpty3")
        self.assertEqual(loader["TestEmpty3"].version, "0.5")
Esempio n. 15
0
    def testVersion_02(self):
        dirlist = [u"../test/plugins/testempty4"]
        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 1)
        self.assertEqual(loader[u"TestEmpty4"].name, u"TestEmpty4")
        self.assertEqual(loader[u"TestEmpty4"].version, None)
Esempio n. 16
0
    def testLoadInvalid_03(self):
        dirlist = ["../test/plugins/testfromfuture"]

        loader = PluginsLoader(self.application)
        loader.enableOutput = False
        loader.load(dirlist)

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.invalidPlugins), 1)
Esempio n. 17
0
    def testLoadInvalid_04(self):
        dirlist = [u"../test/plugins/testoutdated"]

        loader = PluginsLoader(Application)
        loader.enableOutput = False
        loader.load(dirlist)

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.invalidPlugins), 1)
Esempio n. 18
0
    def testLoadInvalid_04(self):
        dirlist = [u"../test/plugins/testoutdated"]

        loader = PluginsLoader(Application)
        loader.enableOutput = False
        loader.load(dirlist)

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.invalidPlugins), 1)
Esempio n. 19
0
    def testDisable(self):
        dirlist = ["../test/plugins/testempty1", "../test/plugins/testempty2"]
        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        self.assertEqual(len(loader.loadedPlugins), 2)

        loader.disable('TestEmpty1')

        self.assertEqual(len(loader.disabledPlugins), 1)
Esempio n. 20
0
    def setUp(self):
        self.__createWiki()

        dirlist = [u"../plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load (dirlist)
        
        factory = ParserFactory()
        self.parser = factory.make (self.testPage, Application.config)
Esempio n. 21
0
    def setUp(self):
        self.__createWiki()

        dirlist = [u"../test/plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load(dirlist)

        factory = ParserFactory()
        self.parser = factory.make(self.testPage, Application.config)
Esempio n. 22
0
class LinkCreatorTest (unittest.TestCase):

    def setUp(self):
        dirlist = [u"../plugins/markdown"]
        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)

    def test_empty_01(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create(u'', u'', u'')
        link_right = u'[]()'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_empty_02(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create(u'   ', u'', u'')
        link_right = u'[]()'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_empty_03(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create(u'', u'   ', u'')
        link_right = u'[   ]()'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_link_01(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create(u'http://jenyay.net',
                                         u'Комментарий',
                                         u'')
        link_right = u'[Комментарий](http://jenyay.net)'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_title_01(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create(u'http://jenyay.net',
                                         u'Комментарий',
                                         u'Заголовок')
        link_right = u'[Комментарий](http://jenyay.net "Заголовок")'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)
Esempio n. 23
0
    def testLoadInvalid_02(self):
        dirlist = [u"../test/plugins/testinvalid1"]

        loader = PluginsLoader(Application)
        loader.enableOutput = False
        loader.load(dirlist)

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.invalidPlugins), 1)

        self.assertIn(u'TypeError', loader.invalidPlugins[0].description)
Esempio n. 24
0
class LinkCreatorTest (unittest.TestCase):
    def setUp(self):
        dirlist = ["plugins/markdown"]
        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)

    def test_empty_01(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create('', '', '')
        link_right = '[]()'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_empty_02(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create('   ', '', '')
        link_right = '[]()'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_empty_03(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create('', '   ', '')
        link_right = '[   ]()'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_link_01(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create('http://jenyay.net',
                                         'Комментарий',
                                         '')
        link_right = '[Комментарий](http://jenyay.net)'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)

    def test_title_01(self):
        from markdown.links.linkcreator import LinkCreator
        creator = LinkCreator()
        link, reference = creator.create('http://jenyay.net',
                                         'Комментарий',
                                         'Заголовок')
        link_right = '[Комментарий](http://jenyay.net "Заголовок")'

        self.assertEqual(link, link_right)
        self.assertIsNone(reference)
Esempio n. 25
0
    def testLoadInvalid_02(self):
        dirlist = [u"../test/plugins/testinvalid1"]

        loader = PluginsLoader(Application)
        loader.enableOutput = False
        loader.load(dirlist)

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.invalidPlugins), 1)

        self.assertIn(u'TypeError', loader.invalidPlugins[0].description)
Esempio n. 26
0
    def testGetInfo_None(self):
        dirlist = [
            "../test/plugins/testempty1",
        ]
        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 1)

        plugInfo = loader.getInfo("Wring_module")
        self.assertIs(plugInfo, None)
Esempio n. 27
0
    def testGetInfo(self):
        dirlist = [
            "../test/plugins/testempty1",
        ]
        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 1)
        self.assertEqual(loader["TestEmpty1"].name, "TestEmpty1")
        self.assertEqual(loader["TestEmpty1"].version, "0.1")

        plugInfo = loader.getInfo("TestEmpty1")
        self.assertIsInstance(plugInfo, AppInfo)
Esempio n. 28
0
class SnippetsVarDialogTest(unittest.TestCase, BaseOutWikerGUIMixin):
    def setUp(self):
        self.initApplication()
        mainWnd = self.application.mainWindow
        plugins_dir = ["../plugins/snippets"]

        self.loader = PluginsLoader(self.application)
        self.loader.load(plugins_dir)

        from snippets.gui.variablesdialog import VariablesDialog
        self._dialog = VariablesDialog(mainWnd)

    def tearDown(self):
        self._dialog.Destroy()
        self.loader.clear()
        self.destroyApplication()

    def test_empty(self):
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {})

    def test_single_empty(self):
        self._dialog.addStringVariable('test')
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {'test': ''})

    def test_single(self):
        self._dialog.addStringVariable('test')
        self._dialog.setStringVariable('test', 'Проверка')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {'test': 'Проверка'})

    def test_two_items(self):
        self._dialog.addStringVariable('test_1')
        self._dialog.addStringVariable('test_2')

        self._dialog.setStringVariable('test_1', 'Проверка_1')
        self._dialog.setStringVariable('test_2', 'Проверка_2')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {'test_1': 'Проверка_1',
                                     'test_2': 'Проверка_2'})

    def test_no_item(self):
        self.assertRaises(KeyError,
                          self._dialog.setStringVariable,
                          'test',
                          'test')
Esempio n. 29
0
class SnippetsVarDialogTest(BaseMainWndTest):
    def setUp(self):
        BaseMainWndTest.setUp(self)
        mainWnd = Application.mainWindow
        plugins_dir = [u"../plugins/snippets"]

        self.loader = PluginsLoader(Application)
        self.loader.load(plugins_dir)

        from snippets.gui.variablesdialog import VariablesDialog
        self._dialog = VariablesDialog(mainWnd)

    def tearDown(self):
        self._dialog.Destroy()
        self.loader.clear()
        BaseMainWndTest.tearDown(self)

    def test_empty(self):
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {})

    def test_single_empty(self):
        self._dialog.addStringVariable(u'test')
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {u'test': u''})

    def test_single(self):
        self._dialog.addStringVariable(u'test')
        self._dialog.setStringVariable(u'test', u'Проверка')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {u'test': u'Проверка'})

    def test_two_items(self):
        self._dialog.addStringVariable(u'test_1')
        self._dialog.addStringVariable(u'test_2')

        self._dialog.setStringVariable(u'test_1', u'Проверка_1')
        self._dialog.setStringVariable(u'test_2', u'Проверка_2')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {
            u'test_1': u'Проверка_1',
            u'test_2': u'Проверка_2'
        })

    def test_no_item(self):
        self.assertRaises(KeyError, self._dialog.setStringVariable, u'test',
                          u'test')
Esempio n. 30
0
class SnippetsVarDialogTest(unittest.TestCase, BaseOutWikerGUIMixin):
    def setUp(self):
        self.initApplication()
        mainWnd = self.application.mainWindow
        plugins_dir = ["plugins/snippets"]

        self.loader = PluginsLoader(self.application)
        self.loader.load(plugins_dir)

        from snippets.gui.variablesdialog import VariablesDialog
        self._dialog = VariablesDialog(mainWnd)

    def tearDown(self):
        self._dialog.Destroy()
        self.loader.clear()
        self.destroyApplication()

    def test_empty(self):
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {})

    def test_single_empty(self):
        self._dialog.addStringVariable('test')
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {'test': ''})

    def test_single(self):
        self._dialog.addStringVariable('test')
        self._dialog.setStringVariable('test', 'Проверка')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {'test': 'Проверка'})

    def test_two_items(self):
        self._dialog.addStringVariable('test_1')
        self._dialog.addStringVariable('test_2')

        self._dialog.setStringVariable('test_1', 'Проверка_1')
        self._dialog.setStringVariable('test_2', 'Проверка_2')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {'test_1': 'Проверка_1',
                                     'test_2': 'Проверка_2'})

    def test_no_item(self):
        self.assertRaises(KeyError,
                          self._dialog.setStringVariable,
                          'test',
                          'test')
Esempio n. 31
0
class SnippetsVarDialogTest(BaseMainWndTest):
    def setUp(self):
        BaseMainWndTest.setUp(self)
        mainWnd = Application.mainWindow
        plugins_dir = [u"../plugins/snippets"]

        self.loader = PluginsLoader(Application)
        self.loader.load(plugins_dir)

        from snippets.gui.variablesdialog import VariablesDialog
        self._dialog = VariablesDialog(mainWnd)

    def tearDown(self):
        self._dialog.Destroy()
        self.loader.clear()
        BaseMainWndTest.tearDown(self)

    def test_empty(self):
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {})

    def test_single_empty(self):
        self._dialog.addStringVariable(u'test')
        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {u'test': u''})

    def test_single(self):
        self._dialog.addStringVariable(u'test')
        self._dialog.setStringVariable(u'test', u'Проверка')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {u'test': u'Проверка'})

    def test_two_items(self):
        self._dialog.addStringVariable(u'test_1')
        self._dialog.addStringVariable(u'test_2')

        self._dialog.setStringVariable(u'test_1', u'Проверка_1')
        self._dialog.setStringVariable(u'test_2', u'Проверка_2')

        variables = self._dialog.getVarDict()
        self.assertEqual(variables, {u'test_1': u'Проверка_1',
                                     u'test_2': u'Проверка_2'})

    def test_no_item(self):
        self.assertRaises(KeyError,
                          self._dialog.setStringVariable,
                          u'test',
                          u'test')
Esempio n. 32
0
    def testGetInfo_disabled(self):
        # Добавим плагин TestEmpty1 в черный список
        self.config.disabledPlugins.value = ["TestEmpty1"]

        dirlist = [
            "../test/plugins/testempty1",
        ]
        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.disabledPlugins), 1)

        plugInfo = loader.getInfo("TestEmpty1")
        self.assertIsInstance(plugInfo, AppInfo)
Esempio n. 33
0
class WikiCounterCommandTest (unittest.TestCase):
    def setUp(self):
        self.encoding = "utf8"

        self.filesPath = u"../test/samplefiles/"
        self.__createWiki()

        dirlist = [u"../plugins/testcounter"]

        self.loader = PluginsLoader(Application)
        self.loader.load (dirlist)
        
        self.factory = ParserFactory()
        self.parser = self.factory.make (self.testPage, Application.config)
    

    def __createWiki (self):
        # Здесь будет создаваться вики
        self.path = u"../test/testwiki"
        removeWiki (self.path)

        self.rootwiki = WikiDocument.create (self.path)

        WikiPageFactory.create (self.rootwiki, u"Страница 1", [])
        self.testPage = self.rootwiki[u"Страница 1"]
        

    def tearDown(self):
        removeWiki (self.path)


    def testPluginLoad (self):
        self.assertEqual ( len (self.loader), 1)


    def testCounter (self):
        text = u"(:counter:) (:counter:)"
        validResult = u"1 2"

        result = self.parser.toHtml (text)
        self.assertEqual (result, validResult)

        # Проверим, что для нового парсера счетчик сбрасывается
        parser2 = self.factory.make (self.testPage, Application.config)

        result2 = parser2.toHtml (text)
        self.assertEqual (result2, validResult)
Esempio n. 34
0
class LangListTest(unittest.TestCase, BaseOutWikerGUIMixin):
    def setUp(self):
        self.initApplication()

        dirlist = ["../plugins/source"]

        self.loader = PluginsLoader(self.application)
        self.loader.load(dirlist)

        from source.langlist import LangList
        self._langlist = LangList()

    def tearDown(self):
        self.loader.clear()
        self.destroyApplication()

    def test_all(self):
        self.assertIn('Ada', self._langlist.allNames())
        self.assertIn('HTML + Angular2', self._langlist.allNames())
        self.assertIn('1S', self._langlist.allNames())

    def test_getAllDesignations(self):
        self.assertEqual(self._langlist.getAllDesignations('Ada'),
                         ('ada', 'ada95', 'ada2005'))
        self.assertEqual(self._langlist.getAllDesignations('ANTLR'),
                         ('antlr',))

    def test_getAllDesignations_invalid(self):
        self.assertIsNone(self._langlist.getAllDesignations('adsfa asdfadf'))

    def test_getDesignation(self):
        self.assertEqual(self._langlist.getDesignation('Ada'), 'ada')
        self.assertEqual(self._langlist.getDesignation('ANTLR'), 'antlr')
        self.assertEqual(self._langlist.getDesignation('C++'), 'cpp')

    def test_getDesignation_invalid(self):
        self.assertIsNone(self._langlist.getDesignation('adfasdfaf'))

    def test_getLangName(self):
        self.assertEqual(self._langlist.getLangName('ada'), 'Ada')
        self.assertEqual(self._langlist.getLangName('ada2005'), 'Ada')
        self.assertEqual(self._langlist.getLangName('html+spitfire'),
                         'HTML+Cheetah')

    def test_getLangName_invalid(self):
        self.assertIsNone(self._langlist.getLangName('asdfadsfads'))
Esempio n. 35
0
    def testOnOffPlugins2(self):
        # Тест на включение/выключение плагинов
        dirlist = [u"../test/plugins/testempty1",
                   u"../test/plugins/testempty2",
                   u"../test/plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 3)
        self.assertEqual(len(loader.disabledPlugins), 0)

        # Обновим черный список без изменений
        loader.updateDisableList()

        self.assertEqual(len(loader), 3)
        self.assertEqual(len(loader.disabledPlugins), 0)
Esempio n. 36
0
    def testOnOffPlugins2 (self):
        # Тест на включение/выключение плагинов
        dirlist = [u"../plugins/testempty1",
                   u"../plugins/testempty2",
                   u"../plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load (dirlist)

        self.assertEqual (len (loader), 3)
        self.assertEqual (len (loader.disabledPlugins), 0)

        # Обновим черный список без изменений
        loader.updateDisableList()

        self.assertEqual (len (loader), 3)
        self.assertEqual (len (loader.disabledPlugins), 0)
Esempio n. 37
0
class LangListTest(unittest.TestCase, BaseOutWikerGUIMixin):
    def setUp(self):
        self.initApplication()

        dirlist = ["plugins/source"]

        self.loader = PluginsLoader(self.application)
        self.loader.load(dirlist)

        from source.langlist import LangList
        self._langlist = LangList()

    def tearDown(self):
        self.loader.clear()
        self.destroyApplication()

    def test_all(self):
        self.assertIn('Ada', self._langlist.allNames())
        self.assertIn('HTML + Angular2', self._langlist.allNames())
        self.assertIn('1S', self._langlist.allNames())

    def test_getAllDesignations(self):
        self.assertEqual(self._langlist.getAllDesignations('Ada'),
                         ('ada', 'ada95', 'ada2005'))
        self.assertEqual(self._langlist.getAllDesignations('ANTLR'),
                         ('antlr', ))

    def test_getAllDesignations_invalid(self):
        self.assertIsNone(self._langlist.getAllDesignations('adsfa asdfadf'))

    def test_getDesignation(self):
        self.assertEqual(self._langlist.getDesignation('Ada'), 'ada')
        self.assertEqual(self._langlist.getDesignation('ANTLR'), 'antlr')
        self.assertEqual(self._langlist.getDesignation('C++'), 'cpp')

    def test_getDesignation_invalid(self):
        self.assertIsNone(self._langlist.getDesignation('adfasdfaf'))

    def test_getLangName(self):
        self.assertEqual(self._langlist.getLangName('ada'), 'Ada')
        self.assertEqual(self._langlist.getLangName('ada2005'), 'Ada')
        self.assertEqual(self._langlist.getLangName('html+spitfire'),
                         'HTML+Cheetah')

    def test_getLangName_invalid(self):
        self.assertIsNone(self._langlist.getLangName('asdfadsfads'))
Esempio n. 38
0
class SnippetsVarPanelTest(BaseMainWndTest):
    def setUp(self):
        BaseMainWndTest.setUp(self)
        mainWnd = Application.mainWindow
        plugins_dir = [u"../plugins/snippets"]

        self.loader = PluginsLoader(Application)
        self.loader.load(plugins_dir)

        from snippets.gui.variablesdialog import VaraiblesPanel

        self._panel = VaraiblesPanel(mainWnd)

    def tearDown(self):
        self.loader.clear()
        BaseMainWndTest.tearDown(self)

    def test_empty(self):
        variables = self._panel.getVarDict()
        self.assertEqual(variables, {})

    def test_single_empty(self):
        self._panel.addStringVariable(u"test")
        variables = self._panel.getVarDict()
        self.assertEqual(variables, {u"test": u""})

    def test_single(self):
        self._panel.addStringVariable(u"test")
        self._panel.setVarString(u"test", u"Проверка")

        variables = self._panel.getVarDict()
        self.assertEqual(variables, {u"test": u"Проверка"})

    def test_two_items(self):
        self._panel.addStringVariable(u"test_1")
        self._panel.addStringVariable(u"test_2")

        self._panel.setVarString(u"test_1", u"Проверка_1")
        self._panel.setVarString(u"test_2", u"Проверка_2")

        variables = self._panel.getVarDict()
        self.assertEqual(variables, {u"test_1": u"Проверка_1", u"test_2": u"Проверка_2"})

    def test_no_item(self):
        self.assertRaises(KeyError, self._panel.setVarString, u"test", u"test")
Esempio n. 39
0
    def testOnOffPlugins3 (self):
        # Тест на включение/выключение плагинов
        dirlist = [u"../plugins/testempty1",
                   u"../plugins/testempty2",
                   u"../plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load (dirlist)

        self.assertEqual (len (loader), 3)
        self.assertEqual (len (loader.disabledPlugins), 0)

        # Добавим в черный список плагины, которые не существуют
        self.config.disabledPlugins.value = [u"TestEmpty1111"]
        loader.updateDisableList()

        self.assertEqual (len (loader), 3)
        self.assertEqual (len (loader.disabledPlugins), 0)
Esempio n. 40
0
    def testLoadedPlugins(self):
        # Test for remove plugin
        dirlist = [
            "../test/plugins/testempty1", "../test/plugins/testempty2",
            "../test/plugins/testwikicommand"
        ]

        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        # Disable TestEmpty2
        self.config.disabledPlugins.value = ["TestEmpty2"]
        loader.updateDisableList()

        self.assertEqual(len(loader.loadedPlugins), 3)
        self.assertIn("TestEmpty1", loader.loadedPlugins)
        self.assertIn("TestEmpty2", loader.loadedPlugins)
        self.assertIn("TestWikiCommand", loader.loadedPlugins)
Esempio n. 41
0
    def testOnOffPlugins3(self):
        # Тест на включение/выключение плагинов
        dirlist = [u"../test/plugins/testempty1",
                   u"../test/plugins/testempty2",
                   u"../test/plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 3)
        self.assertEqual(len(loader.disabledPlugins), 0)

        # Добавим в черный список плагины, которые не существуют
        self.config.disabledPlugins.value = [u"TestEmpty1111"]
        loader.updateDisableList()

        self.assertEqual(len(loader), 3)
        self.assertEqual(len(loader.disabledPlugins), 0)
class MarkdownPolyactionsTest(BaseEditorPolyactionsTest):
    """Test polyactions for Markdown pages"""
    def setUp(self):
        dirlist = [u"../plugins/markdown"]
        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)
        super(MarkdownPolyactionsTest, self).setUp()

    def tearDown(self):
        self.loader.clear()
        super(MarkdownPolyactionsTest, self).tearDown()

    def _createPage(self):
        from markdown.markdownpage import MarkdownPageFactory
        return MarkdownPageFactory().create(self.wikiroot,
                                            u"Markdown-страница", [])

    def _getEditor(self):
        return Application.mainWindow.pagePanel.pageView.codeEditor
Esempio n. 43
0
    def testEnable(self):
        self.config.disabledPlugins.value = ["TestEmpty1", "TestEmpty2"]

        dirlist = ["../test/plugins/testempty1", "../test/plugins/testempty2"]
        loader = PluginsLoader(self.application)
        loader.load(dirlist)

        self.assertEqual(len(loader.disabledPlugins), 2)

        loader.enable('TestEmpty1')

        self.assertEqual(len(loader), 1)
        self.assertEqual(len(loader.disabledPlugins), 1)

        loader.enable('TestEmpty2')
        loader.enable('TestEmpty2')

        self.assertEqual(len(loader), 2)
        self.assertEqual(len(loader.disabledPlugins), 0)
Esempio n. 44
0
class HtmlFormatterTest(unittest.TestCase):
    """Тесты плагина HtmlFormatter"""
    def setUp(self):
        dirlist = [u"../plugins/htmlformatter"]

        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)

    def tearDown(self):
        self.loader.clear()

    def testPluginLoad(self):
        self.assertEqual(len(self.loader), 1)

    def testFactory(self):
        from htmlformatter.paragraphimprover import ParagraphHtmlImprover
        factory = HtmlImproverFactory(Application)

        self.assertEqual(type(factory['pimprover']), ParagraphHtmlImprover)
Esempio n. 45
0
class MarkdownPolyactionsTest (BaseEditorPolyactionsTest):
    """Test polyactions for Markdown pages"""
    def setUp(self):
        dirlist = [u"../plugins/markdown"]
        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)
        super(MarkdownPolyactionsTest, self).setUp()

    def tearDown(self):
        self.loader.clear()
        super(MarkdownPolyactionsTest, self).tearDown()

    def _createPage(self):
        from markdown.markdownpage import MarkdownPageFactory
        return MarkdownPageFactory().create(self.wikiroot,
                                            u"Markdown-страница",
                                            [])

    def _getEditor(self):
        return Application.mainWindow.pagePanel.pageView.codeEditor
Esempio n. 46
0
    def testOnOffPlugins4 (self):
        # Тест на включение/выключение плагинов
        dirlist = [u"../plugins/testempty1",
                   u"../plugins/testempty2",
                   u"../plugins/testwikicommand"]

        # Сразу заблокируем все плагины
        self.config.disabledPlugins.value = [u"TestEmpty1", u"TestEmpty2", u"TestWikiCommand"]

        loader = PluginsLoader(Application)
        loader.load (dirlist)

        self.assertEqual (len (loader), 0)
        self.assertEqual (len (loader.disabledPlugins), 3)

        # Обновим плагины без изменений
        loader.updateDisableList()

        self.assertEqual (len (loader), 0)
        self.assertEqual (len (loader.disabledPlugins), 3)
Esempio n. 47
0
    def testOnOffPlugins1 (self):
        # Тест на включение/выключение плагинов
        dirlist = [u"../plugins/testempty1",
                   u"../plugins/testempty2",
                   u"../plugins/testwikicommand"]

        loader = PluginsLoader(Application)
        loader.load (dirlist)

        self.assertEqual (len (loader), 3)
        self.assertEqual (len (loader.disabledPlugins), 0)

        # Отключим плагин TestEmpty1
        self.config.disabledPlugins.value = [u"TestEmpty1"]
        loader.updateDisableList()

        self.assertEqual (len (loader), 2)
        self.assertEqual (len (loader.disabledPlugins), 1)

        self.assertEqual (loader[u"TestEmpty2"].name, u"TestEmpty2")
        self.assertEqual (loader.disabledPlugins[u"TestEmpty1"].name, u"TestEmpty1")
Esempio n. 48
0
class HtmlFormatterTest(unittest.TestCase):
    """Тесты плагина HtmlFormatter"""

    def setUp(self):
        dirlist = [u"../plugins/htmlformatter"]

        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)

    def tearDown(self):
        self.loader.clear()

    def testPluginLoad(self):
        self.assertEqual(len(self.loader), 1)

    def testFactory(self):
        from htmlformatter.paragraphimprover import ParagraphHtmlImprover

        factory = HtmlImproverFactory(Application)

        self.assertEqual(type(factory["pimprover"]), ParagraphHtmlImprover)
Esempio n. 49
0
    def testOnOffPlugins4(self):
        # Тест на включение/выключение плагинов
        dirlist = [u"../test/plugins/testempty1",
                   u"../test/plugins/testempty2",
                   u"../test/plugins/testwikicommand"]

        # Сразу заблокируем все плагины
        self.config.disabledPlugins.value = [u"TestEmpty1",
                                             u"TestEmpty2",
                                             u"TestWikiCommand"]

        loader = PluginsLoader(Application)
        loader.load(dirlist)

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.disabledPlugins), 3)

        # Обновим плагины без изменений
        loader.updateDisableList()

        self.assertEqual(len(loader), 0)
        self.assertEqual(len(loader.disabledPlugins), 3)
Esempio n. 50
0
class HtmlFormatterTest (unittest.TestCase, BaseOutWikerMixin):
    """Тесты плагина HtmlFormatter"""

    def setUp(self):
        self.initApplication()
        dirlist = ["../plugins/htmlformatter"]

        self.loader = PluginsLoader(self.application)
        self.loader.load(dirlist)

    def tearDown(self):
        self.loader.clear()
        self.destroyApplication()

    def testPluginLoad(self):
        self.assertEqual(len(self.loader), 1)

    def testFactory(self):
        from htmlformatter.paragraphimprover import ParagraphHtmlImprover
        factory = HtmlImproverFactory(self.application)

        self.assertEqual(type(factory['pimprover']), ParagraphHtmlImprover)
Esempio n. 51
0
class ParagraphHtmlImproverTest(unittest.TestCase):
    def setUp(self):
        dirlist = [u"../plugins/htmlformatter"]

        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)

        factory = HtmlImproverFactory(Application)
        self.improver = factory["pimprover"]

    def tearDown(self):
        self.loader.clear()

    def test_empty(self):
        src = u""
        expectedResult = u""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result)

    def test_text_single_line(self):
        src = u"Абырвалг"
        expectedResult = u"<p>Абырвалг</p>"

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result)

    def test_text_br(self):
        src = u"""Абырвалг
Foo
Bar"""
        expectedResult = u"""<p>Абырвалг<br/>
Foo<br/>
Bar</p>"""

        result = self.improver.run(src)

        self.assertEqual(expectedResult, result)

    def test_text_p_01(self):
        src = u"""Абырвалг

Второй параграф"""

        expectedResult = u"""<p>Абырвалг</p>
<p>Второй параграф</p>"""

        result = self.improver.run(src)

        self.assertEqual(expectedResult, result)

    def test_text_p_02(self):
        src = u"""Абырвалг

Второй параграф




"""

        expectedResult = u"""<p>Абырвалг</p>
<p>Второй параграф</p>"""

        result = self.improver.run(src)

        self.assertEqual(expectedResult, result)

    def test_improve_01(self):
        src = ur"""<h2>Attach links</h2>Attach:file.odt<br/><a href="__attach/file.odt">file.odt</a><br/><a href="__attach/file.odt">alternative text</a><br/><a href="__attach/file with spaces.pdf">file with spaces.pdf</a><h2>Images</h2>"""

        expectedResult = ur"""<h2>Attach links</h2>
<p>Attach:file.odt<br/>
<a href="__attach/file.odt">file.odt</a><br/>
<a href="__attach/file.odt">alternative text</a><br/>
<a href="__attach/file with spaces.pdf">file with spaces.pdf</a></p>
<h2>Images</h2>"""

        result = self.improver.run(src)

        self.assertEqual(expectedResult, result)

    def test_pre_01(self):
        src = ur"""qweqweqw qweqwe
qwewqeqwe wqe

qweqweqw qwe qweqwe<pre>
аап ываыв ываываыываы ыва ыва
ываыва выа выа

ываыв фывфв фывфывыф ыфв
вапвапввап вапвапвап

вапвапвап вапваапва</pre>

sdfsdf sdfsdf
sdfsdf
sdf sdfsdf sdf"""

        expectedResult = ur"""<p>qweqweqw qweqwe<br/>
qwewqeqwe wqe</p>
<p>qweqweqw qwe qweqwe</p>

<pre>
аап ываыв ываываыываы ыва ыва
ываыва выа выа

ываыв фывфв фывфывыф ыфв
вапвапввап вапвапвап

вапвапвап вапваапва</pre>

<p>sdfsdf sdfsdf<br/>
sdfsdf<br/>
sdf sdfsdf sdf</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_pre_02(self):
        src = ur"""Абырвалг<pre><br/><h1>111</h1></pre>Абырвалг<pre><br/><h1>111</h1></pre>"""

        expectedResult = ur"""<p>Абырвалг</p>

<pre><br/><h1>111</h1></pre>

<p>Абырвалг</p>

<pre><br/><h1>111</h1></pre>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_pre_03(self):
        src = ur"""Абырвалг
<pre>111</pre>
Абырвалг
<pre>222</pre>"""

        expectedResult = ur"""<p>Абырвалг</p>

<pre>111</pre>

<p>Абырвалг</p>

<pre>222</pre>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_pre_04(self):
        src = ur"""Абырвалг
<   pre   >111
Абырвалг
йцукен</   pre   >
<pre>222</pre>"""

        expectedResult = ur"""<p>Абырвалг</p>

<   pre   >111
Абырвалг
йцукен</   pre   >

<pre>222</pre>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_script_01(self):
        src = ur"""Абырвалг

<script>Абырвалг
йцукен
qwerty
фыва
</script>"""

        expectedResult = ur"""<p>Абырвалг</p>

<script>Абырвалг
йцукен
qwerty
фыва
</script>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_script_02(self):
        src = ur"""Абырвалг
<script>Абырвалг
йцукен
qwerty
фыва
</script>"""

        expectedResult = ur"""<p>Абырвалг</p>

<script>Абырвалг
йцукен
qwerty
фыва
</script>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_script_03(self):
        src = ur"""Абырвалг
<   script   >111
Абырвалг
йцукен</   script   >
<script>222</script>"""

        expectedResult = ur"""<p>Абырвалг</p>

<   script   >111
Абырвалг
йцукен</   script   >

<script>222</script>"""

        result = self.improver.run(src)

        self.assertEqual(expectedResult, result, result)

    def test_script_pre_01(self):
        src = ur"""Абырвалг
<script>Абырвалг
<pre>
йцукен
qwerty
</pre>
фыва
</script>"""

        expectedResult = ur"""<p>Абырвалг</p>

<script>Абырвалг
<pre>
йцукен
qwerty
</pre>
фыва
</script>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_script_pre_02(self):
        src = ur"""Абырвалг
<script>Абырвалг
<pre>
йцукен
qwerty
</pre>
фыва
</script>Абырвалг"""

        expectedResult = ur"""<p>Абырвалг</p>

<script>Абырвалг
<pre>
йцукен
qwerty
</pre>
фыва
</script>

<p>Абырвалг</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_blockquote_01(self):
        src = ur"""<blockquote>Абырвалг</blockquote>"""

        expectedResult = ur"""<blockquote>
<p>Абырвалг</p>
</blockquote>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_blockquote_02(self):
        src = ur"""Абзац 1<blockquote>Абырвалг</blockquote>Абзац 2"""

        expectedResult = ur"""<p>Абзац 1</p>
<blockquote>
<p>Абырвалг</p>
</blockquote>
<p>Абзац 2</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_blockquote_03(self):
        src = ur"""Абзац 1

<blockquote>Абырвалг</blockquote>

Абзац 2"""

        expectedResult = ur"""<p>Абзац 1</p>
<blockquote>
<p>Абырвалг</p>
</blockquote>
<p>Абзац 2</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_blockquote_04(self):
        src = ur"""Абзац 1

<blockquote>
Абырвалг
</blockquote>

Абзац 2"""

        expectedResult = ur"""<p>Абзац 1</p>
<blockquote>
<p>Абырвалг</p>
</blockquote>
<p>Абзац 2</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_table_01(self):
        src = ur"""Абзац 1<table><tr><td>Ячейка таблицы</td></tr></table>Абзац 2"""

        expectedResult = ur"""<p>Абзац 1
<table>
<tr>
<td>Ячейка таблицы</td>
</tr>
</table>
Абзац 2</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_table_02(self):
        src = ur"""Абзац 1
<table><tr><td>Ячейка таблицы</td></tr></table>
Абзац 2"""

        expectedResult = ur"""<p>Абзац 1
<table>
<tr>
<td>Ячейка таблицы</td>
</tr>
</table>
Абзац 2</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)

    def test_table_03(self):
        src = ur"""Абзац 1

<table><tr><td>Ячейка таблицы</td></tr></table>
Абзац 2"""

        expectedResult = ur"""<p>Абзац 1</p>
<p>
<table>
<tr>
<td>Ячейка таблицы</td>
</tr>
</table>
Абзац 2</p>"""

        result = self.improver.run(src)
        self.assertEqual(expectedResult, result, result)
Esempio n. 52
0
class PluginLoadingMixin(BaseOutWikerGUIMixin, metaclass=ABCMeta):
    @abstractmethod
    def getPluginDir(self):
        """
        Должен возвращать путь до папки с тестируемым плагином
        """
        pass

    @abstractmethod
    def getPluginName(self):
        """
        Должен возвращать имя плагина,
        по которому его можно найти в PluginsLoader
        """
        pass

    def setUp(self):
        self.initApplication()
        self.wikiroot = self.createWiki()
        self.__createWiki()

        dirlist = [self.getPluginDir()]

        self.loader = PluginsLoader(self.application)
        self.loader.load(dirlist)

    def __createWiki(self):
        # Здесь будет создаваться вики
        WikiPageFactory().create(self.wikiroot, "Викистраница", [])
        TextPageFactory().create(self.wikiroot, "Текст", [])
        HtmlPageFactory().create(self.wikiroot, "HTML", [])
        SearchPageFactory().create(self.wikiroot, "Search", [])

    def tearDown(self):
        self.application.selectedPage = None
        self.application.wikiroot = None
        self.loader.clear()
        self.destroyApplication()
        self.destroyWiki(self.wikiroot)

    def testPluginLoad(self):
        self.assertEqual(len(self.loader), 1)
        self.assertNotEqual(self.loader[self.getPluginName()], None)

    def testDestroy_01(self):
        self.application.wikiroot = None
        self.loader.clear()

    def testDestroy_02(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = None
        self.loader.clear()

    def testDestroy_03(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.loader.clear()

    def testDestroy_04(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Текст"]
        self.loader.clear()

    def testDestroy_05(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["HTML"]
        self.loader.clear()

    def testDestroy_06(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Search"]
        self.loader.clear()

    def testDestroy_07(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.loader.disable(self.getPluginName())

        action = self.application.actionController.getAction(SwitchCodeResultAction.stringId)
        action.run(None)
        self.loader.clear()

    def testDestroy_08(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["HTML"]
        self.loader.disable(self.getPluginName())

        action = self.application.actionController.getAction(SwitchCodeResultAction.stringId)
        action.run(None)
        self.loader.clear()

    def testDestroy_09(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["Викистраница"]
        self.loader.clear()

        action = self.application.actionController.getAction(SwitchCodeResultAction.stringId)
        action.run(None)

    def testDestroy_10(self):
        self.application.wikiroot = self.wikiroot
        self.application.selectedPage = self.wikiroot["HTML"]
        self.loader.clear()

        action = self.application.actionController.getAction(SwitchCodeResultAction.stringId)
        action.run(None)
Esempio n. 53
0
class HackPage_SetAliasTest(unittest.TestCase, BaseOutWikerGUIMixin):
    def setUp(self):
        self.initApplication()
        self.wikiroot = self.createWiki()

        self.__createWiki()
        self.testPage = self.wikiroot["Страница 1"]

        dirlist = ["../plugins/hackpage"]

        self._loader = PluginsLoader(self.application)
        self._loader.load(dirlist)

        Tester.dialogTester.clear()

    def tearDown(self):
        Tester.dialogTester.clear()
        self.application.wikiroot = None

        removeDir(self.wikiroot.path)
        self._loader.clear()

        self.destroyApplication()
        self.destroyWiki(self.wikiroot)

    def __createWiki(self):
        WikiPageFactory().create(self.wikiroot, "Страница 1", [])

    def _setValue(self, dialog, value):
        dialog.Value = value
        return wx.ID_OK

    def test_set_alias_default_01(self):
        from hackpage.utils import setAliasWithDialog

        Tester.dialogTester.appendOk()

        setAliasWithDialog(self.testPage, self.application)

        self.assertEqual(self.testPage.alias, None)
        self.assertEqual(Tester.dialogTester.count, 0)

    def test_set_alias_default_02(self):
        from hackpage.utils import setAliasWithDialog

        Tester.dialogTester.appendCancel()

        setAliasWithDialog(self.testPage, self.application)

        self.assertEqual(self.testPage.alias, None)
        self.assertEqual(Tester.dialogTester.count, 0)

    def test_set_alias_01(self):
        from hackpage.utils import setAliasWithDialog

        alias = 'Псевдоним страницы'

        Tester.dialogTester.append(self._setValue, alias)

        setAliasWithDialog(self.testPage, self.application)

        self.assertEqual(self.testPage.alias, alias)
        self.assertEqual(Tester.dialogTester.count, 0)

    def test_set_alias_02(self):
        from hackpage.utils import setAliasWithDialog

        alias = '   Псевдоним страницы   '

        Tester.dialogTester.append(self._setValue, alias)

        setAliasWithDialog(self.testPage, self.application)

        self.assertEqual(self.testPage.alias, alias)
        self.assertEqual(Tester.dialogTester.count, 0)

    def test_set_alias_03(self):
        from hackpage.utils import setAliasWithDialog

        self.testPage.alias = 'Псевдоним страницы'

        Tester.dialogTester.append(self._setValue, '')

        setAliasWithDialog(self.testPage, self.application)

        self.assertEqual(self.testPage.alias, None)
        self.assertEqual(Tester.dialogTester.count, 0)
Esempio n. 54
0
class SourceStyleTest (unittest.TestCase):
    def setUp(self):
        self.__pluginname = u"Source"

        self.__createWiki()

        dirlist = [u"../plugins/source"]

        # Путь, где лежат примеры исходников в разных кодировках
        self.samplefilesPath = u"../test/samplefiles/sources"

        # Пример программы
        self.pythonSource = u'''import os

# Комментарий
def hello (count):
	"""
	Hello world
	"""
	for i in range (10):
		print "Hello world!!!"
'''

        self.loader = PluginsLoader(Application)
        self.loader.load (dirlist)

        self.config = self.loader[self.__pluginname].config
        self.config.tabWidth.value = 4
        self.config.defaultLanguage.remove_option()
        Application.config.remove_section (self.config.section)

        self.factory = ParserFactory()
        self.parser = self.factory.make (self.testPage, Application.config)


    def __createWiki (self):
        # Здесь будет создаваться вики
        self.path = mkdtemp (prefix=u'Абырвалг абыр')

        self.wikiroot = WikiDocument.create (self.path)

        WikiPageFactory().create (self.wikiroot, u"Страница 1", [])
        self.testPage = self.wikiroot[u"Страница 1"]


    def tearDown(self):
        self.config.tabWidth.value = 4
        Application.config.remove_section (self.config.section)
        removeDir (self.path)
        self.loader.clear()


    def testDefaultStyle (self):
        text = u'(:source lang="python" tabwidth=4:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-default .c"
        innerString2 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"
        innerString3 = u'        <span class="k">print</span> <span class="s2">&quot;Hello world!!!&quot;</span>'
        innerString4 = u'<span class="kn">import</span> <span class="nn">os</span>'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 in result)


    def testDefaultInvalidStyle (self):
        text = u'(:source lang="python" tabwidth=4:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        self.config.defaultStyle.value = "invalid_blablabla"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-default .c"
        innerString2 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"
        innerString3 = u'        <span class="k">print</span> <span class="s2">&quot;Hello world!!!&quot;</span>'
        innerString4 = u'<span class="kn">import</span> <span class="nn">os</span>'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 in result)


    def testDefaultEmptyStyle (self):
        text = u'(:source lang="python" tabwidth=4:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        self.config.defaultStyle.value = ""

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-default .c"
        innerString2 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"
        innerString3 = u'        <span class="k">print</span> <span class="s2">&quot;Hello world!!!&quot;</span>'
        innerString4 = u'<span class="kn">import</span> <span class="nn">os</span>'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 in result)


    def testDefaultStyleVim (self):
        text = u'(:source lang="python" tabwidth=4:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        self.config.defaultStyle.value = "vim"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim .c"
        innerString2 = u".highlight-vim .c { color: #000080 } /* Comment */"
        innerString3 = u'        <span class="k">print</span> <span class="s2">&quot;Hello world!!!&quot;</span>'
        innerString4 = u'<span class="kn">import</span> <span class="nn">os</span>'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 in result)


    def testInvalidStyle (self):
        text = u'(:source lang="python" tabwidth=4 style="invalid_bla-bla-bla":){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-default .c"
        innerString2 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"
        innerString3 = u'        <span class="k">print</span> <span class="s2">&quot;Hello world!!!&quot;</span>'
        innerString4 = u'<span class="kn">import</span> <span class="nn">os</span>'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 in result)


    def testStyleVim (self):
        text = u'(:source lang="python" tabwidth=4 style="vim":){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim .c"
        innerString2 = u".highlight-vim .c { color: #000080 } /* Comment */"
        innerString3 = u'        <span class="k">print</span> <span class="s2">&quot;Hello world!!!&quot;</span>'
        innerString4 = u'<span class="kn">import</span> <span class="nn">os</span>'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 in result)


    def testSeveralStyles (self):
        text = u'''(:source lang="python" tabwidth=4 style="vim":){0}(:sourceend:)

(:source lang="python" tabwidth=4:){0}(:sourceend:)'''.format (self.pythonSource)

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim .c"
        innerString2 = u".highlight-vim .c { color: #000080 } /* Comment */"
        innerString3 = u'        <span class="k">print</span> <span class="s2">&quot;Hello world!!!&quot;</span>'
        innerString4 = u'<span class="kn">import</span> <span class="nn">os</span>'
        innerString5 = u".highlight-default .c"
        innerString6 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"
        innerString7 = u'<div class="highlight-default">'
        innerString8 = u'<div class="highlight-vim">'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 in result)
        self.assertTrue (innerString5 in result)
        self.assertTrue (innerString6 in result)
        self.assertTrue (innerString7 in result)
        self.assertTrue (innerString8 in result)


    def testDefaultStyleFile (self):
        Attachment(self.testPage).attach ([os.path.join (self.samplefilesPath, u"source_utf8.py")])
        text = u'(:source lang="python" tabwidth=4 file="source_utf8.py":){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-default .c"
        innerString2 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)


    def testDefaultInvalidStyleFile (self):
        Attachment(self.testPage).attach ([os.path.join (self.samplefilesPath, u"source_utf8.py")])
        text = u'(:source lang="python" tabwidth=4 file="source_utf8.py":){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        self.config.defaultStyle.value = "invalid_blablabla"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-default .c"
        innerString2 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)


    def testDefaultEmptyStyleFile (self):
        Attachment(self.testPage).attach ([os.path.join (self.samplefilesPath, u"source_utf8.py")])
        text = u'(:source lang="python" tabwidth=4 file="source_utf8.py":){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        self.config.defaultStyle.value = ""

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-default .c"
        innerString2 = u".highlight-default .c { color: #408080; font-style: italic } /* Comment */"

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)


    def testDefaultStyleVimFile (self):
        text = u'(:source lang="python" tabwidth=4:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text

        self.config.defaultStyle.value = "vim"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim .c"
        innerString2 = u".highlight-vim .c { color: #000080 } /* Comment */"

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)


    def testParentBg1 (self):
        text = u'(:source lang="python" tabwidth=4:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text
        self.config.defaultStyle.value = "vim"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim pre {padding: 0px; border: none; color: inherit; background-color: inherit; margin:0px; }"
        innerString2 = u".highlight-vim {color: inherit; background-color: inherit }"

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 not in result)


    def testParentBg2 (self):
        text = u'(:source lang="python" tabwidth=4 parentbg:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text
        self.config.defaultStyle.value = "vim"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim-parentbg pre {padding: 0px; border: none; color: inherit; background-color: inherit; margin:0px; }"
        innerString2 = u".highlight-vim-parentbg {color: inherit; background-color: inherit }"
        innerString3 = u'<div class="highlight-vim-parentbg">'
        innerString4 = u".highlight-vim {color: inherit; background-color: inherit }"
        innerString5 = u'<div class="highlight-vim">'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 not in result)
        self.assertTrue (innerString5 not in result)


    def testParentBg3 (self):
        text = u'(:source lang="python" parentbg tabwidth=4:){0}(:sourceend:)'.format (self.pythonSource)

        self.testPage.content = text
        self.config.defaultStyle.value = "vim"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim-parentbg pre {padding: 0px; border: none; color: inherit; background-color: inherit; margin:0px; }"
        innerString2 = u".highlight-vim-parentbg {color: inherit; background-color: inherit }"
        innerString3 = u'<div class="highlight-vim-parentbg">'
        innerString4 = u".highlight-vim {color: inherit; background-color: inherit }"
        innerString5 = u'<div class="highlight-vim">'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 not in result)
        self.assertTrue (innerString5 not in result)


    def testParentBg4 (self):
        text = u'''(:source lang="python" tabwidth=4:){0}(:sourceend:)

        (:source lang="python" tabwidth=4 parentbg:){0}(:sourceend:)'''.format (self.pythonSource)

        self.testPage.content = text
        self.config.defaultStyle.value = "vim"

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        innerString1 = u".highlight-vim-parentbg pre {padding: 0px; border: none; color: inherit; background-color: inherit; margin:0px; }"
        innerString2 = u".highlight-vim-parentbg {color: inherit; background-color: inherit }"
        innerString3 = u'<div class="highlight-vim-parentbg">'
        innerString4 = u".highlight-vim {color: inherit; background-color: inherit }"
        innerString5 = u'<div class="highlight-vim">'

        self.assertTrue (innerString1 in result)
        self.assertTrue (innerString2 in result)
        self.assertTrue (innerString3 in result)
        self.assertTrue (innerString4 not in result)
        self.assertTrue (innerString5 in result)
Esempio n. 55
0
class ChangePageUidTest(BaseMainWndTest):
    """Тесты плагина ChangePageUid"""

    def setUp(self):
        BaseMainWndTest.setUp(self)

        self.filesPath = u"../test/samplefiles/"
        self.__createWiki()

        dirlist = [u"../plugins/changepageuid"]

        self._loader = PluginsLoader(Application)
        self._loader.load(dirlist)

        from changepageuid.dialog import ChangeUidDialog

        self._dlg = ChangeUidDialog(Application.mainWindow)
        Tester.dialogTester.clear()

        self.testPage = self.wikiroot[u"Страница 1"]

    def tearDown(self):
        Application.wikiroot = None

        removeDir(self.path)
        self._dlg.Destroy()
        self._loader.clear()

        BaseMainWndTest.tearDown(self)

    def __createWiki(self):
        WikiPageFactory().create(self.wikiroot, u"Страница 1", [])
        WikiPageFactory().create(self.wikiroot, u"Страница 2", [])

    def testPluginLoad(self):
        self.assertEqual(len(self._loader), 1)

    def testDestroy(self):
        Application.wikiroot = None
        self._loader.clear()

    def testUidDefault(self):
        self._createDialogController()
        uid = Application.pageUidDepot.createUid(self.testPage)

        self.assertEqual(self._dlg.uid, uid)

    def testUid_01(self):
        controller = self._createDialogController()
        uid = Application.pageUidDepot.createUid(self.testPage)

        # Не изменяем свой идентификатора
        self.assertEqual(len(controller.validate(uid)), 0)

    def testUid_02(self):
        controller = self._createDialogController()
        uid = Application.pageUidDepot.createUid(self.wikiroot[u"Страница 2"])

        # Такой идентификатор уже есть
        self.assertNotEqual(len(controller.validate(uid)), 0)

    def testUid_03(self):
        controller = self._createDialogController()

        self.assertEqual(len(controller.validate(u"asdfsdfasdf_124323")), 0)
        self.assertEqual(len(controller.validate(u"__Абырвалг")), 0)
        self.assertNotEqual(len(controller.validate(u"adfadf/")), 0)
        self.assertNotEqual(len(controller.validate(u"adfadf asdfasdf")), 0)

    def _createDialogController(self):
        from changepageuid.dialogcontroller import DialogController

        return DialogController(Application, self._dlg, self.testPage)
Esempio n. 56
0
class SnippetsLoaderTest(unittest.TestCase, BaseOutWikerGUIMixin):
    def setUp(self):
        self.initApplication()
        dirlist = ["../plugins/snippets"]

        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)
        self._dir_snippets = mkdtemp('outwiker_snippets')

    def tearDown(self):
        self.loader.clear()
        removeDir(self._dir_snippets)
        self.destroyApplication()

    def _create(self, fname):
        with open(fname, 'w'):
            pass

    def test_empty_01(self):
        from snippets.snippetsloader import SnippetsLoader
        loader = SnippetsLoader(self._dir_snippets)
        snippets = loader.getSnippets()

        self.assertEqual(snippets.name, os.path.basename(self._dir_snippets))
        self.assertEqual(len(snippets), 0)
        self.assertEqual(snippets.dirs, [])
        self.assertEqual(snippets.snippets, [])

    def test_empty_02_invalid(self):
        from snippets.snippetsloader import SnippetsLoader
        loader = SnippetsLoader('Invalid dir')
        snippets = loader.getSnippets()

        self.assertEqual(snippets.name, 'Invalid dir')
        self.assertEqual(len(snippets), 0)
        self.assertEqual(snippets.dirs, [])
        self.assertEqual(snippets.snippets, [])

    def test_snippets_01(self):
        from snippets.snippetsloader import SnippetsLoader
        files = ['Шаблон']
        for fname in files:
            self._create(os.path.join(self._dir_snippets, fname))

        loader = SnippetsLoader(self._dir_snippets)
        snippets = loader.getSnippets()
        self.assertEqual(snippets.dirs, [])
        self.assertEqual(snippets.snippets,
                         [os.path.join(self._dir_snippets, 'Шаблон')])
        self.assertEqual(len(snippets), 1)

    def test_snippets_02(self):
        from snippets.snippetsloader import SnippetsLoader
        files = ['Шаблон 01', 'Шаблон 02', 'Шаблон 03.txt']
        for fname in files:
            self._create(os.path.join(self._dir_snippets, fname))

        loader = SnippetsLoader(self._dir_snippets)
        snippets = loader.getSnippets()
        self.assertEqual(snippets.dirs, [])

        self.assertIn(
            os.path.join(self._dir_snippets, 'Шаблон 01'),
            snippets.snippets)

        self.assertIn(
            os.path.join(self._dir_snippets, 'Шаблон 02'),
            snippets.snippets)

        self.assertIn(
            os.path.join(self._dir_snippets, 'Шаблон 03.txt'),
            snippets.snippets)

        self.assertEqual(len(snippets), 3)

    def test_subdir_01(self):
        from snippets.snippetsloader import SnippetsLoader
        subdir = os.path.join(self._dir_snippets, 'Поддиректория 01')
        os.mkdir(subdir)

        loader = SnippetsLoader(self._dir_snippets)
        snippets = loader.getSnippets()
        self.assertEqual(len(snippets.dirs), 1)

        subdir = snippets.dirs[0]
        self.assertEqual(len(subdir), 0)
        self.assertEqual(subdir.name, 'Поддиректория 01')

    def test_subdir_02(self):
        from snippets.snippetsloader import SnippetsLoader
        subdir_1 = os.path.join(self._dir_snippets, 'Поддиректория 01')
        subdir_2 = os.path.join(self._dir_snippets, 'Поддиректория 02')
        os.mkdir(subdir_1)
        os.mkdir(subdir_2)

        loader = SnippetsLoader(self._dir_snippets)
        snippets = loader.getSnippets()

        self.assertEqual(len(snippets), 2)
        self.assertEqual(len(snippets.dirs), 2)

        self.assertEqual(len(snippets.dirs[0]), 0)
        self.assertEqual(len(snippets.dirs[1]), 0)

    def test_subdir_03(self):
        from snippets.snippetsloader import SnippetsLoader
        subdir_1 = os.path.join(self._dir_snippets, 'Поддиректория 01')
        subdir_2 = os.path.join(subdir_1, 'Поддиректория 02')
        os.mkdir(subdir_1)
        os.mkdir(subdir_2)

        loader = SnippetsLoader(self._dir_snippets)
        snippets = loader.getSnippets()

        self.assertEqual(len(snippets), 1)
        self.assertEqual(len(snippets.dirs), 1)

        self.assertEqual(len(snippets.dirs[0]), 1)
        self.assertEqual(len(snippets.dirs[0].dirs[0]), 0)

    def test_full_01(self):
        from snippets.snippetsloader import SnippetsLoader
        subdir_1 = os.path.join(self._dir_snippets, 'Поддиректория 01')
        subdir_2 = os.path.join(subdir_1, 'Поддиректория 02')
        os.mkdir(subdir_1)
        os.mkdir(subdir_2)

        files = [os.path.join(self._dir_snippets, 'root_01'),
                 os.path.join(self._dir_snippets, 'root_02'),
                 os.path.join(subdir_1, 'dir_01_01'),
                 os.path.join(subdir_1, 'dir_01_02'),
                 os.path.join(subdir_2, 'dir_02_01'),
                 os.path.join(subdir_2, 'dir_02_02'),
                 ]

        list([self._create(fname) for fname in files])
        loader = SnippetsLoader(self._dir_snippets)
        snippets = loader.getSnippets()

        self.assertEqual(len(snippets.snippets), 2)
        self.assertEqual(len(snippets.dirs), 1)
        self.assertEqual(len(snippets), 3)

        self.assertEqual(len(snippets.dirs[0].snippets), 2)
        self.assertEqual(len(snippets.dirs[0].dirs), 1)
        self.assertEqual(len(snippets.dirs[0]), 3)

        self.assertEqual(len(snippets.dirs[0].dirs[0].snippets), 2)
        self.assertEqual(len(snippets.dirs[0].dirs[0].dirs), 0)
        self.assertEqual(len(snippets.dirs[0].dirs[0]), 2)
Esempio n. 57
0
class TOC_GeneratorTest (unittest.TestCase):
    """Тесты плагина TableOfContents"""
    def setUp (self):
        dirlist = [u"../plugins/tableofcontents"]

        self.loader = PluginsLoader(Application)
        self.loader.load (dirlist)


    def tearDown (self):
        self.loader.clear()


    def testEmpty (self):
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = []

        result = generator.make (items)

        result_valid = u''''''

        self.assertEqual (result, result_valid)


    def testToc_01 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = [Section (u"Абырвалг 123", 1, u"")]

        result = generator.make (items)

        result_valid = u'''* Абырвалг 123'''

        self.assertEqual (result, result_valid)


    def testToc_02 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 123", 1, u""),
            Section (u"Абырвалг 12345", 1, u""),
        ]

        result = generator.make (items)

        result_valid = u'''* Абырвалг 123
* Абырвалг 12345'''

        self.assertEqual (result, result_valid)


    def testToc_03 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 123", 1, u""),
            Section (u"Абырвалг 12345", 2, u""),
        ]

        result = generator.make (items)

        result_valid = u'''* Абырвалг 123
** Абырвалг 12345'''

        self.assertEqual (result, result_valid)


    def testToc_04 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 123", 1, u""),
            Section (u"Абырвалг 12345", 5, u""),
        ]

        result = generator.make (items)

        result_valid = u'''* Абырвалг 123
***** Абырвалг 12345'''

        self.assertEqual (result, result_valid)


    def testToc_05 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 1", 1, u""),
            Section (u"Абырвалг 2", 2, u""),
            Section (u"Абырвалг 3", 3, u""),
            Section (u"Абырвалг 1", 1, u""),
        ]

        result = generator.make (items)

        result_valid = u'''* Абырвалг 1
** Абырвалг 2
*** Абырвалг 3
* Абырвалг 1'''

        self.assertEqual (result, result_valid)


    def testToc_06 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 123", 2, u""),
            Section (u"Абырвалг 12345", 3, u""),
        ]

        result = generator.make (items)

        result_valid = u'''* Абырвалг 123
** Абырвалг 12345'''

        self.assertEqual (result, result_valid)


    def testToc_07 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 123", 5, u""),
            Section (u"Абырвалг 12345", 5, u""),
        ]

        result = generator.make (items)

        result_valid = u'''* Абырвалг 123
* Абырвалг 12345'''

        self.assertEqual (result, result_valid)


    def testAnchors_01 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        WikiConfig (Application.config).linkStyleOptions.value = 0

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 1", 1, u"якорь1"),
            Section (u"Абырвалг 2", 2, u"якорь2"),
        ]

        result = generator.make (items)

        result_valid = u'''* [[Абырвалг 1 -> #якорь1]]
** [[Абырвалг 2 -> #якорь2]]'''

        self.assertEqual (result, result_valid)


    def testAnchors_02 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        WikiConfig (Application.config).linkStyleOptions.value = 1

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 1", 1, u"якорь1"),
            Section (u"Абырвалг 2", 2, u"якорь2"),
        ]

        result = generator.make (items)

        result_valid = u'''* [[#якорь1 | Абырвалг 1]]
** [[#якорь2 | Абырвалг 2]]'''

        self.assertEqual (result, result_valid)


    def testAnchors_03 (self):
        from tableofcontents.contentsparser import Section
        from tableofcontents.tocwikigenerator import TOCWikiGenerator

        WikiConfig (Application.config).linkStyleOptions.value = 2

        generator = TOCWikiGenerator(Application.config)
        items = [
            Section (u"Абырвалг 1", 1, u"якорь1"),
            Section (u"Абырвалг 2", 2, u"якорь2"),
        ]

        result = generator.make (items)

        result_valid = u'''* [[Абырвалг 1 -> #якорь1]]
** [[Абырвалг 2 -> #якорь2]]'''

        self.assertEqual (result, result_valid)
Esempio n. 58
0
class HtmlHeadsTest (unittest.TestCase):

    def setUp(self):
        self.maxDiff = None

        self.filesPath = u"../test/samplefiles/"
        self.__createWiki()
        self.testPage = self.wikiroot[u"Страница 1"]

        dirlist = [u"../plugins/htmlheads"]

        self.loader = PluginsLoader(Application)
        self.loader.load(dirlist)

        self.factory = ParserFactory()
        self.parser = self.factory.make (self.testPage, Application.config)


    def __createWiki (self):
        # Здесь будет создаваться вики
        self.path = mkdtemp (prefix=u'Абырвалг абыр')

        self.wikiroot = WikiDocument.create (self.path)

        WikiPageFactory().create (self.wikiroot, u"Страница 1", [])


    def tearDown(self):
        removeDir (self.path)
        self.loader.clear()


    def testPluginLoad (self):
        self.assertEqual (len (self.loader), 1)


    def testTitle_01 (self):
        text = u'(:title Бла-бла-бла:)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u"<title>Бла-бла-бла</title>", result)


    def testTitle_02 (self):
        text = u'(:title    Бла-бла-бла бла-бла   :)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u"<title>Бла-бла-бла бла-бла</title>", result)


    def testDescription_01 (self):
        text = u'(:description Бла-бла-бла абырвалг:)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="description" content="Бла-бла-бла абырвалг"/>', result)


    def testDescription_02 (self):
        text = u'(:description    Бла-бла-бла абырвалг   :)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="description" content="Бла-бла-бла абырвалг"/>', result)


    def testDescription_03 (self):
        text = u'(:description:)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="description" content=""/>', result)


    def testKeywords_01 (self):
        text = u'(:keywords Бла-бла-бла, абырвалг:)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="keywords" content="Бла-бла-бла, абырвалг"/>', result)


    def testKeywords_02 (self):
        text = u'(:keywords     Бла-бла-бла, абырвалг    :)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="keywords" content="Бла-бла-бла, абырвалг"/>', result)


    def testKeywords_03 (self):
        text = u'(:keywords:)'

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="keywords" content=""/>', result)


    def testHtmlHead_01 (self):
        text = u'''(:htmlhead:)<meta name="keywords" content="Бла-бла-бла, абырвалг"/>(:htmlheadend:)'''

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="keywords" content="Бла-бла-бла, абырвалг"/>', result)
        self.assertNotIn ("(:htmlhead:)", result)


    def testHtmlHead_02 (self):
        text = u'''(:htmlhead:)
        <meta name="keywords" content="Бла-бла-бла, абырвалг"/>
        <meta name="description" content="Бла-бла-бла абырвалг"/>
(:htmlheadend:)'''

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertIn (u'<meta name="keywords" content="Бла-бла-бла, абырвалг"/>', result)
        self.assertIn (u'<meta name="description" content="Бла-бла-бла абырвалг"/>', result)
        self.assertNotIn ("(:htmlhead:)", result)


    def testHtmlHead_03 (self):
        text = u'''(:htmlhead:)(:htmlheadend:)'''

        self.testPage.content = text

        generator = HtmlGenerator (self.testPage)
        result = generator.makeHtml (Style().getPageStyle (self.testPage))

        self.assertNotIn ("(:htmlhead:)", result)
Esempio n. 59
0
class InsertDiagramTest (unittest.TestCase):
    def setUp(self):
        dirlist = [u"../plugins/diagrammer"]

        self.loader = PluginsLoader(Application)
        self.loader.load (dirlist)

        from diagrammer.gui.insertdiagramdialog import (
            InsertDiagramDialog,
            InsertDiagramController
        )

        self._dlg = InsertDiagramDialog(None)
        self._controller = InsertDiagramController (self._dlg)
        Tester.dialogTester.clear()


    def tearDown(self):
        self._dlg.Destroy()
        self.loader.clear()


    def testDefault (self):
        Tester.dialogTester.appendOk()

        begin, end = self._controller.getResult ()

        self.assertEqual (begin, u"(:diagram:)\n")
        self.assertEqual (end, u"\n(:diagramend:)")


    def testShape_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.setShapeSelection (0)

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u"\n(:diagramend:)")


    def testShape_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.setShapeSelection (1)

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = beginpoint;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u"\n(:diagramend:)")


    def testShape_03 (self):
        Tester.dialogTester.appendOk()

        # Значение по умолчанию
        self._dlg.setShapeSelection (2)

        begin, end = self._controller.getResult ()

        self.assertEqual (begin, u"(:diagram:)\n")
        self.assertEqual (end, u"\n(:diagramend:)")


    def testNodeColor_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isBackColorChanged = True
        self._dlg.backColor = u"white"

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_node_color = "white";
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testNodeColor_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isBackColorChanged = False
        self._dlg.backColor = u"black"

        begin, end = self._controller.getResult ()

        self.assertEqual (begin, u'(:diagram:)\n')
        self.assertEqual (end, u'\n(:diagramend:)')


    def testNodeColor_03 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isBackColorChanged = True
        self._dlg.backColor = u"#AAAAAA"

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_node_color = "#AAAAAA";
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testNodeColor_04 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isBackColorChanged = True
        self._dlg.backColor = u"#AAAAAA"
        self._dlg.setShapeSelection (0)

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
default_node_color = "#AAAAAA";
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testTextColor_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isTextColorChanged = True
        self._dlg.textColor = u"white"

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_textcolor = "white";
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testTextColor_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isTextColorChanged = False
        self._dlg.textColor = u"black"

        begin, end = self._controller.getResult ()

        self.assertEqual (begin, u'(:diagram:)\n')
        self.assertEqual (end, u'\n(:diagramend:)')


    def testTextColor_03 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isTextColorChanged = True
        self._dlg.textColor = u"#AAAAAA"

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_textcolor = "#AAAAAA";
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testTextColor_04 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isTextColorChanged = True
        self._dlg.textColor = u"#AAAAAA"
        self._dlg.setShapeSelection (0)

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
default_textcolor = "#AAAAAA";
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testFontSize_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isFontSizeChanged = True
        self._dlg.fontSize = 20

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_fontsize = 20;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testFontSize_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isFontSizeChanged = False
        self._dlg.fontSize = 20

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testFontSize_03 (self):
        Tester.dialogTester.appendOk()
        self._dlg.setShapeSelection (0)
        self._dlg.isFontSizeChanged = True
        self._dlg.fontSize = 20

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
default_fontsize = 20;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testWidth_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isWidthChanged = True
        self._dlg.width = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
node_width = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testWidth_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isWidthChanged = False
        self._dlg.width = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testWidth_03 (self):
        Tester.dialogTester.appendOk()
        self._dlg.setShapeSelection (0)
        self._dlg.isWidthChanged = True
        self._dlg.width = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
node_width = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testHeight_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isHeightChanged = True
        self._dlg.height = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
node_height = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testHeight_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isHeightChanged = False
        self._dlg.height = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testHeight_03 (self):
        Tester.dialogTester.appendOk()
        self._dlg.setShapeSelection (0)
        self._dlg.isHeightChanged = True
        self._dlg.height = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
node_height = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testOrientation_01 (self):
        self._dlg.orientationIndex = 0

        Tester.dialogTester.appendOk()

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testOrientation_02 (self):
        self._dlg.orientationIndex = 1

        Tester.dialogTester.appendOk()

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
orientation = portrait;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testOrientation_03 (self):
        self._dlg.orientationIndex = 1
        self._dlg.setShapeSelection (0)

        Tester.dialogTester.appendOk()

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
orientation = portrait;
default_shape = actor;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testSpanWidth_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isSpanWidthChanged = True
        self._dlg.spanWidth = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
span_width = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testSpanWidth_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isSpanWidthChanged = False
        self._dlg.spanWidth = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testSpanWidth_03 (self):
        Tester.dialogTester.appendOk()
        self._dlg.setShapeSelection (0)
        self._dlg.isSpanWidthChanged = True
        self._dlg.spanWidth = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
span_width = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testSpanHeight_01 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isSpanHeightChanged = True
        self._dlg.spanHeight = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
span_height = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testSpanHeight_02 (self):
        Tester.dialogTester.appendOk()
        self._dlg.isSpanHeightChanged = False
        self._dlg.spanHeight = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')


    def testSpanHeight_03 (self):
        Tester.dialogTester.appendOk()
        self._dlg.setShapeSelection (0)
        self._dlg.isSpanHeightChanged = True
        self._dlg.spanHeight = 200

        begin, end = self._controller.getResult ()

        valid_begin = u'''(:diagram:)
default_shape = actor;
span_height = 200;
'''

        self.assertEqual (begin, valid_begin)
        self.assertEqual (end, u'\n(:diagramend:)')