def test_filter_clear_decorate(self): f = mocks.FE() w = messager.Messager(f) w.filter = filters.Yes() decor = {'foreground': 'white', 'background': 'blue'} w.filter_clear_decorate(decor) self.assertEqual(f.context.conf['rule'], [('yes', decor)]) self.assertEqual([[({'visible', 'bar'}, '\n')]], [chunk.tagsets() for (mark, chunk) in w.view(0)])
def test_check_redisplay_hint(self): f = mocks.FE() w = messager.Messager(f) w.renderer = mocks.Renderer() self.assertFalse(w.check_redisplay_hint({})) hint = w.redisplay_hint() self.assertTrue(w.check_redisplay_hint(hint)) r = (f.context.backends._messages[0], f.context.backends._messages[-1]) self.assertFalse(w.check_redisplay_hint({'messages': r})) w.filter = filters.Yes() w.renderer = mocks.Renderer(range=r) self.assertTrue(w.check_redisplay_hint({'messages': r}))
def test_filter_push(self): f = mocks.FE() w = messager.Messager(f) w.filter = None f0 = filters.Yes() w.filter_push(f0) self.assertIs(w.filter, f0) self.assertEqual(w.filter_stack, []) f1 = filters.No() w.filter_push(f1) self.assertEqual(w.filter, filters.And(f0, f1)) self.assertEqual(w.filter_stack, [f0])
def test_0(self): fe = mocks.FE() w = messager.Messager(fe) self.assertEqual([[({'visible', 'bar'}, '\n')]], [chunk.tagsets() for (mark, chunk) in w.view(0)]) w.renderer = mocks.Renderer() f = filters.Yes() fe.context.conf['rule'] = [('yes', {'foreground': 'green'})] x = messager.Messager(fe, prototype=w, filter_new=f) self.assertEqual([[({'visible', 'bar'}, '\n')]], [chunk.tagsets() for (mark, chunk) in w.view(0)]) self.assertIs(x.filter, f) self.assertEqual(len(x.rules), len(fe.context.conf['rule']))
def test_filter_color_rules(self): f = mocks.FE() w = messager.Messager(f) w.read_string = returning('green') w.filter = filters.Yes() for _ in w.filter_foreground_background(): pass self.assertEqual(f.context.conf['rule'], [('yes', { 'foreground': 'green', 'background': 'green' })]) w.filter = filters.Yes() for _ in w.filter_foreground(): pass self.assertEqual(f.context.conf['rule'], [('yes', { 'foreground': 'green' })]) w.filter = filters.Yes() for _ in w.filter_background(): pass self.assertEqual(f.context.conf['rule'], [('yes', { 'background': 'green' })]) w.read_string = returning('messager_tests.TestMessager') w.filter = filters.Yes() for _ in w.filter_decor(): pass self.assertEqual(f.context.conf['rule'], [('yes', { 'decor': 'messager_tests.TestMessager' })]) w.read_string = returning('nonexistent.object') w.filter = filters.Yes() self.assertRaises(util.SnipeException, lambda: list(w.filter_decor()))
async def test_filter_color_rules(self): f = mocks.FE() w = messager.Messager(f) w.read_string = returning('green') w.filter = filters.Yes() await w.filter_foreground_background() self.assertEqual(f.context.conf['rule'], [('yes', { 'foreground': 'green', 'background': 'green' })]) w.filter = filters.Yes() await w.filter_foreground() self.assertEqual(f.context.conf['rule'], [('yes', { 'foreground': 'green' })]) w.filter = filters.Yes() await w.filter_background() self.assertEqual(f.context.conf['rule'], [('yes', { 'background': 'green' })]) w.read_string = returning('test_messager.TestMessager') w.filter = filters.Yes() await w.filter_decor() self.assertEqual(f.context.conf['rule'], [('yes', { 'decor': 'test_messager.TestMessager' })]) w.read_string = returning('nonexistent.object') w.filter = filters.Yes() with self.assertRaises(util.SnipeException): await w.filter_decor()
def test_filter_cleverly_and_pop(self): f = mocks.FE() w = messager.Messager(f) w.filter_cleverly() self.assertEqual(str(w.filter), 'filter default and yes') w.filter_pop() self.assertEqual(str(w.filter), 'filter default') w.filter = filters.Yes() self.assertEqual(str(w.filter), 'yes') w.filter_pop() self.assertEqual(str(w.filter), 'filter default')