Beispiel #1
0
 def test_keys(self):
     self.assertTrue(api.dotted({}).keys() == [])
     self.assertTrue(
         api.dotted({
             'foo': 0,
             'bar': 1
         }).keys() == ['foo', 'bar'])
     self.assertTrue(api.dotted({'foo': {'bar': 1}}).keys() == ['foo'])
Beispiel #2
0
 def test_keys(self):
     self.assertEqual(api.dotted({}).keys(), [])
     self.assertCountEqual(
         api.dotted({
             'foo': 0,
             'bar': 1
         }).keys(), ['foo', 'bar'])
     self.assertCountEqual(api.dotted({'foo': {'bar': 1}}).keys(), ['foo'])
Beispiel #3
0
 def test_items(self):
     self.assertEqual(api.dotted({}).keys(), [])
     self.assertCountEqual(
         api.dotted({
             'foo': 0,
             'bar': 1
         }).items(), [('foo', 0), ('bar', 1)])
     self.assertIsInstance(
         api.dotted({
             'foo': {
                 'bar': 1
             }
         }).items()[0][1], dotteddict.DottedDict)
Beispiel #4
0
 def test_items(self):
     self.assertTrue(api.dotted({}).keys() == [])
     self.assertTrue(
         api.dotted({
             'foo': 0,
             'bar': 1
         }).items() == [('foo', 0), ('bar', 1)])
     self.assertTrue(
         isinstance(
             api.dotted({
                 'foo': {
                     'bar': 1
                 }
             }).items()[0][1], dotteddict.DottedDict))
Beispiel #5
0
 def assertRaisesValidationError(self,f):
     r = self.request(dotted({}))
     try:
         f.validate(r)
     except validation.FormError:
         return
     raise ValueError
Beispiel #6
0
def _expand_id(id, doc):
    eid = []
    if '*' in id:
        prefix, suffix = id.split('*')
        items = api.dotted(doc)[prefix[:-1]]
        key = prefix + '%(n)s' + suffix
        return '%%%%(%s)s'%key,len(items)
    else:
        return '%%%%(%s)s'%id,1
 def build_request(self, data):
     """ Helps us create WebOb-like request to feed Formish's forms.
         Inspired by formish/tests/testish/testish/lib/forms.py
     """
     request = webob.Request.blank(cherrypy.url(), environ={'REQUEST_METHOD': 'POST'})
     fields = []
     for k, v in flatten(dotted(data)):
         fields.append((k, v))
     request.body = urlencode(fields)
     return request
Beispiel #8
0
 def test_eq(self):
     one = {'foo': 0, 'bar': 1}
     two = {'foo': {'bar': 1}}
     self.assertTrue(api.dotted(one) == one)
     self.assertTrue(api.dotted(one) == api.dotted(one))
     self.assertFalse(api.dotted(one) == two)
     self.assertFalse(api.dotted(one) == api.dotted(two))
Beispiel #9
0
 def test_eq(self):
     one = {'foo': 0, 'bar': 1}
     two = {'foo': {'bar': 1}}
     self.assertTrue(api.dotted(one) == one)
     self.assertTrue(api.dotted(one) == api.dotted(one))
     self.assertFalse(api.dotted(one) == two)
     self.assertFalse(api.dotted(one) == api.dotted(two))
Beispiel #10
0
 def test_eq(self):
     one = ['foo', 'bar']
     two = ['foo', 'rab']
     self.assertTrue(api.dotted(one) == one)
     self.assertTrue(api.dotted(one) == api.dotted(one))
     self.assertFalse(api.dotted(one) == two)
     self.assertFalse(api.dotted(one) == api.dotted(two))
Beispiel #11
0
 def test_eq(self):
     one = ['foo', 'bar']
     two = ['foo', 'rab']
     self.assertTrue(api.dotted(one) == one)
     self.assertTrue(api.dotted(one) == api.dotted(one))
     self.assertFalse(api.dotted(one) == two)
     self.assertFalse(api.dotted(one) == api.dotted(two))
Beispiel #12
0
def build_request(formname, data):
    d = dotted(data)
    e = {'REQUEST_METHOD': 'POST'}
    request = webob.Request.blank('/',environ=e)
    fields = []
    fields.append( ('_charset)','UTF-8') )
    fields.append( ('__formish_form__','form') )
    for k, v in d.dotteditems():
        fields.append( (k,v) )
    fields.append( ('submit','Submit') )
    request.body = urlencode( fields )

    return request
Beispiel #13
0
 def _factory(db, doc):
     ixdoc = xappy.UnprocessedDocument()
     ixdoc.id = doc['_id']
     for D in i:
         for data in D['data']:
             data, num_items = expand(data, doc)
             for n in xrange(num_items):
                 if 'factory' in D:
                     out = import_func(D['factory'])(doc)
                     if isinstance(out, ListType):
                         for index_text in out:
                             print 'INDEX_TEXT',index_text
                             ixdoc.fields.append(xappy.Field(D['name'], index_text))
                     else:
                         index_text = out
                         print 'INDEX_TEXT',index_text
                         ixdoc.fields.append(xappy.Field(D['name'], index_text))
                 else:
                     index_text = (data%{'n':n})%api.dotted(doc)
                     print 'INDEX_TEXT',index_text
                     ixdoc.fields.append(xappy.Field(D['name'], index_text))
     return ixdoc
Beispiel #14
0
 def _factory(db, doc):
     ixdoc = xappy.UnprocessedDocument()
     ixdoc.id = doc['_id']
     for D in i:
         for data in D['data']:
             data, num_items = expand(data, doc)
             for n in xrange(num_items):
                 if 'factory' in D:
                     out = import_func(D['factory'])(doc)
                     if isinstance(out, ListType):
                         for index_text in out:
                             print 'INDEX_TEXT', index_text
                             ixdoc.fields.append(
                                 xappy.Field(D['name'], index_text))
                     else:
                         index_text = out
                         print 'INDEX_TEXT', index_text
                         ixdoc.fields.append(
                             xappy.Field(D['name'], index_text))
                 else:
                     index_text = (data % {'n': n}) % api.dotted(doc)
                     print 'INDEX_TEXT', index_text
                     ixdoc.fields.append(xappy.Field(D['name'], index_text))
     return ixdoc
Beispiel #15
0
 def test_set_dotted(self):
     d = {}
     dd = api.dotted(d)
     api.set(dd, 'foo', 1)
     self.assertEqual(dd, {'foo': 1})
Beispiel #16
0
 def test_wrap_dotted(self):
     l = []
     dl = api.dotted(l)
     self.assertTrue(isinstance(dl, dottedlist.DottedList))
     self.assertTrue(dl is api.dotted(dl))
Beispiel #17
0
 def test_contains(self):
     dl = api.dotted(['foo', 'bar'])
     self.assertTrue('bar' in dl)
     self.assertFalse(1 in dl)
Beispiel #18
0
 def test_set_dotted(self):
     d = {}
     dd = api.dotted(d)
     api.set(dd, 'foo', 1)
Beispiel #19
0
 def test_items(self):
     self.assertEqual(api.dotted([]).items(), [])
     self.assertEqual(api.dotted(['foo', 'bar']).items(), [('0', 'foo'), ('1', 'bar')])
     self.assertIsInstance(api.dotted([['foo']]).items()[0][1], dottedlist.DottedList)
Beispiel #20
0
 def test_setitem_unwrap(self):
     l = ['foo', 'bar']
     api.dotted(l)['0'] = api.dotted([])
     self.assertEqual(l[0], [])
     self.assertNotIsInstance(l[0], dottedlist.DottedList)
Beispiel #21
0
 def test_keys(self):
     self.assertEqual(api.dotted({}).keys(), [])
     self.assertCountEqual(api.dotted({'foo': 0, 'bar': 1}).keys(), ['foo', 'bar'])
     self.assertCountEqual(api.dotted({'foo': {'bar': 1}}).keys(), ['foo'])
Beispiel #22
0
 def test_setitem(self):
     l = ['foo', 'bar']
     api.dotted(l)['0'] = 'wee'
     self.assertEqual(l[0], 'wee')
Beispiel #23
0
 def test_setitem(self):
     d = {}
     api.dotted(d)['foo'] = 'bar'
     self.assertEqual(d['foo'], 'bar')
Beispiel #24
0
 def test_setitem_unwrap(self):
     d = {}
     api.dotted(d)['foo'] = api.dotted({})
     self.assertEqual(d['foo'], {})
     self.assertNotIsInstance(d['foo'], dotteddict.DottedDict)
Beispiel #25
0
 def test_getitem_missing(self):
     self.assertRaises(KeyError, api.dotted({}).__getitem__, 'foo')
Beispiel #26
0
 def test_repr(self):
     dl = api.dotted(['foo', 'bar'])
     self.assertEqual(repr(dl), '''<DottedList "['foo', 'bar']">''')
Beispiel #27
0
 def test_contains(self):
     dl = api.dotted(['foo', 'bar'])
     self.assertTrue('bar' in dl)
     self.assertFalse(1 in dl)
Beispiel #28
0
 def test_setitem(self):
     l = ['foo', 'bar']
     api.dotted(l)['0'] = 'wee'
     self.assertTrue(l[0] == 'wee')
Beispiel #29
0
 def test_items(self):
     self.assertEqual(api.dotted({}).keys(), [])
     self.assertCountEqual(api.dotted({'foo': 0, 'bar': 1}).items(), [('foo', 0), ('bar', 1)])
     self.assertIsInstance(api.dotted({'foo': {'bar': 1}}).items()[0][1], dotteddict.DottedDict)
Beispiel #30
0
 def test_iter(self):
     values = ['foo', 'bar']
     for value in api.dotted(['foo', 'bar']):
         self.assertEqual(value, values.pop(0))
Beispiel #31
0
 def test_len(self):
     self.assertEqual(len(api.dotted({})), 0)
     self.assertEqual(len(api.dotted({'foo': 0, 'bar': 1})), 2)
     self.assertEqual(len(api.dotted({'foo': {'bar': 1}})), 1)
Beispiel #32
0
 def test_keys(self):
     self.assertEqual(api.dotted([]).keys(), [])
     self.assertEqual(api.dotted(['foo', 'bar']).keys(), ['0', '1'])
     self.assertEqual(api.dotted([['foo']]).keys(), ['0'])
Beispiel #33
0
 def test_items(self):
     self.assertEqual(api.dotted([]).items(), [])
     self.assertEqual(
         api.dotted(['foo', 'bar']).items(), [('0', 'foo'), ('1', 'bar')])
     self.assertIsInstance(
         api.dotted([['foo']]).items()[0][1], dottedlist.DottedList)
Beispiel #34
0
 def test_len(self):
     self.assertEqual(len(api.dotted([])), 0)
     self.assertEqual(len(api.dotted(['foo', 'bar'])), 2)
Beispiel #35
0
 def test_iter(self):
     keys = ['foo', 'bar']
     for key in api.dotted({'foo': 0, 'bar': 1}):
         self.assertIn(key, keys)
         keys.remove(key)
Beispiel #36
0
 def test_iter(self):
     values = ['foo', 'bar']
     for value in api.dotted(['foo', 'bar']):
         self.assertEqual(value, values.pop(0))
Beispiel #37
0
 def test_keys(self):
     self.assertEqual(api.dotted([]).keys(), [])
     self.assertEqual(api.dotted(['foo', 'bar']).keys(), ['0', '1'])
     self.assertEqual(api.dotted([['foo']]).keys(), ['0'])
Beispiel #38
0
 def test_repr(self):
     dl = api.dotted(['foo', 'bar'])
     self.assertEqual(repr(dl), '''<DottedList "['foo', 'bar']">''')
Beispiel #39
0
 def test_keys(self):
     self.assertTrue(api.dotted([]).keys() == [])
     self.assertTrue(api.dotted(['foo', 'bar']).keys() == ['0', '1'])
     self.assertTrue(api.dotted([['foo']]).keys() == ['0'])
Beispiel #40
0
 def test_get_dotted(self):
     d = {'foo': 'bar'}
     dd = api.dotted(d)
     self.assertTrue(api.get(dd, 'foo') == 'bar')
