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 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 for platform in GetPlatforms(): | 191 for platform in GetPlatforms(): |
192 # Allow the LookupResult constructions below to take just one line. | 192 # Allow the LookupResult constructions below to take just one line. |
193 lookup_result = api_schema_graph.LookupResult | 193 lookup_result = api_schema_graph.LookupResult |
194 availability_graph = self._create_availability_finder( | 194 avail_finder = self._create_availability_finder( |
195 self._node_fs_creator, | 195 self._node_fs_creator, |
196 self._node_fs_iterator, | 196 self._node_fs_iterator, |
197 platform).GetAPINodeAvailability('tabs') | 197 platform) |
| 198 tabs_graph = avail_finder.GetAPINodeAvailability('tabs') |
| 199 fake_tabs_graph = avail_finder.GetAPINodeAvailability('fakeTabs') |
198 | 200 |
199 self.assertEquals( | 201 self.assertEquals( |
200 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), | 202 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), |
201 availability_graph.Lookup('tabs', 'properties', | 203 tabs_graph.Lookup('tabs', 'properties', |
202 'fakeTabsProperty3')) | 204 'fakeTabsProperty3')) |
203 self.assertEquals( | 205 self.assertEquals( |
204 lookup_result(True, self._branch_utility.GetChannelInfo('dev')), | 206 lookup_result(True, self._branch_utility.GetChannelInfo('dev')), |
205 availability_graph.Lookup('tabs', 'events', 'onActivated', | 207 tabs_graph.Lookup('tabs', 'events', 'onActivated', |
206 'parameters', 'activeInfo', 'properties', | 208 'parameters', 'activeInfo', 'properties', |
207 'windowId')) | 209 'windowId')) |
208 self.assertEquals( | 210 self.assertEquals( |
209 lookup_result(True, self._branch_utility.GetChannelInfo('dev')), | 211 lookup_result(True, self._branch_utility.GetChannelInfo('dev')), |
210 availability_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', | 212 tabs_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', |
211 'tab')) | 213 'tab')) |
212 self.assertEquals( | 214 self.assertEquals( |
213 lookup_result(True, self._branch_utility.GetChannelInfo('beta')), | 215 lookup_result(True, self._branch_utility.GetChannelInfo('beta')), |
214 availability_graph.Lookup('tabs', 'events','onActivated')) | 216 tabs_graph.Lookup('tabs', 'events','onActivated')) |
215 self.assertEquals( | 217 self.assertEquals( |
216 lookup_result(True, self._branch_utility.GetChannelInfo('beta')), | 218 lookup_result(True, self._branch_utility.GetChannelInfo('beta')), |
217 availability_graph.Lookup('tabs', 'functions', 'get', 'parameters', | 219 tabs_graph.Lookup('tabs', 'functions', 'get', 'parameters', |
218 'tabId')) | 220 'tabId')) |
219 self.assertEquals( | 221 self.assertEquals( |
220 lookup_result(True, self._branch_utility.GetChannelInfo('stable')), | 222 lookup_result(True, self._branch_utility.GetChannelInfo('stable')), |
221 availability_graph.Lookup('tabs', 'types', 'InjectDetails', | 223 tabs_graph.Lookup('tabs', 'types', 'InjectDetails', |
222 'properties', 'code')) | 224 'properties', 'code')) |
223 self.assertEquals( | 225 self.assertEquals( |
224 lookup_result(True, self._branch_utility.GetChannelInfo('stable')), | 226 lookup_result(True, self._branch_utility.GetChannelInfo('stable')), |
225 availability_graph.Lookup('tabs', 'types', 'InjectDetails', | 227 tabs_graph.Lookup('tabs', 'types', 'InjectDetails', |
226 'properties', 'file')) | 228 'properties', 'file')) |
227 self.assertEquals( | 229 self.assertEquals( |
228 lookup_result(True, self._branch_utility.GetStableChannelInfo(25)), | 230 lookup_result(True, self._branch_utility.GetStableChannelInfo(25)), |
229 availability_graph.Lookup('tabs', 'types', 'InjectDetails')) | 231 tabs_graph.Lookup('tabs', 'types', 'InjectDetails')) |
230 | 232 |
231 # Test inlined type. | 233 # Test inlined type. |
232 self.assertEquals( | 234 self.assertEquals( |
233 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), | 235 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), |
234 availability_graph.Lookup('tabs', 'types', 'InlinedType')) | 236 tabs_graph.Lookup('tabs', 'types', 'InlinedType')) |
| 237 |
| 238 # Test implicitly inlined type. |
| 239 self.assertEquals( |
| 240 lookup_result(True, self._branch_utility.GetStableChannelInfo(25)), |
| 241 fake_tabs_graph.Lookup('fakeTabs', 'types', |
| 242 'WasImplicitlyInlinedType')) |
235 | 243 |
236 # Nothing new in version 24 or 23. | 244 # Nothing new in version 24 or 23. |
237 | 245 |
238 self.assertEquals( | 246 self.assertEquals( |
239 lookup_result(True, self._branch_utility.GetStableChannelInfo(22)), | 247 lookup_result(True, self._branch_utility.GetStableChannelInfo(22)), |
240 availability_graph.Lookup('tabs', 'types', 'Tab', 'properties', | 248 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', |
241 'windowId')) | 249 'windowId')) |
242 self.assertEquals( | 250 self.assertEquals( |
243 lookup_result(True, self._branch_utility.GetStableChannelInfo(21)), | 251 lookup_result(True, self._branch_utility.GetStableChannelInfo(21)), |
244 availability_graph.Lookup('tabs', 'types', 'Tab', 'properties', | 252 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', |
245 'selected')) | 253 'selected')) |
246 | 254 |
247 # Nothing new in version 20. | 255 # Nothing new in version 20. |
248 | 256 |
249 self.assertEquals( | 257 self.assertEquals( |
250 lookup_result(True, self._branch_utility.GetStableChannelInfo(19)), | 258 lookup_result(True, self._branch_utility.GetStableChannelInfo(19)), |
251 availability_graph.Lookup('tabs', 'functions', 'getCurrent')) | 259 tabs_graph.Lookup('tabs', 'functions', 'getCurrent')) |
252 self.assertEquals( | 260 self.assertEquals( |
253 lookup_result(True, self._branch_utility.GetStableChannelInfo(18)), | 261 lookup_result(True, self._branch_utility.GetStableChannelInfo(18)), |
254 availability_graph.Lookup('tabs', 'types', 'Tab', 'properties', | 262 tabs_graph.Lookup('tabs', 'types', 'Tab', 'properties', |
255 'index')) | 263 'index')) |
256 self.assertEquals( | 264 self.assertEquals( |
257 lookup_result(True, self._branch_utility.GetStableChannelInfo(17)), | 265 lookup_result(True, self._branch_utility.GetStableChannelInfo(17)), |
258 availability_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', | 266 tabs_graph.Lookup('tabs', 'events', 'onUpdated', 'parameters', |
259 'changeInfo')) | 267 'changeInfo')) |
260 | 268 |
261 # Nothing new in version 16. | 269 # Nothing new in version 16. |
262 | 270 |
263 self.assertEquals( | 271 self.assertEquals( |
264 lookup_result(True, self._branch_utility.GetStableChannelInfo(15)), | 272 lookup_result(True, self._branch_utility.GetStableChannelInfo(15)), |
265 availability_graph.Lookup('tabs', 'properties', | 273 tabs_graph.Lookup('tabs', 'properties', |
266 'fakeTabsProperty2')) | 274 'fakeTabsProperty2')) |
267 | 275 |
268 # Everything else is available at the API's release, version 14 here. | 276 # Everything else is available at the API's release, version 14 here. |
269 self.assertEquals( | 277 self.assertEquals( |
270 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | 278 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), |
271 availability_graph.Lookup('tabs', 'types', 'Tab')) | 279 tabs_graph.Lookup('tabs', 'types', 'Tab')) |
272 self.assertEquals( | 280 self.assertEquals( |
273 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | 281 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), |
274 availability_graph.Lookup('tabs', 'types', 'Tab', | 282 tabs_graph.Lookup('tabs', 'types', 'Tab', |
275 'properties', 'url')) | 283 'properties', 'url')) |
276 self.assertEquals( | 284 self.assertEquals( |
277 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | 285 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), |
278 availability_graph.Lookup('tabs', 'properties', | 286 tabs_graph.Lookup('tabs', 'properties', |
279 'fakeTabsProperty1')) | 287 'fakeTabsProperty1')) |
280 self.assertEquals( | 288 self.assertEquals( |
281 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | 289 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), |
282 availability_graph.Lookup('tabs', 'functions', 'get', 'parameters', | 290 tabs_graph.Lookup('tabs', 'functions', 'get', 'parameters', |
283 'callback')) | 291 'callback')) |
284 self.assertEquals( | 292 self.assertEquals( |
285 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), | 293 lookup_result(True, self._branch_utility.GetStableChannelInfo(14)), |
286 availability_graph.Lookup('tabs', 'events', 'onUpdated')) | 294 tabs_graph.Lookup('tabs', 'events', 'onUpdated')) |
287 | 295 |
288 # Test things that aren't available. | 296 # Test things that aren't available. |
289 self.assertEqual(lookup_result(False, None), | 297 self.assertEqual(lookup_result(False, None), |
290 availability_graph.Lookup('tabs', 'types', | 298 tabs_graph.Lookup('tabs', 'types', |
291 'UpdateInfo')) | 299 'UpdateInfo')) |
292 self.assertEqual(lookup_result(False, None), | 300 self.assertEqual(lookup_result(False, None), |
293 availability_graph.Lookup('tabs', 'functions', 'get', | 301 tabs_graph.Lookup('tabs', 'functions', 'get', |
294 'parameters', 'callback', | 302 'parameters', 'callback', |
295 'parameters', 'tab', 'id')) | 303 'parameters', 'tab', 'id')) |
296 self.assertEqual(lookup_result(False, None), | 304 self.assertEqual(lookup_result(False, None), |
297 availability_graph.Lookup('functions')) | 305 tabs_graph.Lookup('functions')) |
298 self.assertEqual(lookup_result(False, None), | 306 self.assertEqual(lookup_result(False, None), |
299 availability_graph.Lookup('events', 'onActivated', | 307 tabs_graph.Lookup('events', 'onActivated', |
300 'parameters', 'activeInfo', | 308 'parameters', 'activeInfo', |
301 'tabId')) | 309 'tabId')) |
302 | 310 |
303 | 311 |
304 if __name__ == '__main__': | 312 if __name__ == '__main__': |
305 unittest.main() | 313 unittest.main() |
OLD | NEW |