Example #1
0
    def testNamespaceCompare(self):
        """Test Namespace comparisons."""
        a = Namespace(id=0, canonical_name='')

        self.assertEqual(a, 0)
        self.assertEqual(a, '')
        self.assertFalse(a < 0)  # noqa: H205
        self.assertFalse(a > 0)  # noqa: H205
        self.assertNotEqual(a, None)  # noqa: H203

        self.assertGreater(a, -1)

        x = Namespace(id=6,
                      custom_name='dummy',
                      canonical_name='File',
                      aliases=['Image', 'Immagine'])
        y = Namespace(id=6,
                      custom_name='ملف',
                      canonical_name='File',
                      aliases=['Image', 'Immagine'])
        z = Namespace(id=7,
                      custom_name='dummy 7',
                      canonical_name='File',
                      aliases=['Image', 'Immagine'])

        self.assertEqual(x, x)
        self.assertEqual(x, y)
        self.assertNotEqual(x, a)
        self.assertNotEqual(x, z)

        self.assertEqual(x, 6)
        self.assertEqual(x, 'dummy')
        self.assertEqual(x, 'Dummy')
        self.assertEqual(x, 'file')
        self.assertEqual(x, 'File')
        self.assertEqual(x, ':File')
        self.assertEqual(x, ':File:')
        self.assertEqual(x, 'File:')
        self.assertEqual(x, 'image')
        self.assertEqual(x, 'Image')

        self.assertFalse(x < 6)  # noqa: H205
        self.assertFalse(x > 6)  # noqa: H205

        self.assertEqual(y, 'ملف')

        self.assertLess(a, x)
        self.assertLess(x, z)
        self.assertLessEqual(a, x)
        self.assertGreater(x, a)
        self.assertGreater(x, 0)
        self.assertGreater(z, x)
        self.assertGreaterEqual(x, a)
        self.assertGreaterEqual(y, x)

        self.assertIn(6, [x, y, z])
        self.assertNotIn(8, [x, y, z])
Example #2
0
    def setUpClass(cls):
        super(TestAlternateNamespaces, cls).setUpClass()

        cls.get_repo()._namespaces = SelfCallDict({
            90: Namespace(id=90,
                          case='first-letter',
                          canonical_name='Item',
                          defaultcontentmodel='wikibase-item'),
            92: Namespace(id=92,
                          case='first-letter',
                          canonical_name='Prop',
                          defaultcontentmodel='wikibase-property')
        })
Example #3
0
    def test_repr(self):
        """Test Namespace.__repr__."""
        a = Namespace(id=0, canonical_name='Foo')
        s = repr(a)
        r = 'Namespace(id=0, custom_name={!r}, canonical_name={!r}, ' \
            'aliases=[])'.format(unicode('Foo'), unicode('Foo'))
        self.assertEqual(s, r)

        a.defaultcontentmodel = 'bar'
        s = repr(a)
        r = ('Namespace(id=0, custom_name={!r}, canonical_name={!r}, '
             'aliases=[], defaultcontentmodel={!r})'.format(
                 unicode('Foo'), unicode('Foo'), unicode('bar')))
        self.assertEqual(s, r)

        a.case = 'upper'
        s = repr(a)
        r = ('Namespace(id=0, custom_name={!r}, canonical_name={!r}, '
             'aliases=[], case={!r}, defaultcontentmodel={!r})'.format(
                 unicode('Foo'), unicode('Foo'), unicode('upper'),
                 unicode('bar')))
        self.assertEqual(s, r)

        b = eval(repr(a))
        self.assertEqual(a, b)
Example #4
0
    def test_repr(self):
        """Test Namespace.__repr__."""
        a = Namespace(id=0, canonical_name=u'Foo')
        s = repr(a)
        r = "Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[])" \
            % (unicode('Foo'), unicode('Foo'))
        self.assertEqual(s, r)

        a.defaultcontentmodel = 'bar'
        s = repr(a)
        r = ('Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[], '
             'defaultcontentmodel=%r)' %
             (unicode('Foo'), unicode('Foo'), unicode('bar')))
        self.assertEqual(s, r)

        a.case = 'upper'
        s = repr(a)
        r = (
            'Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[], '
            'case=%r, defaultcontentmodel=%r)' %
            (unicode('Foo'), unicode('Foo'), unicode('upper'), unicode('bar')))
        self.assertEqual(s, r)

        b = eval(repr(a))
        self.assertEqual(a, b)
