def test_extract(self): obj1 = self.portal['my-image'] obj2 = self.portal['my-image1'] obj3 = self.portal['my-image2'] uuids = [ obj1.UID(), obj3.UID(), obj2.UID() ] name = 'uuid.field' self.request.set(name, u'\r\n'.join(uuids)) self.request.set(u'{0}.custom_url.{1}'.format(name, obj1.UID()), u'custom_url') self.request.set(u'{0}.custom_url.{1}'.format(name, obj2.UID()), u'') widget = TextLinesSortableWidget(self.request) widget.name = name expected = { obj1.UID(): { u'custom_url': u'custom_url', u'order': u'0' }, obj2.UID(): {u'order': u'2'}, obj3.UID(): {u'order': u'1'} } extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected)
def test_extract(self): name = 'uuid.field' self.request.set(name, u'uuid1\r\nuuid3\r\nuuid2') self.request.set(u'%s.custom_url.uuid1' % name, u'custom_url') self.request.set(u'%s.custom_url.uuid2' % name, u'') widget = TextLinesSortableWidget(self.request) widget.name = name expected = { u'uuid1': { u'custom_description': u'', u'custom_title': u'', u'custom_url': u'custom_url', u'order': u'0' }, u'uuid2': { u'custom_description': u'', u'custom_title': u'', u'custom_url': u'', u'order': u'2' }, u'uuid3': { u'custom_description': u'', u'custom_title': u'', u'custom_url': u'', u'order': u'1' } } extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected)
def test_utf8_custom_data(self): obj1 = self.portal['my-image'] obj1.setDescription('áéíóú') obj2 = self.portal['my-image2'] obj2.setTitle('áéíóú') obj2.setDescription('áéíóú') uuids = [ obj1.UID(), obj2.UID(), ] name = 'uuid.field' self.request.set(name, u'\r\n'.join(uuids)) self.request.set( u'{0}.custom_description.{1}'.format(name, obj1.UID()), u'áéíóú') self.request.set( u'{0}.custom_description.{1}'.format(name, obj2.UID()), u'') widget = TextLinesSortableWidget(self.request) widget.name = name widget.context = { 'uuids': { obj1.UID(): { u'order': u'0', u'custom_description': u'áéíóú' }, obj2.UID(): { u'order': u'1', u'custom_description': u'' }, }, } expected = { obj1.UID(): { u'order': u'0' }, obj2.UID(): { u'order': u'1' }, } extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected) self.assertEqual(widget.get_custom_title(obj1.UID()), u'Test image') self.assertEqual(widget.get_custom_description(obj1.UID()), u'áéíóú') self.assertIsInstance(widget.get_custom_title(obj1.UID()), unicode) self.assertIsInstance(widget.get_custom_description(obj1.UID()), unicode) self.assertEqual(widget.get_custom_title(obj2.UID()), u'áéíóú') self.assertEqual(widget.get_custom_description(obj2.UID()), u'áéíóú') self.assertIsInstance(widget.get_custom_title(obj2.UID()), unicode) self.assertIsInstance(widget.get_custom_description(obj2.UID()), unicode)
def test_extract(self): obj1 = self.portal['my-image'] obj2 = self.portal['my-image1'] obj3 = self.portal['my-image2'] uuids = [ obj1.UID(), obj3.UID(), obj2.UID(), ] name = 'uuid.field' self.request.set(name, u'\r\n'.join(uuids)) self.request.set(u'{0}.custom_url.{1}'.format(name, obj1.UID()), u'custom_url') self.request.set(u'{0}.custom_url.{1}'.format(name, obj2.UID()), u'') widget = TextLinesSortableWidget(self.request) widget.name = name expected = { obj1.UID(): { u'custom_url': u'custom_url', u'order': u'0', }, obj2.UID(): { u'order': u'2' }, obj3.UID(): { u'order': u'1' }, } extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected) # Test with weird line separators \n\n in IE11 for the uuids self.request.set(name, u'\n\n'.join(uuids)) extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected)
def test_utf8_custom_data(self): obj1 = self.portal['my-image'] obj1.setDescription('áéíóú') obj2 = self.portal['my-image2'] obj2.setTitle('áéíóú') obj2.setDescription('áéíóú') uuids = [ obj1.UID(), obj2.UID(), ] name = 'uuid.field' self.request.set(name, u'\r\n'.join(uuids)) self.request.set(u'{0}.custom_description.{1}'.format(name, obj1.UID()), u'áéíóú') self.request.set(u'{0}.custom_description.{1}'.format(name, obj2.UID()), u'') widget = TextLinesSortableWidget(self.request) widget.name = name widget.context = {'uuids': { obj1.UID(): {u'order': u'0', u'custom_description': u'áéíóú'}, obj2.UID(): {u'order': u'1', u'custom_description': u''}, }, } expected = { obj1.UID(): {u'order': u'0'}, obj2.UID(): {u'order': u'1'}, } extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected) self.assertEqual( widget.get_custom_title(obj1.UID()), u'Test image') self.assertEqual( widget.get_custom_description(obj1.UID()), u'áéíóú') self.assertIsInstance( widget.get_custom_title(obj1.UID()), six.text_type) self.assertIsInstance( widget.get_custom_description(obj1.UID()), six.text_type) self.assertEqual( widget.get_custom_title(obj2.UID()), u'áéíóú') self.assertEqual( widget.get_custom_description(obj2.UID()), u'áéíóú') self.assertIsInstance( widget.get_custom_title(obj2.UID()), six.text_type) self.assertIsInstance( widget.get_custom_description(obj2.UID()), six.text_type)
def test_utf8_custom_data(self): obj = self.portal['my-image'] obj.setDescription('áéíóú') name = 'uuid.field' self.request.set(name, u'{0}'.format(obj.UID())) self.request.set(u'{0}.custom_description.{1}'.format(name, obj.UID()), u'áéíóú') widget = TextLinesSortableWidget(self.request) widget.name = name expected = { obj.UID(): {u'order': u'0'}, } extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected)
def test_utf8_custom_data(self): obj = self.portal['my-image'] obj.setDescription('áéíóú') name = 'uuid.field' self.request.set(name, u'{0}'.format(obj.UID())) self.request.set(u'{0}.custom_description.{1}'.format(name, obj.UID()), u'áéíóú') widget = TextLinesSortableWidget(self.request) widget.name = name expected = { obj.UID(): { u'order': u'0' }, } extracted_value = widget.extract() self.assertDictEqual(extracted_value, expected)