コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
    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)
コード例 #6
0
    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)
コード例 #7
0
    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)