Files
yapsy/test/test_PluginInfo.py
2024-07-13 21:58:40 +02:00

53 lines
1.6 KiB
Python

# -*- coding: utf-8; tab-width: 4; indent-tabs-mode: t; python-indent: 4 -*-
import test_settings
from yapsy.compat import ConfigParser
import unittest
from yapsy.PluginInfo import PluginInfo
class PluginInfoTest(unittest.TestCase):
"""
Test basic manipulations of PluginInfo.
"""
def testDefaultValuesAndAccessors(self):
pi = PluginInfo("mouf","/bla/mouf")
self.assertEqual("mouf",pi.name)
self.assertEqual("/bla/mouf",pi.path)
self.assertEqual(None,pi.plugin_object)
self.assertEqual([],pi.categories)
self.assertEqual(None,pi.error)
self.assertEqual("0.0",pi.version)
self.assertEqual("Unknown",pi.author)
self.assertEqual("Unknown",pi.copyright)
self.assertEqual("None",pi.website)
self.assertEqual("",pi.description)
self.assertEqual("UnknownCategory",pi.category)
def testDetailsAccessors(self):
pi = PluginInfo("mouf","/bla/mouf")
details = ConfigParser()
details.add_section("Core")
details.set("Core","Name","hop")
details.set("Core","Module","/greuh")
details.add_section("Documentation")
details.set("Documentation","Author","me")
pi.details = details
# Beware this is not so obvious: the plugin info still points
# (and possibly modifies) the same instance of ConfigParser
self.assertEqual(details,pi.details)
# also the name and path are kept to their original value when
# the details is set in one go.
self.assertEqual("mouf",pi.name)
self.assertEqual("/bla/mouf",pi.path)
# check that some other info do change...
self.assertEqual("me",pi.author)
suite = unittest.TestSuite([
unittest.TestLoader().loadTestsFromTestCase(PluginInfoTest),
])