コード例 #1
0
 def test_multiple_field(self):
     mask = Mask('field1, field2, field3')
     assert_data(mask, {
         'field1': True,
         'field2': True,
         'field3': True,
     })
コード例 #2
0
 def test_nested_fields(self):
     parsed = Mask('nested{field1,field2}')
     expected = {
         'nested': {
             'field1': True,
             'field2': True,
         }
     }
     assert parsed == expected
コード例 #3
0
 def test_star(self):
     parsed = Mask('nested{field1,field2},*')
     expected = {
         'nested': {
             'field1': True,
             'field2': True,
         },
         '*': True,
     }
     assert_data(parsed, expected)
コード例 #4
0
 def test_order(self):
     parsed = Mask('f_3, nested{f_1, f_2, f_3}, f_2, f_1')
     expected = OrderedDict([
         ('f_3', True),
         ('nested', OrderedDict([
             ('f_1', True),
             ('f_2', True),
             ('f_3', True),
         ])),
         ('f_2', True),
         ('f_1', True),
     ])
     assert parsed == expected
コード例 #5
0
 def test_complex(self):
     parsed = Mask('field1, nested{field, sub{subfield}}, field2')
     expected = {
         'field1': True,
         'nested': {
             'field': True,
             'sub': {
                 'subfield': True,
             }
         },
         'field2': True,
     }
     assert_data(parsed, expected)
コード例 #6
0
 def test_unexpected_opening_bracket(self):
     with pytest.raises(mask.ParseError):
         Mask('{{field}}')
コード例 #7
0
 def test_coma_after_bracket(self):
     with pytest.raises(mask.ParseError):
         Mask('nested{,}')
コード例 #8
0
 def test_coma_before_bracket(self):
     with pytest.raises(mask.ParseError):
         Mask('field,{}')
コード例 #9
0
 def test_consecutive_coma(self):
     with pytest.raises(mask.ParseError):
         Mask('field,,')
コード例 #10
0
 def test_missing_closing_bracket(self):
     with pytest.raises(mask.ParseError):
         Mask('nested{')
コード例 #11
0
 def test_support_dash(self):
     assert Mask('field-name') == {'field-name': True}
コード例 #12
0
 def test_support_underscore(self):
     assert Mask('field_name') == {'field_name': True}
コード例 #13
0
 def test_support_colons(self):
     assert Mask('field:name') == {'field:name': True}
コード例 #14
0
 def test_one_field(self):
     assert Mask('field_name') == {'field_name': True}
コード例 #15
0
 def test_empty_mask(self):
     assert Mask('') == {}
コード例 #16
0
 def parse(self, value):
     return Mask('{' + value + '}')
コード例 #17
0
 def parse(self, value):
     return Mask(value)