class TestFullscreenWindow(unittest.TestCase): def setUp(self): self.screen = pyte.Screen(10, 3) self.stream = pyte.Stream() self.stream.attach(self.screen) stdout = ScreenStdout(self.stream) self.window = FullscreenWindow(stdout) def test_render(self): with self.window: self.window.render_to_terminal([u'hi', u'there']) self.assertEqual(self.screen.display, [u'hi ', u'there ', u' ']) def test_scroll(self): with self.window: self.window.render_to_terminal([u'hi', u'there']) self.window.scroll_down() self.assertEqual(self.screen.display, [u'there ', u' ', u' '])
def test_fullscreen_window(self): fakestdout = StringIO() window = FullscreenWindow(fakestdout) window.write("hi") fakestdout.seek(0) self.assertEqual(fakestdout.read(), "hi")
def test_fullscreen_window(self): fakestdout = StringIO() window = FullscreenWindow(fakestdout) window.write('hi') fakestdout.seek(0) self.assertEqual(fakestdout.read(), 'hi')
def setUp(self): self.screen = pyte.Screen(10, 3) self.stream = pyte.Stream() self.stream.attach(self.screen) stdout = ScreenStdout(self.stream) self.window = FullscreenWindow(stdout)
import sys import os from curtsies.fmtfuncs import blue, red, bold, on_red from curtsies.window import FullscreenWindow import time if __name__ == '__main__': print(blue('hey') + ' ' + red('there') + ' ' + red(bold('you'))) n = int(sys.argv[1]) if len(sys.argv) > 1 else 100 with FullscreenWindow() as window: rows, columns = window.get_term_hw() t0 = time.time() for i in range(n): a = [ blue(on_red('qwertyuiop'[i % 10] * columns)) for _ in range(rows) ] window.render_to_terminal(a) t1 = time.time() t2 = time.time() for i in range(n): a = [blue(on_red('q'[i % 1] * columns)) for _ in range(rows)] window.render_to_terminal(a) t3 = time.time() t4 = time.time() a = [blue(on_red('q' * columns)) for _ in range(rows)]