def test_spinner_getters_setters(self): """Test spinner getters and setters. """ spinner = HaloNotebook() self.assertEqual(spinner.text, '') self.assertEqual(spinner.color, 'cyan') self.assertIsNone(spinner.spinner_id) spinner.spinner = 'dots12' spinner.text = 'bar' spinner.color = 'red' self.assertEqual(spinner.text, 'bar') self.assertEqual(spinner.color, 'red') if is_supported(): self.assertEqual(spinner.spinner, Spinners['dots12'].value) else: self.assertEqual(spinner.spinner, default_spinner) spinner.spinner = 'dots11' if is_supported(): self.assertEqual(spinner.spinner, Spinners['dots11'].value) else: self.assertEqual(spinner.spinner, default_spinner) spinner.spinner = 'foo_bar' self.assertEqual(spinner.spinner, default_spinner) # Color is None spinner.color = None spinner.start() spinner.stop() self.assertIsNone(spinner.color)
def _get_spinner(self, spinner): """Extracts spinner value from options and returns value containing spinner frames and interval, defaults to 'dots' spinner. Parameters ---------- spinner : dict, str Contains spinner value or type of spinner to be used Returns ------- dict Contains frames and interval defining spinner """ default_spinner = Spinners['dots'].value if is_supported(): if spinner: if type(spinner) == dict: return spinner elif is_text_type(spinner) and spinner in Spinners.__members__: return Spinners[spinner].value else: return Spinners['line'].value return default_spinner
def test_spinner_interval_dict(self): """Test proper assignment of the interval value from a dictionary. """ spinner = Halo(spinner={'interval': 321, 'frames': ['+', '-']}) if is_supported(): self.assertEqual(spinner._interval, 321) else: self.assertEqual(spinner._interval, default_spinner['interval'])
def test_spinner_getter(self): instance = Halo() if is_supported(): default_spinner_value = "dots" else: default_spinner_value = "line" instance.spinner = default_spinner_value self.assertEqual(default_spinner, instance.spinner) instance.spinner = "This_spinner_do_not_exist" self.assertEqual(default_spinner, instance.spinner) instance.spinner = -123 self.assertEqual(default_spinner, instance.spinner)
from spinners.spinners import Spinners from halo import HaloNotebook from halo._utils import get_terminal_columns, is_supported from tests._utils import decode_utf_8_text, encode_utf_8_text, find_colors, strip_ansi from termcolor import COLORS if sys.version_info.major == 2: get_coded_text = encode_utf_8_text else: get_coded_text = decode_utf_8_text if is_supported(): frames = [get_coded_text(frame) for frame in Spinners['dots'].value['frames']] default_spinner = Spinners['dots'].value else: frames = [get_coded_text(frame) for frame in Spinners['line'].value['frames']] default_spinner = Spinners['line'].value class TestHaloNotebook(unittest.TestCase): """Test HaloNotebook enum for attribute values. """ TEST_FOLDER = os.path.dirname(os.path.abspath(__file__)) def setUp(self): """Set up things before beginning of each test. """