Esempio n. 1
0
   def testSubscriptions(self):
      attribs = [Subscription.ID, Subscription.TITLE]
      scoobie_sub = Subscription({attribs[0]:self.SCOOBIE_ID, attribs[1]:self.SCOOBIE_TITLE})
      snacks_sub = Subscription({attribs[0]:self.SNACKS_ID, attribs[1]:self.SNACKS_TITLE})

      test_element = []
      expected_subs = [scoobie_sub, snacks_sub]
      for eachsub in expected_subs:
         for eachattrib in attribs:
            element = '<string name="%s">%s</string>' % (eachattrib, getattr(eachsub, eachattrib))
            test_element.append(element)

      xml_test = """
      <object>
         <list name="subscriptions">
            <object>
               %s
               %s
               <list name="categories"/>
               <string name="sortid">707AA16C</string>
               <number name="firstitemmsec">1237751512927</number>
            </object>
            <object>
               %s
               %s
               <list name="categories"/>
               <string name="sortid">707AA16C</string>
               <number name="firstitemmsec">1237751512927</number>
            </object>
         </list>
      </object>""" % (test_element[0], test_element[1],\
                     test_element[2], test_element[3])

      subs = repo.google.reader.list.subscriptions(xml_test)

      elements = len(subs)
      self.assertEquals(elements, 2, 'Number of elements = %i' % elements)

      scoobie_sub.id = xml.sax.saxutils.unescape(scoobie_sub.id)
      subs_iter = iter(subs)

      for expected in expected_subs:
         actual = subs_iter.next()
         self.assertTrue(expected == actual)
Esempio n. 2
0
   def testMerge(self):
      sub_attribs = [Subscription.ID, Subscription.TITLE]
      unread_attribs = [Subscription.ID, Subscription.COUNT]

      scoobie_sub = Subscription({sub_attribs[0]:self.SCOOBIE_ID, sub_attribs[1]:self.SCOOBIE_TITLE})
      snacks_sub = Subscription({sub_attribs[0]:self.SNACKS_ID, sub_attribs[1]:self.SNACKS_TITLE})
      subs = [scoobie_sub, snacks_sub]

      scoobie_unread = Subscription({sub_attribs[0]:self.SCOOBIE_ID, sub_attribs[1]:self.SCOOBIE_COUNT})
      snacks_unread = Subscription({sub_attribs[0]:self.SNACKS_ID, sub_attribs[1]:self.SNACKS_COUNT})
      unread = [scoobie_unread, snacks_unread]

      merged = repo.google.reader.list.merge(subs, unread)

      scoobie_unread.title = scoobie_sub.title
      snacks_unread.title = snacks_sub.title

      merged_iter = iter(merged)
      self.assertTrue(merged_iter.next() == scoobie_unread)
      self.assertTrue(merged_iter.next() == snacks_unread)
Esempio n. 3
0
   def testUnread(self):
      attribs = [Subscription.ID, Subscription.COUNT]
      scoobie_sub = Subscription({attribs[0]:self.SCOOBIE_ID, attribs[1]:self.SCOOBIE_COUNT})
      snacks_sub = Subscription({attribs[0]:self.SNACKS_ID, attribs[1]:self.SNACKS_COUNT})

      test_element = []
      expected_subs = [scoobie_sub, snacks_sub]
      for eachsub in expected_subs:
         for eachattrib in attribs:
            element = '<string name="%s">%s</string>' % (eachattrib, getattr(eachsub, eachattrib))
            test_element.append(element)

      xml_test = """
      <object>
         <number name="max">1000</number>
         <list name="unreadcounts">
            <object>
               %s
               %s
               <number name="newestItemTimestampUsec">1243356412327019</number>
            </object>
            <object>
               %s
               %s
               <number name="newestItemTimestampUsec">1243329792089154</number>
            </object>
         </list>
      </object>""" % (test_element[0], test_element[1],\
                     test_element[2], test_element[3])

      subs = repo.google.reader.list.unread(xml_test)

      elements = len(subs)
      self.assertEquals(elements, 2, 'Number of elements = %i' % elements)

      scoobie_sub.id = xml.sax.saxutils.unescape(scoobie_sub.id)
      subs_iter = iter(subs)

      for expected in expected_subs:
         actual = subs_iter.next()
         self.assertTrue(expected == actual)