1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
# coding: utf-8
from __future__ import absolute_import, unicode_literals
from collections import namedtuple
from ..base import BaseTestCase
version_info_t = namedtuple('version_info_t', (
'major', 'minor', 'micro', 'releaselevel', 'serial',
))
class VersionsPanelTestCase(BaseTestCase):
def setUp(self):
super(VersionsPanelTestCase, self).setUp()
self.panel = self.toolbar.get_panel_by_id('VersionsPanel')
def test_app_version_from_get_version_fn(self):
class FakeApp:
def get_version(self):
return version_info_t(1, 2, 3, '', '')
self.assertEqual(self.panel.get_app_version(FakeApp()), '1.2.3')
def test_incompatible_app_version_fn(self):
class FakeApp:
def get_version(self, some_other_arg):
# This should be ignored by the get_version_from_app
return version_info_t(0, 0, 0, '', '')
VERSION = version_info_t(1, 2, 3, '', '')
self.assertEqual(self.panel.get_app_version(FakeApp()), '1.2.3')
def test_app_version_from_VERSION(self):
class FakeApp:
VERSION = version_info_t(1, 2, 3, '', '')
self.assertEqual(self.panel.get_app_version(FakeApp()), '1.2.3')
def test_app_version_from_underscore_version(self):
class FakeApp:
__version__ = version_info_t(1, 2, 3, '', '')
self.assertEqual(self.panel.get_app_version(FakeApp()), '1.2.3')
|