[view] fix: not displaying the right unit symbol for byte based sizes

This commit is contained in:
Vinicius Moreira
2022-04-06 10:21:10 -03:00
parent 7d12810772
commit 2262f36640
3 changed files with 27 additions and 24 deletions

View File

@@ -22,6 +22,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Debian - Debian
- info: crashing when the package size has unexpected symbols [#251](https://github.com/vinifmor/bauh/issues/251) - info: crashing when the package size has unexpected symbols [#251](https://github.com/vinifmor/bauh/issues/251)
- UI
- not displaying the right unit symbol for byte based sizes (kB, MB, TB, ...) (#250)[https://github.com/vinifmor/bauh/issues/250]
## [0.10.1] 2022-03-31 ## [0.10.1] 2022-03-31

View File

@@ -2,8 +2,8 @@ from typing import Tuple, Optional, Iterable
from bauh.api.abstract.view import SelectViewType, InputOption, SingleSelectComponent from bauh.api.abstract.view import SelectViewType, InputOption, SingleSelectComponent
SIZE_UNITS = ((1, 'B'), (1024, 'Kb'), (1048576, 'Mb'), (1073741824, 'Gb'), SIZE_UNITS = ((1, 'B'), (1024, 'kB'), (1048576, 'MB'), (1073741824, 'GB'),
(1099511627776, 'Tb'), (1125899906842624, 'Pb')) (1099511627776, 'TB'), (1125899906842624, 'PB'))
def new_select(label: str, tip: Optional[str], id_: str, opts: Iterable[Tuple[Optional[str], object, Optional[str]]], value: object, max_width: int, def new_select(label: str, tip: Optional[str], id_: str, opts: Iterable[Tuple[Optional[str], object, Optional[str]]], value: object, max_width: int,

View File

@@ -9,36 +9,36 @@ class GetHumanSizeStrTest(TestCase):
self.assertEqual('1023 B', get_human_size_str(1023)) self.assertEqual('1023 B', get_human_size_str(1023))
self.assertEqual('-1023 B', get_human_size_str(-1023)) self.assertEqual('-1023 B', get_human_size_str(-1023))
def test__must_properly_convert_to_Kb(self): def test__must_properly_convert_to_kB(self):
self.assertEqual('1.00 Kb', get_human_size_str(1024)) self.assertEqual('1.00 kB', get_human_size_str(1024))
self.assertEqual('1.50 Kb', get_human_size_str(1536)) self.assertEqual('1.50 kB', get_human_size_str(1536))
self.assertEqual('1.75 Kb', get_human_size_str(1792)) self.assertEqual('1.75 kB', get_human_size_str(1792))
self.assertEqual('57.30 Kb', get_human_size_str(58675.2)) self.assertEqual('57.30 kB', get_human_size_str(58675.2))
self.assertEqual('-1.00 Kb', get_human_size_str(-1024)) self.assertEqual('-1.00 kB', get_human_size_str(-1024))
def test__must_properly_convert_to_Mb(self): def test__must_properly_convert_to_MB(self):
self.assertEqual('1.00 Mb', get_human_size_str(1048576)) self.assertEqual('1.00 MB', get_human_size_str(1048576))
self.assertEqual('1.20 Mb', get_human_size_str(1258291)) self.assertEqual('1.20 MB', get_human_size_str(1258291))
self.assertEqual('1.50 Mb', get_human_size_str(1572864)) self.assertEqual('1.50 MB', get_human_size_str(1572864))
self.assertEqual('57.30 Mb', get_human_size_str(60083404.8)) self.assertEqual('57.30 MB', get_human_size_str(60083404.8))
def test__must_properly_convert_to_Gb(self): def test__must_properly_convert_to_GB(self):
self.assertEqual('1.00 Gb', get_human_size_str(1073741824)) self.assertEqual('1.00 GB', get_human_size_str(1073741824))
self.assertEqual('57.30 Gb', get_human_size_str(61525406515.2)) self.assertEqual('57.30 GB', get_human_size_str(61525406515.2))
def test__must_properly_convert_to_Tb(self): def test__must_properly_convert_to_TB(self):
self.assertEqual('1.00 Tb', get_human_size_str(1099511627776)) self.assertEqual('1.00 TB', get_human_size_str(1099511627776))
self.assertEqual('57.30 Tb', get_human_size_str(63002016271564.8)) self.assertEqual('57.30 TB', get_human_size_str(63002016271564.8))
def test__must_properly_convert_to_Pb(self): def test__must_properly_convert_to_PB(self):
self.assertEqual('1.00 Pb', get_human_size_str(1125899906842624)) self.assertEqual('1.00 PB', get_human_size_str(1125899906842624))
self.assertEqual('57.30 Pb', get_human_size_str(64514064662082350)) self.assertEqual('57.30 PB', get_human_size_str(64514064662082350))
def test__must_concatenate_the_plus_sign_if_positive_sign_is_true_and_value_is_positive(self): def test__must_concatenate_the_plus_sign_if_positive_sign_is_true_and_value_is_positive(self):
self.assertEqual('+1023 B', get_human_size_str(1023, positive_sign=True)) self.assertEqual('+1023 B', get_human_size_str(1023, positive_sign=True))
self.assertEqual('+1.00 Kb', get_human_size_str(1024, positive_sign=True)) self.assertEqual('+1.00 kB', get_human_size_str(1024, positive_sign=True))
def test__must_not_concatenate_the_plus_sign_if_positive_sign_is_true_and_value_is_negative(self): def test__must_not_concatenate_the_plus_sign_if_positive_sign_is_true_and_value_is_negative(self):
self.assertEqual('-1023 B', get_human_size_str(-1023, positive_sign=True)) self.assertEqual('-1023 B', get_human_size_str(-1023, positive_sign=True))
self.assertEqual('-1.00 Kb', get_human_size_str(-1024, positive_sign=True)) self.assertEqual('-1.00 kB', get_human_size_str(-1024, positive_sign=True))