Exemplo n.º 1
0
    def test_set_format(self):
        # Test with one format.
        text1 = u"unicode text"
        c = Clipboard()
        c.set_format(format_unicode, text1)
        self.assertTrue(c.has_format(format_unicode))
        self.assertEqual(c.get_format(format_unicode), text1)
        self.assertFalse(c.has_format(format_text))
        self.assertRaises(ValueError, c.get_format, format_text)

        # Test with two formats.
        text2 = b"text"
        c.set_format(format_text, text2)
        self.assertTrue(c.has_format(format_unicode))
        self.assertEqual(c.get_format(format_unicode), text1)
        self.assertTrue(c.has_format(format_text))
        self.assertEqual(c.get_format(format_text), text2)

        # Setting a format to None removes the format's content from the
        # instance.
        c.set_format(format_text, None)
        self.assertFalse(c.has_format(format_text))
        self.assertRaises(ValueError, c.get_format, format_text)
        c.set_format(format_unicode, None)
        self.assertFalse(c.has_format(format_unicode))
        self.assertRaises(ValueError, c.get_format, format_unicode)
Exemplo n.º 2
0
    def test_flexible_string_types(self):
        # This is similar to the clipboard format conversion that Windows
        # performs when necessary. The Clipboard class should do this
        # regardless of platform/implementation.

        # Binary strings used with format_unicode are converted for us.
        c = Clipboard(contents={format_unicode: b"text"})
        self.assertEqual(c.get_format(format_unicode), u"text")
        c = Clipboard()
        c.set_format(format_unicode, b"text")
        self.assertEqual(c.get_format(format_unicode), u"text")

        # Text strings used with format_text (ANSI) are converted for us.
        c = Clipboard(contents={format_text: u"text"})
        self.assertEqual(c.get_format(format_text), b"text")
        c = Clipboard()
        c.set_format(format_text, u"text")
        self.assertEqual(c.get_format(format_text), b"text")