def test_menu_items_ascii_margins_and_padding(self): print_screen_edge() sect = MenuItemsSection(MenuStyle(margins=MenuMargins(2, 8, 2, 8), padding=MenuPadding(1, 8, 1, 8)), items=self.small_list) for line in sect.generate(): print(line)
def test_menu_header_light_padding_t3_l4_b3_r4(self): print_screen_edge() header = MenuHeader(MenuStyle(padding=MenuPadding(3, 4, 3, 4), border_style=LightBorderStyle()), title="My Title") for line in header.generate(): print(line)
def test_menu_prologue_unicodelight_long_text_big_padding(self): print_screen_edge() pro = MenuTextSection(MenuStyle(padding=MenuPadding(2, 8, 2, 8), border_style=LightBorderStyle()), text=self.long_text) for line in pro.generate(): print(line)
def __init__(self, margins=None, padding=None, border_style=None, border_style_type=None, border_style_factory=None): self.__margins = None self.__padding = None self.__border_style_factory = None self.__border_style = None if margins is None: margins = MenuMargins() self.margins = margins if padding is None: padding = MenuPadding() self.padding = padding if border_style_factory is None: border_style_factory = MenuBorderStyleFactory() self.border_style_factory = border_style_factory if border_style is not None: # A specified border_style takes precedence self.border_style = border_style elif border_style_type is not None: # If we have a border style type, create border style with factory self.border_style = self.border_style_factory.create_border( border_style_type) else: # No border style class or type was given, so use default border style self.border_style = self.border_style_factory.create_light_border()
def test_ascii_prompt_no_top_margin(self): # Set footer's bottom margin to 0 and prompt's top padding to 0 so prompt is touching bottom of menu. footer = MenuFooter(MenuStyle(margins=MenuMargins(0, 2, 0, 2))) mp = MenuPrompt(MenuStyle(padding=MenuPadding(0, 1, 1, 1))) for line in footer.generate(): print(line) for line in mp.generate(): print(line)
def test_unicode_prompt_no_top_margin(self): # Set top padding to 0 so prompt is touching bottom of menu. style = MenuStyle(padding=MenuPadding(0, 2, 0, 2), border_style=LightBorderStyle()) footer = MenuFooter(style) mp = MenuPrompt(style, prompt_string=u"\u27EB") for line in footer.generate(): print(line) for line in mp.generate(): print(line)
def test_menu_items_ascii_padding_large_list(self): print_screen_edge() sect = MenuItemsSection(MenuStyle(padding=MenuPadding(1, 4, 1, 4)), items=self.large_list) for line in sect.generate(): print(line)