def test_second_slide(self): presentation = Presentation(EXAMPLE_PRESENTATION) with presentation.live.console.capture() as capture: presentation.start() presentation.next() presentation.stop() self.assertIn("Slide 2", capture.get())
def test_next_slide_shown_on_next(self, update): presentation = Presentation(TWO_SLIDES) presentation.start() update.reset_mock() presentation.next() update.assert_called() presentation.stop()
def test_first_slide_shown_on_start(self, update): presentation = Presentation("Simple content") presentation.start() update.assert_called() presentation.stop()
def on_release(key): if key == keyboard.Key.space: presentation.next() return presentation.started if key == keyboard.Key.esc: # Stop listener return False if __name__ == "__main__": if len(sys.argv) < 2: show_help() sys.exit(1) filename = sys.argv[1] try: with open(filename) as data_stream: file_content = data_stream.read() except FileNotFoundError as e: print(e) sys.exit(1) presentation = Presentation(file_content) presentation.start() with keyboard.Listener(on_press=on_press, on_release=on_release) as listener: listener.join()
def test_break_on_thematic_lines(self): self.assertEqual(len(Presentation(THREE_HEADINGS_NO_LINES)), 1) self.assertEqual(len(Presentation(ONE_HEADING_THREE_LINES)), 3)
def test_1_slide_if_no_title(self): presentation = Presentation("Simple content") self.assertEqual(len(presentation), 1)
def test_2_slides_if_2_titles(self): presentation = Presentation(TWO_SLIDES) self.assertEqual(len(presentation), 2)
def test_fail_if_empty(self): with self.assertRaises(TypeError): Presentation()
def test_can_be_instantiated(self): Presentation(ONE_SLIDE)