def testSortKey(self):
    item = util.AcceptItem('main/sub; q=0.2; level=3', 11)
    self.assertEquals((False, False, -0.2, False, 11), item.sort_key)

    item = util.AcceptItem('main/*', 12)
    self.assertEquals((False, True, -1, True, 12), item.sort_key)

    item = util.AcceptItem('*/*', 1)
    self.assertEquals((True, True, -1, True, 1), item.sort_key)
Beispiel #2
0
 def testStr(self):
     self.assertEquals('*/*', str(util.AcceptItem('*/*', 1)))
     self.assertEquals('text/*', str(util.AcceptItem('text/*', 1)))
     self.assertEquals('text/plain', str(util.AcceptItem('text/plain', 1)))
     self.assertEquals('text/plain; q=0.2',
                       str(util.AcceptItem('text/plain; q=0.2', 1)))
     self.assertEquals(
         'text/plain; q=0.2; level=1',
         str(util.AcceptItem('text/plain; level=1; q=0.2', 1)))
 def testSort(self):
   i1 = util.AcceptItem('text/*', 1)
   i2 = util.AcceptItem('text/html', 2)
   i3 = util.AcceptItem('text/html; q=0.9', 3)
   i4 = util.AcceptItem('text/html; q=0.3', 4)
   i5 = util.AcceptItem('text/xml', 5)
   i6 = util.AcceptItem('text/html; level=1', 6)
   i7 = util.AcceptItem('*/*', 7)
   items = [i1, i2 ,i3 ,i4 ,i5 ,i6, i7]
   random.shuffle(items)
   self.assertEquals([i6, i2, i5, i3, i4, i1, i7], sorted(items))
 def testParse(self):
   self.CheckAttributes(util.AcceptItem('*/*', 1), None, None)
   self.CheckAttributes(util.AcceptItem('text/*', 1), 'text', None)
   self.CheckAttributes(util.AcceptItem('text/plain', 1), 'text', 'plain')
   self.CheckAttributes(
     util.AcceptItem('text/plain; q=0.3', 1), 'text', 'plain', 0.3,
     values={'q': '0.3'})
   self.CheckAttributes(
     util.AcceptItem('text/plain; level=2', 1), 'text', 'plain',
     values={'level': '2'})
   self.CheckAttributes(
     util.AcceptItem('text/plain', 10), 'text', 'plain', index=10)
 def testValues(self):
   item = util.AcceptItem('text/plain; a=1; b=2; c=3;', 1)
   values = item.values
   self.assertEquals(dict(a="1", b="2", c="3"), values)
   values['a'] = "7"
   self.assertNotEquals(values, item.values)
 def testRepr(self):
   self.assertEquals("AcceptItem('*/*', 1)", repr(util.AcceptItem('*/*', 1)))
   self.assertEquals("AcceptItem('text/plain', 11)",
                     repr(util.AcceptItem('text/plain', 11)))
 def testMatchCaseInsensitive(self):
   item = util.AcceptItem('text/plain', 1)
   self.assertTrue(item.match('tExt/pLain'))
 def testMatchFullType(self):
   item = util.AcceptItem('text/plain', 1)
   self.assertFalse(item.match('text/html'))
   self.assertTrue(item.match('text/plain; level=1'))
   self.assertFalse(item.match('image/png'))
   self.assertFalse(item.match('image/png; q=0.3'))
 def testMatchAll(self):
   item = util.AcceptItem('*/*', 1)
   self.assertTrue(item.match('text/html'))
   self.assertTrue(item.match('text/plain; level=1'))
   self.assertTrue(item.match('image/png'))
   self.assertTrue(item.match('image/png; q=0.3'))
 def testCaseInsensitive(self):
   self.CheckAttributes(util.AcceptItem('Text/Plain', 1), 'text', 'plain')