⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_urwid.py

📁 Urwid is a Python library for making text console applications. It has many features including fluid
💻 PY
📖 第 1 页 / 共 5 页
字号:
		self.ktest( "unselectable above scroll 1", 'up',			[T(""),S(""),T("\n\n\n")], 1, 0,			1, 1, None )		self.ktest( "selectable above scroll 1", 'up',			[S(""),S(""),T("\n\n\n")], 1, 0,			0, 0, None )		self.ktest( "selectable above too far", 'up',			[S(""),T(""),S(""),T("\n\n\n")], 2, 0,			2, 1, None )		self.ktest( "selectable above skip 1 scroll 1", 'up',			[S(""),T(""),S(""),T("\n\n\n")], 2, 1,			0, 0, None )		self.ktest( "tall selectable above scroll 2", 'up',			[S(""),S("\n"),S(""),T("\n\n\n")], 2, 0,			1, 0, None )		self.ktest( "very tall selectable above scroll 5", 'up',			[S(""),S("\n\n\n\n"),S(""),T("\n\n\n\n")], 2, 0,			1, 0, None )		self.ktest( "very tall selected scroll within 1", 'up',			[S(""),S("\n\n\n\n\n")], 1, -1,			1, 0, None )		self.ktest( "edit above pass cursor", 'up',			[E("","abc"),E("","de")], 1, 1,			0, 0, (2, 0) )		key,lbox = self.ktest( "edit too far above pass cursor A", 'up',			[E("","abc"),T("\n\n\n\n"),E("","de")], 2, 4,			1, 0, None )		self.ktest( "edit too far above pass cursor B", 'up',			None, None, None,			0, 0, (2,0), lbox )		self.ktest( "within focus cursor made not visible", 'up',			[T("\n\n\n"),E("hi\n","ab")], 1, 3,			0, 0, None )		self.ktest( "within focus cursor made not visible (2)", 'up',			[T("\n\n\n\n"),E("hi\n","ab")], 1, 3,			0, -1, None )				self.ktest( "force focus unselectable" , 'up',			[T("\n\n\n\n"),S("")], 1, 4,			0, 0, None )				self.ktest( "pathological cursor widget", 'up',			[T("\n"),E("\n\n\n\n\n","a")], 1, 4,			0, -1, None )				self.ktest( "unselectable to unselectable", 'up',			[T(""),T(""),T(""),T(""),T(""),T(""),T("")], 2, 0,			1, 0, None )		self.ktest( "unselectable over edge to same", 'up',			[T(""),T("12\n34"),T(""),T(""),T(""),T("")],1,-1,			1, 0, None )				key,lbox = self.ktest( "edit short between pass cursor A", 'up',			[E("","abcd"),E("","a"),E("","def")], 2, 2,			1, 1, (1,1) )		self.ktest( "edit short between pass cursor B", 'up',			None, None, None,			0, 0, (3,0), lbox )			e = E("","\n\n\n\n\n")		e.set_edit_pos(1)		key,lbox = self.ktest( "edit cursor force scroll", 'up',			[e], 0, -1,			0, 0, (0,0) )		assert lbox.inset_fraction[0] == 0	def test2_down(self):			T,S,E = urwid.Text, SelectableText, urwid.Edit				self.ktest( "direct selectable both visible", 'down',			[S(""),S("")], 0, 0,			1, 1, None )		self.ktest( "selectable skip one all visible", 'down',			[S(""),T(""),S("")], 0, 0,			2, 2, None )		key,lbox = self.ktest( "nothing below no scroll", 'down',			[S("")], 0, 0,			0, 0, None )		assert key == 'down'		key, lbox = self.ktest( "unselectable below no scroll", 'down',			[S(""),T(""),T("")], 0, 0,			0, 0, None )		assert key == 'down'		self.ktest( "unselectable below scroll 1", 'down',			[T("\n\n\n"),S(""),T("")], 1, 4,			1, 3, None )		self.ktest( "selectable below scroll 1", 'down',			[T("\n\n\n"),S(""),S("")], 1, 4,			2, 4, None )		self.ktest( "selectable below too far", 'down',			[T("\n\n\n"),S(""),T(""),S("")], 1, 4,			1, 3, None )		self.ktest( "selectable below skip 1 scroll 1", 'down',			[T("\n\n\n"),S(""),T(""),S("")], 1, 3,			3, 4, None )		self.ktest( "tall selectable below scroll 2", 'down',			[T("\n\n\n"),S(""),S("\n"),S("")], 1, 4,			2, 3, None )		self.ktest( "very tall selectable below scroll 5", 'down',			[T("\n\n\n\n"),S(""),S("\n\n\n\n"),S("")], 1, 4,			2, 0, None )		self.ktest( "very tall selected scroll within 1", 'down',			[S("\n\n\n\n\n"),S("")], 0, 0,			0, -1, None )		self.ktest( "edit below pass cursor", 'down',			[E("","de"),E("","abc")], 0, 0,			1, 1, (2, 1) )		key,lbox=self.ktest( "edit too far below pass cursor A", 'down',			[E("","de"),T("\n\n\n\n"),E("","abc")], 0, 0,			1, 0, None )		self.ktest( "edit too far below pass cursor B", 'down',			None, None, None,			2, 4, (2,4), lbox )		odd_e = E("","hi\nab")		odd_e.set_edit_pos( 2 )		# disble cursor movement in odd_e object		odd_e.move_cursor_to_coords = lambda s,c,xy: 0		self.ktest( "within focus cursor made not visible", 'down',			[odd_e,T("\n\n\n\n")], 0, 0,			1, 1, None )		self.ktest( "within focus cursor made not visible (2)", 'down',			[odd_e,T("\n\n\n\n"),], 0, 0,			1, 1, None )				self.ktest( "force focus unselectable" , 'down',			[S(""),T("\n\n\n\n")], 0, 0,			1, 0, None )				odd_e.set_edit_text( "hi\n\n\n\n\n" )		self.ktest( "pathological cursor widget", 'down',			[odd_e,T("\n")], 0, 0,			1, 4, None )		self.ktest( "unselectable to unselectable", 'down',			[T(""),T(""),T(""),T(""),T(""),T(""),T("")], 4, 4,			5, 4, None )		self.ktest( "unselectable over edge to same", 'down',			[T(""),T(""),T(""),T(""),T("12\n34"),T("")],4,4,			4, 3, None )				key,lbox=self.ktest( "edit short between pass cursor A", 'down',			[E("","abc"),E("","a"),E("","defg")], 0, 0,			1, 1, (1,1) )		self.ktest( "edit short between pass cursor B", 'down',			None, None, None,			2, 2, (3,2), lbox )				e = E("","\n\n\n\n\n")		e.set_edit_pos(4)		key,lbox = self.ktest( "edit cursor force scroll", 'down',			[e], 0, 0,			0, -1, (0,4) )		assert lbox.inset_fraction[0] == 1				def test3_page_up(self):		T,S,E = urwid.Text, SelectableText, urwid.Edit				self.ktest( "unselectable aligned to aligned", 'page up',			[T(""),T("\n"),T("\n\n"),T(""),T("\n"),T("\n\n")], 3, 0,			1, 0, None )		self.ktest( "unselectable unaligned to aligned", 'page up',			[T(""),T("\n"),T("\n"),T("\n"),T("\n"),T("\n\n")], 3,-1,			1, 0, None )					self.ktest( "selectable to unselectable", 'page up',			[T(""),T("\n"),T("\n"),T("\n"),S("\n"),T("\n\n")], 4, 1,			1, -1, None )					self.ktest( "selectable to cut off selectable", 'page up',			[S("\n\n"),T("\n"),T("\n"),S("\n"),T("\n\n")], 3, 1,			0, -2, None )					self.ktest( "seletable to selectable", 'page up',			[T("\n\n"),S("\n"),T("\n"),S("\n"),T("\n\n")], 3, 1,			1, 1, None )		self.ktest( "within very long selectable", 'page up',			[S(""),S("\n\n\n\n\n\n\n\n"),T("\n")], 1, -6,			1, -1, None )		e = E("","\n\nab\n\n\n\n\ncd\n")		e.set_edit_pos(11)		self.ktest( "within very long cursor widget", 'page up',			[S(""),e,T("\n")], 1, -6,			1, -2, (2, 0) )		self.ktest( "pathological cursor widget", 'page up',			[T(""),E("\n\n\n\n\n\n\n\n","ab"),T("")], 1, -5,			0, 0, None )		e = E("","\nab\n\n\n\n\ncd\n")		e.set_edit_pos(10)		self.ktest( "very long cursor widget snap", 'page up',			[T(""),e,T("\n")], 1, -5, 			1, 0, (2, 1) )		self.ktest( "slight scroll selectable", 'page up',			[T("\n"),S("\n"),T(""),S(""),T("\n\n\n"),S("")], 5, 4,			3, 0, None )		self.ktest( "scroll into snap region", 'page up',			[T("\n"),S("\n"),T(""),T(""),T("\n\n\n"),S("")], 5, 4,			1, 0, None )		self.ktest( "mid scroll short", 'page up',			[T("\n"),T(""),T(""),S(""),T(""),T("\n"),S(""),T("\n")],			6, 2,	3, 1, None )		self.ktest( "mid scroll long", 'page up',			[T("\n"),S(""),T(""),S(""),T(""),T("\n"),S(""),T("\n")],			6, 2,	1, 0, None )		self.ktest( "mid scroll perfect", 'page up',			[T("\n"),S(""),S(""),S(""),T(""),T("\n"),S(""),T("\n")],			6, 2,	2, 0, None )		self.ktest( "cursor move up fail short", 'page up',			[T("\n"),T("\n"),E("","\nab"),T(""),T("")], 2, 1,			2, 4, (0, 4) )		self.ktest( "cursor force fail short", 'page up',			[T("\n"),T("\n"),E("\n","ab"),T(""),T("")], 2, 1,			0, 0, None )		odd_e = E("","hi\nab")		odd_e.set_edit_pos( 2 )		# disble cursor movement in odd_e object		odd_e.move_cursor_to_coords = lambda s,c,xy: 0		self.ktest( "cursor force fail long", 'page up',			[odd_e,T("\n"),T("\n"),T("\n"),S(""),T("\n")], 4, 2,			1, -1, None )		self.ktest( "prefer not cut off", 'page up',			[S("\n"),T("\n"),S(""),T("\n\n"),S(""),T("\n")], 4, 2,			2, 1, None )		self.ktest( "allow cut off", 'page up',			[S("\n"),T("\n"),T(""),T("\n\n"),S(""),T("\n")], 4, 2,			0, -1, None )		self.ktest( "at top fail", 'page up',			[T("\n\n"),T("\n"),T("\n\n\n")], 0, 0,			0, 0, None )				self.ktest( "all visible fail", 'page up',			[T("a"),T("\n")], 0, 0,			0, 0, None )		self.ktest( "current ok fail", 'page up',			[T("\n\n"),S("hi")], 1, 3,			1, 3, None )		self.ktest( "all visible choose top selectable", 'page up',			[T(""),S("a"),S("b"),S("c")], 3, 3,			1, 1, None )		self.ktest( "bring in edge choose top", 'page up',			[S("b"),T("-"),S("-"),T("c"),S("d"),T("-")],4,3,			0, 0, None )				self.ktest( "bring in edge choose top selectable", 'page up',			[T("b"),S("-"),S("-"),T("c"),S("d"),T("-")],4,3,			1, 1, None )			def test4_page_down(self):		T,S,E = urwid.Text, SelectableText, urwid.Edit				self.ktest( "unselectable aligned to aligned", 'page down',			[T("\n\n"),T("\n"),T(""),T("\n\n"),T("\n"),T("")], 2, 4,			4, 3, None )		self.ktest( "unselectable unaligned to aligned", 'page down',			[T("\n\n"),T("\n"),T("\n"),T("\n"),T("\n"),T("")], 2, 4,			4, 3, None )					self.ktest( "selectable to unselectable", 'page down',			[T("\n\n"),S("\n"),T("\n"),T("\n"),T("\n"),T("")], 1, 2,			4, 4, None )					self.ktest( "selectable to cut off selectable", 'page down',			[T("\n\n"),S("\n"),T("\n"),T("\n"),S("\n\n")], 1, 2,			4, 4, None )					self.ktest( "seletable to selectable", 'page down',			[T("\n\n"),S("\n"),T("\n"),S("\n"),T("\n\n")], 1, 1,			3, 2, None )		self.ktest( "within very long selectable", 'page down',			[T("\n"),S("\n\n\n\n\n\n\n\n"),S("")], 1, 2,			1, -3, None )		e = E("","\nab\n\n\n\n\ncd\n\n")		e.set_edit_pos(2)		self.ktest( "within very long cursor widget", 'page down',			[T("\n"),e,S("")], 1, 2,			1, -2, (1, 4) )		odd_e = E("","ab\n\n\n\n\n\n\n\n\n")		odd_e.set_edit_pos( 1 )		# disble cursor movement in odd_e object		odd_e.move_cursor_to_coords = lambda s,c,xy: 0		self.ktest( "pathological cursor widget", 'page down',			[T(""),odd_e,T("")], 1, 1,			2, 4, None )		e = E("","\nab\n\n\n\n\ncd\n")		e.set_edit_pos(2)		self.ktest( "very long cursor widget snap", 'page down',			[T("\n"),e,T("")], 1, 2, 			1, -3, (1, 3) )		self.ktest( "slight scroll selectable", 'page down',			[S(""),T("\n\n\n"),S(""),T(""),S("\n"),T("\n")], 0, 0,			2, 4, None )		self.ktest( "scroll into snap region", 'page down',			[S(""),T("\n\n\n"),T(""),T(""),S("\n"),T("\n")], 0, 0,			4, 3, None )		self.ktest( "mid scroll short", 'page down',			[T("\n"),S(""),T("\n"),T(""),S(""),T(""),T(""),T("\n")],			1, 2,	4, 3, None )		self.ktest( "mid scroll long", 'page down',			[T("\n"),S(""),T("\n"),T(""),S(""),T(""),S(""),T("\n")],			1, 2,	6, 4, None )		self.ktest( "mid scroll perfect", 'page down',			[T("\n"),S(""),T("\n"),T(""),S(""),S(""),S(""),T("\n")],			1, 2,	5, 4, None )		e = E("","hi\nab")		e.set_edit_pos( 1 )		self.ktest( "cursor move up fail short", 'page down',			[T(""),T(""),e,T("\n"),T("\n")], 2, 1,			2, -1, (1, 0) )		odd_e = E("","hi\nab")		odd_e.set_edit_pos( 1 )		# disble cursor movement in odd_e object		odd_e.move_cursor_to_coords = lambda s,c,xy: 0		self.ktest( "cursor force fail short", 'page down',			[T(""),T(""),odd_e,T("\n"),T("\n")], 2, 2, 			4, 3, None )		self.ktest( "cursor force fail long", 'page down',			[T("\n"),S(""),T("\n"),T("\n"),T("\n"),E("hi\n","ab")],			1, 2,	4, 4, None )					self.ktest( "prefer not cut off", 'page down',			[T("\n"),S(""),T("\n\n"),S(""),T("\n"),S("\n")], 1, 2,			3, 3, None )					self.ktest( "allow cut off", 'page down',			[T("\n"),S(""),T("\n\n"),T(""),T("\n"),S("\n")], 1, 2,			5, 4, None )				self.ktest( "at bottom fail", 'page down',			[T("\n\n"),T("\n"),T("\n\n\n")], 2, 1,			2, 1, None )		self.ktest( "all visible fail", 'page down',			[T("a"),T("\n")], 1, 1,			1, 1, None )		self.ktest( "current ok fail", 'page down',			[S("hi"),T("\n\n")], 0, 0,			0, 0, None )		self.ktest( "all visible choose last selectable", 'page down',			[S("a"),S("b"),S("c"),T("")], 0, 0,			2, 2, None )				self.ktest( "bring in edge choose last", 'page down',			[T("-"),S("d"),T("c"),S("-"),T("-"),S("b")],1,1,			5,4, None )				self.ktest( "bring in edge choose last selectable", 'page down',			[T("-"),S("d"),T("c"),S("-"),S("-"),T("b")],1,1,			4,3, None )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -