def test_converts_dicts_recursively(self): input = {u'foo': u'Foo', 'bar': 'Bar'} self.assertEquals([str, str], map(type, to_utf8_recursively(input).keys())) self.assertEquals([str, str], map(type, to_utf8_recursively(input).values())) # assertEquals does not make any type comparision. # We just test that the value is the same. self.assertEquals(input, to_utf8_recursively(input))
def get_item_data(self, brain): return { 'title': to_utf8_recursively(brain.Title), 'url': get_brain_url(brain), 'modified': brain.modified.strftime(DATETIME_FORMAT), 'portal_type': brain.portal_type, 'cssclass': u'', }
def __call__(self): query = to_utf8_recursively(json.loads(self.request.get('query'))) # ftw.solr hack https://github.com/4teamwork/ftw.solr/issues/42 if query.get('path') == '/' or ( isinstance(query.get('path'), dict) and query['path'].get('query') == '/'): del query['path'] limit = int(self.request.get('limit')) brains = self._query_catalog(query, limit) total_length = self._count_unbatched_length(query) response = self.request.RESPONSE response.setHeader( 'X-total_results_length', str(total_length)) response.setHeader('X-Theme-Disabled', 'True') response.setHeader("Content-type", "application/json") return self._serialize_results(brains)
def test_converts_lists_recursively(self): self.assertEquals([str, str], map(type, to_utf8_recursively([u'foo', 'bar']))) self.assertEquals(['foo', 'bar'], to_utf8_recursively([u'foo', 'bar']))
def test_keeps_integers(self): self.assertEquals(2, to_utf8_recursively(2))
def test_converts_strings(self): self.assertEquals(str, type(to_utf8_recursively(u'foo'))) self.assertEquals(str, type(to_utf8_recursively('foo')))