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'))