예제 #1
0
    def test_regexp_raw_error(self):
        trafaret = t.RegexpRaw('cat')
        res = catch_error(trafaret, 'dog')
        assert res.as_dict(value=True) == 'does not match pattern cat, got \'dog\''

        res = extract_error(trafaret, None)
        assert res == 'value is not a string'
예제 #2
0
 def test_regexp_raw_error(self):
     trafaret = t.RegexpRaw('cat')
     res = catch_error(trafaret, 'dog')
     self.assertEqual(res.as_dict(value=True),
                      'does not match pattern cat, got \'dog\'')
예제 #3
0
 def test_regexp_raw(self):
     trafaret = t.RegexpRaw('.*(cat).*')
     self.assertEqual(trafaret('cat1212').groups()[0], 'cat')
예제 #4
0
 def test_repr(self):
     assert repr(t.RegexpRaw('.*(cat).*')) == '<Regexp ".*(cat).*">'
예제 #5
0
 def test_regexp_raw(self):
     trafaret = t.RegexpRaw('.*(cat).*')
     assert trafaret('cat1212').groups()[0] == 'cat'
예제 #6
0
date = t.Dict(year=t.Int, month=t.Int,
              day=t.Int) >> (lambda d: datetime.datetime(**d))

task = t.Dict({
    'key': t.String(),
    t.Key('timestamp', optional=True): date,
})

print(
    task.check({
        'key': 'foo',
        'timestamp': {
            'year': 2012,
            'month': 1,
            'day': 12
        }
    }))

### Dict keys conversion
c = t.Dict({t.Key('userNameJava') >> 'name': t.String})
print(c.check({'userNameJava': 'Adam'}))

### Dict key conversion + fold
from trafaret.utils import fold
c = t.Dict({t.Key('uNJ') >> 'user__name': t.String}) >> fold
print(c.check({'uNJ': 'Adam'}))

### Regex String
c = t.RegexpRaw(r'name=(\w+)') >> (lambda m: m.group(1))
print(c.check('name=Jeff'))