| 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 Falselookup_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 |