OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 import os | 5 import os |
6 import sys | 6 import sys |
7 import unittest | 7 import unittest |
8 | 8 |
9 import api_schema_graph | 9 import api_schema_graph |
10 from availability_finder import AvailabilityFinder, AvailabilityInfo | 10 from availability_finder import AvailabilityFinder, AvailabilityInfo |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 181 |
182 # Check for differing availability across apps|extensions | 182 # Check for differing availability across apps|extensions |
183 assertGet(ChannelInfo('stable', CANNED_BRANCHES[26], 26), | 183 assertGet(ChannelInfo('stable', CANNED_BRANCHES[26], 26), |
184 'appsFirst', | 184 'appsFirst', |
185 only_on='extensions') | 185 only_on='extensions') |
186 assertGet(ChannelInfo('stable', CANNED_BRANCHES[25], 25), | 186 assertGet(ChannelInfo('stable', CANNED_BRANCHES[25], 25), |
187 'appsFirst', | 187 'appsFirst', |
188 only_on='apps') | 188 only_on='apps') |
189 | 189 |
190 def testGetAPINodeAvailability(self): | 190 def testGetAPINodeAvailability(self): |
| 191 def assertEquals(found, channel_info, actual, scheduled=None): |
| 192 lookup_result = api_schema_graph.LookupResult |
| 193 if channel_info is None: |
| 194 self.assertEquals(lookup_result(found, None), actual) |
| 195 else: |
| 196 self.assertEquals(lookup_result(found, AvailabilityInfo(channel_info, |
| 197 scheduled=scheduled)), actual) |
| 198 |
191 for platform in GetPlatforms(): | 199 for platform in GetPlatforms(): |
192 # Allow the LookupResult constructions below to take just one line. | 200 # Allow the LookupResult constructions below to take just one line. |
193 lookup_result = api_schema_graph.LookupResult | |
194 avail_finder = self._create_availability_finder( | 201 avail_finder = self._create_availability_finder( |
195 self._node_fs_creator, | 202 self._node_fs_creator, |
196 self._node_fs_iterator, | 203 self._node_fs_iterator, |
197 platform) | 204 platform) |
198 tabs_graph = avail_finder.GetAPINodeAvailability('tabs') | 205 tabs_graph = avail_finder.GetAPINodeAvailability('tabs') |
199 fake_tabs_graph = avail_finder.GetAPINodeAvailability('fakeTabs') | 206 fake_tabs_graph = avail_finder.GetAPINodeAvailability('fakeTabs') |
200 | 207 |
201 self.assertEquals( | 208 assertEquals(True, self._branch_utility.GetChannelInfo('trunk'), |
202 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), | 209 tabs_graph.Lookup('tabs', 'properties', 'fakeTabsProperty3')) |
203 tabs_graph.Lookup('tabs', 'properties', | 210 assertEquals(True, self._branch_utility.GetChannelInfo('dev'), |
204 'fakeTabsProperty3')) | 211 tabs_graph.Lookup('tabs', 'events', 'onActivated', 'parameters', |
205 self.assertEquals( | 212 'activeInfo', 'properties', 'windowId')) |
206 lookup_result(True, self._branch_utility.GetChannelInfo('dev')), | 213 assertEquals(True, self._branch_utility.GetChannelInfo('dev'), |
207 tabs_graph.Lookup('tabs', 'events', 'onActivated', | 214 tabs_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', 'tab')) |
208 'parameters', 'activeInfo', 'properties', | 215 assertEquals(True, self._branch_utility.GetChannelInfo('beta'), |
209 'windowId')) | 216 tabs_graph.Lookup('tabs', 'events', 'onActivated')) |
210 self.assertEquals( | 217 assertEquals(True, self._branch_utility.GetChannelInfo('beta'), |
211 lookup_result(True, self._branch_utility.GetChannelInfo('dev')), | 218 tabs_graph.Lookup('tabs', 'functions', 'get', 'parameters', 'tabId')) |
212 tabs_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', | 219 assertEquals(True, self._branch_utility.GetChannelInfo('stable'), |
213 'tab')) | 220 tabs_graph.Lookup('tabs', 'types', 'InjectDetails', 'properties', |
214 self.assertEquals( | 221 'code')) |
215 lookup_result(True, self._branch_utility.GetChannelInfo('beta')), | 222 assertEquals(True, self._branch_utility.GetChannelInfo('stable'), |
216 tabs_graph.Lookup('tabs', 'events','onActivated')) | 223 tabs_graph.Lookup('tabs', 'types', 'InjectDetails', 'properties', |
217 self.assertEquals( | 224 'file')) |
218 lookup_result(True, self._branch_utility.GetChannelInfo('beta')), | 225 assertEquals(True, self._branch_utility.GetStableChannelInfo(25), |
219 tabs_graph.Lookup('tabs', 'functions', 'get', 'parameters', | |
220 'tabId')) | |
221 self.assertEquals( | |
222 lookup_result(True, self._branch_utility.GetChannelInfo('stable')), | |
223 tabs_graph.Lookup('tabs', 'types', 'InjectDetails', | |
224 'properties', 'code')) | |
225 self.assertEquals( | |
226 lookup_result(True, self._branch_utility.GetChannelInfo('stable')), | |
227 tabs_graph.Lookup('tabs', 'types', 'InjectDetails', | |
228 'properties', 'file')) | |
229 self.assertEquals( | |
230 lookup_result(True, self._branch_utility.GetStableChannelInfo(25)), | |
231 tabs_graph.Lookup('tabs', 'types', 'InjectDetails')) | 226 tabs_graph.Lookup('tabs', 'types', 'InjectDetails')) |
232 | 227 |
233 # Test inlined type. | 228 # Test inlined type. |
234 self.assertEquals( | 229 assertEquals(True, self._branch_utility.GetChannelInfo('trunk'), |
235 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), | |
236 tabs_graph.Lookup('tabs', 'types', 'InlinedType')) | 230 tabs_graph.Lookup('tabs', 'types', 'InlinedType')) |
237 | 231 |
238 # Test implicitly inlined type. | 232 # Test implicitly inlined type. |
239 self.assertEquals( | 233 assertEquals(True, self._branch_utility.GetStableChannelInfo(25), |
240 lookup_result(True, self._branch_utility.GetStableChannelInfo(25)), | |
241 fake_tabs_graph.Lookup('fakeTabs', 'types', | 234 fake_tabs_graph.Lookup('fakeTabs', 'types', |
242 'WasImplicitlyInlinedType')) | 235 'WasImplicitlyInlinedType')) |
243 | 236 |
244 # Nothing new in version 24 or 23. | 237 # Nothing new in version 24 or 23. |
245 | 238 |
246 self.assertEquals( | 239 assertEquals(True, self._branch_utility.GetStableChannelInfo(22), |
247 lookup_result(True, self._branch_utility.GetStableChannelInfo(22)), | 240 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', 'windowId')) |
248 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', | 241 assertEquals(True, self._branch_utility.GetStableChannelInfo(21), |
249 'windowId')) | 242 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', 'selected')) |
250 self.assertEquals( | |
251 lookup_result(True, self._branch_utility.GetStableChannelInfo(21)), | |
252 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', | |
253 'selected')) | |
254 | 243 |
255 # Nothing new in version 20. | 244 # Nothing new in version 20. |
256 | 245 |
257 self.assertEquals( | 246 assertEquals(True, self._branch_utility.GetStableChannelInfo(19), |
258 lookup_result(True, self._branch_utility.GetStableChannelInfo(19)), | |
259 tabs_graph.Lookup('tabs', 'functions', 'getCurrent')) | 247 tabs_graph.Lookup('tabs', 'functions', 'getCurrent')) |
260 self.assertEquals( | 248 assertEquals(True, self._branch_utility.GetStableChannelInfo(18), |
261 lookup_result(True, self._branch_utility.GetStableChannelInfo(18)), | 249 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', 'index')) |
262 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', | 250 assertEquals(True, self._branch_utility.GetStableChannelInfo(17), |
263 'index')) | |
264 self.assertEquals( | |
265 lookup_result(True, self._branch_utility.GetStableChannelInfo(17)), | |
266 tabs_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', | 251 tabs_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', |
267 'changeInfo')) | 252 'changeInfo')) |
268 | 253 |
269 # Nothing new in version 16. | 254 # Nothing new in version 16. |
270 | 255 |
271 self.assertEquals( | 256 assertEquals(True, self._branch_utility.GetStableChannelInfo(15), |
272 lookup_result(True, self._branch_utility.GetStableChannelInfo(15)), | 257 tabs_graph.Lookup('tabs', 'properties', 'fakeTabsProperty2')) |
273 tabs_graph.Lookup('tabs', 'properties', | |
274 'fakeTabsProperty2')) | |
275 | 258 |
276 # Everything else is available at the API's release, version 14 here. | 259 # Everything else is available at the API's release, version 14 here. |
277 self.assertEquals( | 260 assertEquals(True, self._branch_utility.GetStableChannelInfo(14), |
278 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | |
279 tabs_graph.Lookup('tabs', 'types', 'Tab')) | 261 tabs_graph.Lookup('tabs', 'types', 'Tab')) |
280 self.assertEquals( | 262 assertEquals(True, self._branch_utility.GetStableChannelInfo(14), |
281 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | 263 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', 'url')) |
282 tabs_graph.Lookup('tabs', 'types', 'Tab', | 264 assertEquals(True, self._branch_utility.GetStableChannelInfo(14), |
283 'properties', 'url')) | 265 tabs_graph.Lookup('tabs', 'properties', 'fakeTabsProperty1')) |
284 self.assertEquals( | 266 assertEquals(True, self._branch_utility.GetStableChannelInfo(14), |
285 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | |
286 tabs_graph.Lookup('tabs', 'properties', | |
287 'fakeTabsProperty1')) | |
288 self.assertEquals( | |
289 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | |
290 tabs_graph.Lookup('tabs', 'functions', 'get', 'parameters', | 267 tabs_graph.Lookup('tabs', 'functions', 'get', 'parameters', |
291 'callback')) | 268 'callback')) |
292 self.assertEquals( | 269 assertEquals(True, self._branch_utility.GetStableChannelInfo(14), |
293 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | |
294 tabs_graph.Lookup('tabs', 'events', 'onUpdated')) | 270 tabs_graph.Lookup('tabs', 'events', 'onUpdated')) |
295 | 271 |
296 # Test things that aren't available. | 272 # Test things that aren't available. |
297 self.assertEqual(lookup_result(False, None), | 273 assertEquals(False, None, tabs_graph.Lookup('tabs', 'types', |
298 tabs_graph.Lookup('tabs', 'types', | 274 'UpdateInfo')) |
299 'UpdateInfo')) | 275 assertEquals(False, None, tabs_graph.Lookup('tabs', 'functions', 'get', |
300 self.assertEqual(lookup_result(False, None), | 276 'parameters', 'callback', 'parameters', 'tab', 'id')) |
301 tabs_graph.Lookup('tabs', 'functions', 'get', | 277 assertEquals(False, None, tabs_graph.Lookup('functions')) |
302 'parameters', 'callback', | 278 assertEquals(False, None, tabs_graph.Lookup('events', 'onActivated', |
303 'parameters', 'tab', 'id')) | 279 'parameters', 'activeInfo', 'tabId')) |
304 self.assertEqual(lookup_result(False, None), | |
305 tabs_graph.Lookup('functions')) | |
306 self.assertEqual(lookup_result(False, None), | |
307 tabs_graph.Lookup('events', 'onActivated', | |
308 'parameters', 'activeInfo', | |
309 'tabId')) | |
310 | 280 |
311 | 281 |
312 if __name__ == '__main__': | 282 if __name__ == '__main__': |
313 unittest.main() | 283 unittest.main() |
OLD | NEW |