Example #5
0
 def _build_namespaces(self):
     namespaces = super(DryDataSite, self)._build_namespaces()
     namespaces[0].defaultcontentmodel = 'wikibase-item'
     namespaces[120] = Namespace(id=120,
                                 case='first-letter',
                                 canonical_name='Property',
                                 defaultcontentmodel='wikibase-property')
     return namespaces
    def testNamespaceCompare(self):
        a = Namespace(id=0, canonical_name=u'')

        self.assertEqual(a, 0)
        self.assertEqual(a, '')
        self.assertNotEqual(a, None)

        x = Namespace(id=6,
                      custom_name=u'dummy',
                      canonical_name=u'File',
                      aliases=[u'Image', u'Immagine'])
        y = Namespace(id=6,
                      custom_name=u'ملف',
                      canonical_name=u'File',
                      aliases=[u'Image', u'Immagine'])
        z = Namespace(id=7,
                      custom_name=u'dummy',
                      canonical_name=u'File',
                      aliases=[u'Image', u'Immagine'])

        self.assertEqual(x, x)
        self.assertEqual(x, y)
        self.assertNotEqual(x, a)
        self.assertNotEqual(x, z)

        self.assertEqual(x, 6)
        self.assertEqual(x, u'dummy')
        self.assertEqual(x, u'Dummy')
        self.assertEqual(x, u'file')
        self.assertEqual(x, u'File')
        self.assertEqual(x, u':File')
        self.assertEqual(x, u':File:')
        self.assertEqual(x, u'File:')
        self.assertEqual(x, u'image')
        self.assertEqual(x, u'Image')

        self.assertEqual(y, u'ملف')

        self.assertLess(a, x)
        self.assertGreater(x, a)
        self.assertGreater(z, x)

        self.assertIn(6, [x, y, z])
        self.assertNotIn(8, [x, y, z])
Example #7
0
 def testNamespaceNameCase(self):
     """Namespace names are always case-insensitive."""
     kwargs = {'case': 'first-letter'}
     y = Namespace(id=6, custom_name='dummy', canonical_name='File',
                   aliases=['Image', 'Immagine'], **kwargs)
     self.assertIn('dummy', y)
     self.assertIn('Dummy', y)
     self.assertIn('file', y)
     self.assertIn('File', y)
     self.assertIn('image', y)
     self.assertIn('Image', y)
     self.assertIn('immagine', y)
     self.assertIn('Immagine', y)
Example #8
0
    def __init__(self, code, fam, user, sysop):
        """Constructor."""
        super(DryDataSite, self).__init__(code, fam, user, sysop)

        self._namespaces[0].defaultcontentmodel = 'wikibase-item'

        self._namespaces.update({
            120:
            Namespace(id=120,
                      case='first-letter',
                      canonical_name='Property',
                      defaultcontentmodel='wikibase-property')
        })
Example #9
0
    def testNamespaceToString(self):
        """Test Namespace __str__."""
        ns = Namespace.builtin_namespaces()

        self.assertEqual(str(ns[0]), ':')
        self.assertEqual(str(ns[1]), 'Talk:')
        self.assertEqual(str(ns[6]), ':File:')

        kwargs = {'case': 'first-letter'}
        y = Namespace(id=6, custom_name='ملف', canonical_name='File',
                      aliases=['Image', 'Immagine'], **kwargs)

        self.assertEqual(str(y), ':File:')
        self.assertEqual(y.canonical_prefix(), ':File:')
        self.assertEqual(y.custom_prefix(), ':ملف:')
Example #10
0
        class DrySite(pywikibot.site.DataSite):
            _namespaces = {
                90: Namespace(id=90,
                              canonical_name='Item',
                              defaultcontentmodel='wikibase-item'),
                92: Namespace(id=92,
                              canonical_name='Prop',
                              defaultcontentmodel='wikibase-property')
            }

            __init__ = lambda *args: None
            code = 'test'
            family = lambda: None
            family.name = 'test'
            _logged_in_as = None
            _siteinfo = {'case': 'first-letter'}
            _item_namespace = None
            _property_namespace = None

            def encoding(self):
                return 'utf-8'

            def encodings(self):
                return []
