コード例 #1
0
 def test_complex_definition(self):
     definition_name1 = 'definition1'
     definition_name2 = 'definition2'
     definition_name3 = 'definition3'
     rule = WatchListRule(definition_name1 + '|' + definition_name2 + '|' + definition_name3, [])
     self.assertTrue(rule.match([definition_name1]))
     self.assertTrue(rule.match([definition_name2]))
     self.assertTrue(rule.match([definition_name3]))
     self.assertFalse(rule.match([definition_name1 + '1']))
     self.assertFalse(rule.match([definition_name2 + '1']))
     self.assertFalse(rule.match([definition_name3 + '1']))
コード例 #2
0
ファイル: watchlistparser.py プロジェクト: QPanWeb/ENG-webkit
 def _parse_rules(self, rules_section):
     rules = []
     for complex_definition in rules_section:
         instructions = rules_section[complex_definition]
         if not instructions:
             self._log_error(
                 'A rule for definition "%s" is empty, so it should be deleted.'
                 % complex_definition)
             continue
         rules.append(WatchListRule(complex_definition, instructions))
     return rules
コード例 #3
0
 def test_complex_definition_and(self):
     definition_name1 = 'definition1'
     definition_name2 = 'definition2'
     definition_name3 = 'definition3'
     rule = WatchListRule(
         definition_name1 + '&' + definition_name2 + '&' + definition_name3,
         [])
     self.assertFalse(rule.match([definition_name1]))
     self.assertFalse(rule.match([definition_name1, definition_name2]))
     self.assertFalse(rule.match([definition_name1, definition_name3]))
     self.assertFalse(rule.match([definition_name2]))
     self.assertFalse(rule.match([definition_name2, definition_name3]))
     self.assertFalse(rule.match([definition_name3]))
     self.assertTrue(
         rule.match([definition_name1, definition_name2, definition_name3]))
コード例 #4
0
 def test_simple_definition(self):
     definition_name = 'definition1'
     rule = WatchListRule(definition_name, [])
     self.assertTrue(rule.match([definition_name]))
     self.assertFalse(rule.match([definition_name + '1']))
コード例 #5
0
 def test_remove_instruction(self):
     instructions = ['a', 'b']
     rule = WatchListRule('definition1', instructions[:])
     rule.remove_instruction('b')
     self.assertEqual(['a'], rule.instructions())
コード例 #6
0
 def test_instruction_list(self):
     instructions = ['a', 'b']
     rule = WatchListRule('definition1', instructions[:])
     self.assertEqual(instructions, rule.instructions())
コード例 #7
0
 def test_complex_definition_combined(self):
     definition_name1 = 'definition1'
     definition_name2 = 'definition2'
     definition_name3 = 'definition3'
     definition_name4 = 'definition4'
     rule1 = WatchListRule(definition_name1 + '&!' + definition_name2, [])
     self.assertFalse(rule1.match([definition_name1, definition_name2]))
     self.assertFalse(rule1.match([definition_name2]))
     self.assertTrue(rule1.match([definition_name1]))
     rule2 = WatchListRule(
         definition_name1 + '|' + definition_name2 + '&!' +
         definition_name3, [])
     self.assertFalse(rule2.match([definition_name2, definition_name3]))
     self.assertFalse(rule2.match([definition_name3]))
     self.assertTrue(rule2.match([definition_name1]))
     self.assertTrue(rule2.match([definition_name1, definition_name2]))
     self.assertTrue(
         rule2.match([definition_name1, definition_name2,
                      definition_name3]))
     self.assertTrue(rule2.match([definition_name1, definition_name3]))
     self.assertTrue(rule2.match([definition_name2]))
     rule3 = WatchListRule(
         definition_name1 + '|' + definition_name2 + '&!' +
         definition_name3 + '|!' + definition_name4, [])
     self.assertFalse(
         rule3.match([definition_name2, definition_name3,
                      definition_name4]))
     self.assertFalse(
         rule3.match([definition_name2, definition_name3,
                      definition_name4]))
     self.assertFalse(rule3.match([definition_name3, definition_name4]))
     self.assertFalse(rule3.match([definition_name3, definition_name4]))
     self.assertFalse(rule3.match([definition_name4]))
     self.assertTrue(rule3.match([definition_name1]))
     self.assertTrue(
         rule3.match([
             definition_name1, definition_name2, definition_name3,
             definition_name4
         ]))
     self.assertTrue(
         rule3.match([definition_name1, definition_name2,
                      definition_name4]))
     self.assertTrue(
         rule3.match([definition_name1, definition_name3,
                      definition_name4]))
     self.assertTrue(rule3.match([definition_name1, definition_name4]))
     self.assertTrue(rule3.match([definition_name2]))
     self.assertTrue(rule3.match([definition_name2, definition_name4]))
     self.assertTrue(rule3.match([definition_name2, definition_name4]))
     self.assertTrue(rule3.match([definition_name2, definition_name4]))
     self.assertTrue(rule3.match([definition_name3]))
コード例 #8
0
 def test_complex_definition_not(self):
     definition_name1 = 'definition1'
     definition_name2 = 'definition2'
     rule = WatchListRule('!' + definition_name1, [])
     self.assertFalse(rule.match([definition_name1]))
     self.assertTrue(rule.match([definition_name2]))