def test_line_spacing_error_handling(): printer = Dummy() with assert_raises(ValueError): printer.line_spacing(99, divisor=44) with assert_raises(ValueError): printer.line_spacing(divisor=80, spacing=86) with assert_raises(ValueError): printer.line_spacing(divisor=360, spacing=256) with assert_raises(ValueError): printer.line_spacing(divisor=180, spacing=256)
def test_line_spacing_code_gen(): printer = Dummy() printer.line_spacing(10) assert printer.output == b'\x1b3\n'
def test_line_spacing_rest(): printer = Dummy() printer.line_spacing() assert printer.output == b'\x1b2'
class DummyPrinter(object): def __init__(self): pass # TODO: find a way to clear out this set def print_ticket(self, order): self.d = Dummy() self.d.line_spacing(120) self.d.ln(1) self.d.set(align="center", bold=True, underline=2, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='a') self.d.block_text(str(order.order_number) + ' ' + order.name + '\n', font='a') self.d.ln(1) self.d.set(align="center", bold=False, underline=0, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='a') self.d.block_text(order.order_type + '\n', columns=20, font='a') self.d.ln(1) self.d.text(order.formatted_number + '\n') self.d.text(order.date + '\n') self.d.text(order.time + '\n') self.d.text(' \n') self.d.set(align="left", bold=True, underline=0, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='b') self.d.text('PICKUP TIME\n') self.d.set(align="left", bold=False, underline=0, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='a') self.d.block_text(order.pickup_time + '\n', columns=20, font='a') self.d.ln(2) self.d.set(align="left", bold=True, underline=0, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='b') self.d.text('ORDER\n') self.d.set(align="left", bold=False, underline=0, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='a') self.d.block_text(order.order + '\n', columns=20, font='a') self.d.ln(2) if order.notes != '': self.d.set(align="left", bold=True, underline=0, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='b') self.d.text('NOTES\n') self.d.set(align="left", bold=False, underline=0, double_height=False, double_width=False, custom_size=True, smooth=True, width=2, height=2, invert=False, density=8, font='a') self.d.block_text(order.notes + '\n', columns=20, font='a') self.d.cut() def print_error_message(self, error_message): pass