Example #11
0
    def testNamespaceConstructor(self):
        kwargs = {u'case': u'first-letter'}
        y = Namespace(id=6, custom_name=u'dummy', canonical_name=u'File',
                      aliases=[u'Image', u'Immagine'], **kwargs)

        self.assertEqual(y.id, 6)
        self.assertEqual(y.custom_name, u'dummy')
        self.assertEqual(y.canonical_name, u'File')

        self.assertNotEqual(y.custom_name, u'Dummy')
        self.assertNotEqual(y.canonical_name, u'file')

        self.assertIn(u'Image', y.aliases)
        self.assertIn(u'Immagine', y.aliases)

        self.assertEqual(len(y), 4)
        self.assertEqual(list(y), ['dummy', u'File', u'Image', u'Immagine'])
        self.assertEqual(y.case, u'first-letter')
Example #12
0
    def testNamespaceConstructor(self):
        """Test Namespace constructor."""
        kwargs = {'case': 'first-letter'}
        y = Namespace(id=6, custom_name='dummy', canonical_name='File',
                      aliases=['Image', 'Immagine'], **kwargs)

        self.assertEqual(y.id, 6)
        self.assertEqual(y.custom_name, 'dummy')
        self.assertEqual(y.canonical_name, 'File')

        self.assertNotEqual(y.custom_name, 'Dummy')
        self.assertNotEqual(y.canonical_name, 'file')

        self.assertIn('Image', y.aliases)
        self.assertIn('Immagine', y.aliases)

        self.assertLength(y, 4)
        self.assertEqual(list(y), ['dummy', 'File', 'Image', 'Immagine'])
        self.assertEqual(y.case, 'first-letter')
Example #13
0
    def test_repr(self):
        """Test Namespace.__repr__."""
        a = Namespace(id=0, canonical_name='Foo')
        s = repr(a)
        r = 'Namespace(id=0, custom_name={foo!r}, canonical_name={foo!r}, ' \
            'aliases=[])'.format(foo='Foo')
        self.assertEqual(s, r)

        a.defaultcontentmodel = 'bar'
        s = repr(a)
        r = ('Namespace(id=0, custom_name={foo!r}, canonical_name={foo!r}, '
             'aliases=[], defaultcontentmodel={bar!r})'
             .format(foo='Foo', bar='bar'))
        self.assertEqual(s, r)

        a.case = 'upper'
        s = repr(a)
        r = ('Namespace(id=0, custom_name={foo!r}, canonical_name={foo!r}, '
             'aliases=[], case={case!r}, defaultcontentmodel={bar!r})'
             .format(foo='Foo', case='upper', bar='bar'))
Example #14
0
    def testNamespaceToString(self):
        ns = Namespace.builtin_namespaces(use_image_name=False)

        self.assertEqual(str(ns[0]), ':')
        self.assertEqual(str(ns[1]), 'Talk:')
        self.assertEqual(str(ns[6]), ':File:')

        self.assertEqual(unicode(ns[0]), u':')
        self.assertEqual(unicode(ns[1]), u'Talk:')
        self.assertEqual(unicode(ns[6]), u':File:')

        kwargs = {u'case': u'first-letter'}
        y = Namespace(id=6, custom_name=u'ملف', canonical_name=u'File',
                      aliases=[u'Image', u'Immagine'], **kwargs)

        self.assertEqual(str(y), ':File:')
        if sys.version_info[0] <= 2:
            self.assertEqual(unicode(y), u':ملف:')
        self.assertEqual(y.canonical_prefix(), ':File:')
        self.assertEqual(y.custom_prefix(), u':ملف:')
Example #15
0
    def test_repr(self):
        a = Namespace(id=0, canonical_name=u'Foo')
        s = repr(a)
        r = "Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[])" \
            % (unicode('Foo'), unicode('Foo'))
        self.assertEqual(s, r)

        a.defaultcontentmodel = 'bar'
        s = repr(a)
        r = "Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[], defaultcontentmodel='bar')" \
            % (unicode('Foo'), unicode('Foo'))
        self.assertEqual(s, r)

        a.case = 'upper'
        s = repr(a)
        r = "Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[], case='upper', defaultcontentmodel='bar')" \
            % (unicode('Foo'), unicode('Foo'))
        self.assertEqual(s, r)

        b = eval(repr(a))
        self.assertEqual(a, b)