Beispiel #41
0
 def test_wrap_dotted(self):
     d = {}
     dd = api.dotted(d)
     self.assertTrue(isinstance(dd, dotteddict.DottedDict))
     self.assertTrue(dd is api.dotted(dd))
Beispiel #42
0
 def test_get_dotted(self):
     d = {'foo': 'bar'}
     dd = api.dotted(d)
     self.assertEqual(api.get(dd, 'foo'), 'bar')
Beispiel #43
0
 def test_getitem_missing(self):
     self.assertRaises(KeyError, api.dotted({}).__getitem__, 'foo')
Beispiel #44
0
 def test_getitem(self):
     dl = api.dotted(['foo', 'bar'])
     self.assertTrue(dl['0'] == 'foo')
     self.assertRaises(KeyError, dl.__getitem__, '2')
Beispiel #45
0
 def test_setitem_unwrap(self):
     d = {}
     api.dotted(d)['foo'] = api.dotted({})
     self.assertTrue(d['foo'] == {})
     self.assertTrue(not isinstance(d['foo'], dotteddict.DottedDict))
Beispiel #46
0
 def test_setitem_unwrap(self):
     l = ['foo', 'bar']
     api.dotted(l)['0'] = api.dotted([])
     self.assertTrue(l[0] == [])
     self.assertTrue(not isinstance(l[0], dottedlist.DottedList))
Beispiel #47
0
 def test_len(self):
     self.assertEqual(len(api.dotted([])), 0)
     self.assertEqual(len(api.dotted(['foo', 'bar'])), 2)
Beispiel #48
0
 def test_items(self):
     self.assertTrue(api.dotted([]).items() == [])
     self.assertTrue(api.dotted(['foo', 'bar']).items() == [('0', 'foo'), ('1', 'bar')])
     self.assertTrue(isinstance(api.dotted([['foo']]).items()[0][1], dottedlist.DottedList))
Beispiel #49
0
 def test_getitem(self):
     dl = api.dotted(['foo', 'bar'])
     self.assertEqual(dl['0'], 'foo')
     self.assertEqual(dl.get('0'), 'foo')
     self.assertRaises(KeyError, dl.__getitem__, '2')
Beispiel #50
0
 def test_getitem(self):
     d = {'foo': 'bar'}
     dd = api.dotted(d)
     self.assertTrue(dd['foo'] == 'bar')
Beispiel #51
0
 def test_len(self):
     self.assertEqual(len(api.dotted({})), 0)
     self.assertEqual(len(api.dotted({'foo': 0, 'bar': 1})), 2)
     self.assertEqual(len(api.dotted({'foo': {'bar': 1}})), 1)
Beispiel #52
0
 def test_setitem(self):
     d = {}
     api.dotted(d)['foo'] = 'bar'
     self.assertTrue(d['foo'] == 'bar')
Beispiel #53
0
 def test_wrap_dotted(self):
     l = []
     dl = api.dotted(l)
     self.assertIsInstance(dl, dottedlist.DottedList)
     self.assertIs(dl, api.dotted(dl))
Beispiel #54
0
 def test_setitem(self):
     l = ['foo', 'bar']
     api.dotted(l)['0'] = 'wee'
     self.assertEqual(l[0], 'wee')
Beispiel #55
0
 def test_getitem(self):
     dl = api.dotted(['foo', 'bar'])
     self.assertEqual(dl['0'], 'foo')
     self.assertEqual(dl.get('0'), 'foo')
     self.assertRaises(KeyError, dl.__getitem__, '2')
Beispiel #56
0
 def test_wrap_dotted(self):
     l = []
     dl = api.dotted(l)
     self.assertIsInstance(dl, dottedlist.DottedList)
     self.assertIs(dl, api.dotted(dl))
Beispiel #57
0
 def test_setitem_unwrap(self):
     l = ['foo', 'bar']
     api.dotted(l)['0'] = api.dotted([])
     self.assertEqual(l[0], [])
     self.assertNotIsInstance(l[0], dottedlist.DottedList)