Ejemplo n.º 1
0
class APIListDataSourceTest(unittest.TestCase):
  def setUp(self):
    server_instance = ServerInstance.ForTest(
        TestFileSystem(_TEST_DATA, relative_to=CHROME_EXTENSIONS))
    # APIListDataSource takes a request but doesn't use it,
    # so put None
    self._api_list = APIListDataSource(server_instance, None)
    self.maxDiff = None

  def testApps(self):
    self.assertEqual({
        'stable': [
          {
            'name': 'alarms',
            'platforms': ['apps', 'extensions'],
            'version': 5,
            'description': u'<code>alarms</code>'
          },
          {
            'name': 'app.window',
            'platforms': ['apps'],
            # Availability logic will look for a camelCase format filename
            # (i.e. 'app.window.html') at version 20 and below, but the
            # unix_name format above won't be found at these versions.
            'version': 21,
            'description': u'<code>app.window</code>'
          },
          {
            'name': 'storage',
            'platforms': ['apps', 'extensions'],
            'last': True,
            'version': 5,
            'description': u'<code>storage</code>'
          }],
        'dev': [
          {
            'name': 'sockets.udp',
            'platforms': ['apps', 'extensions'],
            'last': True,
            'description': u'<code>sockets.udp</code>'
          }],
        'beta': [],
        'trunk': []
        }, self._api_list.get('apps').get('chrome'))

  def testExperimentalApps(self):
    self.assertEqual([
        {
          'name': 'experimental.bluetooth',
          'platforms': ['apps'],
          'description': u'<code>experimental.bluetooth</code>'
        },
        {
          'name': 'experimental.power',
          'platforms': ['apps', 'extensions'],
          'last': True,
          'description': u'<code>experimental.power</code>'
        }], self._api_list.get('apps').get('experimental'))

  def testExtensions(self):
    self.assertEqual({
        'stable': [
          {
            'name': 'alarms',
            'platforms': ['apps', 'extensions'],
            'version': 5,
            'description': u'<code>alarms</code>'
          },
          {
            'name': 'browserAction',
            'platforms': ['extensions'],
            # See comment above for 'app.window'.
            'version': 21,
            'description': u'<code>browserAction</code>'
          },
          {
            'name': 'infobars',
            'platforms': ['extensions'],
            'version': 5,
            'description': u'<code>infobars</code>'
          },
          {
            'name': 'storage',
            'platforms': ['apps', 'extensions'],
            'last': True,
            'version': 5,
            'description': u'<code>storage</code>'
          }],
        'dev': [
          {
            'name': 'sockets.udp',
            'platforms': ['apps', 'extensions'],
            'last': True,
            'description': u'<code>sockets.udp</code>'
          }],
        'beta': [],
        'trunk': []
        }, self._api_list.get('extensions').get('chrome'))

  def testExperimentalExtensions(self):
    self.assertEqual([
        {
          'name': 'experimental.history',
          'platforms': ['extensions'],
          'description': u'<code>experimental.history</code>'
        },
        {
          'name': 'experimental.power',
          'platforms': ['apps', 'extensions'],
          'description': u'<code>experimental.power</code>',
          'last': True
        }], self._api_list.get('extensions').get('experimental'))