Skip to content

Commit c998e96

Browse files
authored
Merge pull request #921 from IndustriaTech/fix/920-version-representation
Fixed #920 Version representation
2 parents f11ec3b + 0bc747d commit c998e96

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

debug_toolbar/panels/versions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,7 @@ def get_app_version(self, app):
5454
else:
5555
return
5656
if isinstance(version, (list, tuple)):
57-
version = '.'.join(str(o) for o in version)
57+
# We strip dots from the right because we do not want to show
58+
# trailing dots if there are empty elements in the list/tuple
59+
version = '.'.join(str(o) for o in version).rstrip('.')
5860
return version

tests/panels/test_versions.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# coding: utf-8
2+
3+
from __future__ import absolute_import, unicode_literals
4+
from collections import namedtuple
5+
6+
from ..base import BaseTestCase
7+
8+
9+
version_info_t = namedtuple('version_info_t', (
10+
'major', 'minor', 'micro', 'releaselevel', 'serial',
11+
))
12+
13+
14+
class VersionsPanelTestCase(BaseTestCase):
15+
16+
def setUp(self):
17+
super(VersionsPanelTestCase, self).setUp()
18+
self.panel = self.toolbar.get_panel_by_id('VersionsPanel')
19+
20+
def test_app_version_from_get_version_fn(self):
21+
22+
class FakeApp:
23+
def get_version(self):
24+
return version_info_t(1, 2, 3, '', '')
25+
26+
self.assertEqual(self.panel.get_app_version(FakeApp()), '1.2.3')
27+
28+
def test_app_version_from_VERSION(self):
29+
30+
class FakeApp:
31+
VERSION = version_info_t(1, 2, 3, '', '')
32+
33+
self.assertEqual(self.panel.get_app_version(FakeApp()), '1.2.3')
34+
35+
def test_app_version_from_underscode_version(self):
36+
37+
class FakeApp:
38+
__version__ = version_info_t(1, 2, 3, '', '')
39+
40+
self.assertEqual(self.panel.get_app_version(FakeApp()), '1.2.3')

0 commit comments

Comments
 (0)