Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Side by Side Diff: chrome/common/extensions/docs/server2/jsc_view_test.py

Issue 438963003: Docserver: Add annotation to intro_tables.json to restrict content by platform (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Final nit Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 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 5
6 import json 6 import json
7 import os 7 import os
8 import unittest 8 import unittest
9 9
10 from jsc_view import GetEventByNameFromEvents 10 from jsc_view import GetEventByNameFromEvents
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 self.assertRaises(AssertionError, GetEventByNameFromEvents, events) 116 self.assertRaises(AssertionError, GetEventByNameFromEvents, events)
117 117
118 def testCreateId(self): 118 def testCreateId(self):
119 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability) 119 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability)
120 dict_ = JSCView(self._api_models.GetContentScriptAPIs().Get(), 120 dict_ = JSCView(self._api_models.GetContentScriptAPIs().Get(),
121 self._api_models.GetModel('tester').Get(), 121 self._api_models.GetModel('tester').Get(),
122 fake_avail_finder, 122 fake_avail_finder,
123 self._json_cache, 123 self._json_cache,
124 _FakeTemplateCache(), 124 _FakeTemplateCache(),
125 self._features_bundle, 125 self._features_bundle,
126 None).ToDict() 126 None,
127 'extensions').ToDict()
127 self.assertEquals('type-TypeA', dict_['types'][0]['id']) 128 self.assertEquals('type-TypeA', dict_['types'][0]['id'])
128 self.assertEquals('property-TypeA-b', 129 self.assertEquals('property-TypeA-b',
129 dict_['types'][0]['properties'][0]['id']) 130 dict_['types'][0]['properties'][0]['id'])
130 self.assertEquals('method-get', dict_['functions'][0]['id']) 131 self.assertEquals('method-get', dict_['functions'][0]['id'])
131 self.assertEquals('event-EventA', dict_['events'][0]['id']) 132 self.assertEquals('event-EventA', dict_['events'][0]['id'])
132 133
133 # TODO(kalman): re-enable this when we have a rebase option. 134 # TODO(kalman): re-enable this when we have a rebase option.
134 def DISABLED_testToDict(self): 135 def DISABLED_testToDict(self):
135 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability) 136 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability)
136 expected_json = self._LoadJSON('expected_tester.json') 137 expected_json = self._LoadJSON('expected_tester.json')
137 dict_ = JSCView(self._api_models.GetContentScriptAPIs().Get(), 138 dict_ = JSCView(self._api_models.GetContentScriptAPIs().Get(),
138 self._api_models.GetModel('tester').Get(), 139 self._api_models.GetModel('tester').Get(),
139 fake_avail_finder, 140 fake_avail_finder,
140 self._json_cache, 141 self._json_cache,
141 _FakeTemplateCache(), 142 _FakeTemplateCache(),
142 self._features_bundle, 143 self._features_bundle,
143 None).ToDict() 144 None,
145 'extensions').ToDict()
144 self.assertEquals(expected_json, dict_) 146 self.assertEquals(expected_json, dict_)
145 147
146 def testAddRules(self): 148 def testAddRules(self):
147 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability) 149 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability)
148 dict_ = JSCView(self._api_models.GetContentScriptAPIs().Get(), 150 dict_ = JSCView(self._api_models.GetContentScriptAPIs().Get(),
149 self._api_models.GetModel('add_rules_tester').Get(), 151 self._api_models.GetModel('add_rules_tester').Get(),
150 fake_avail_finder, 152 fake_avail_finder,
151 self._json_cache, 153 self._json_cache,
152 _FakeTemplateCache(), 154 _FakeTemplateCache(),
153 self._features_bundle, 155 self._features_bundle,
154 self._FakeLoadAddRulesSchema()).ToDict() 156 self._FakeLoadAddRulesSchema(),
157 'extensions').ToDict()
155 158
156 # Check that the first event has the addRulesFunction defined. 159 # Check that the first event has the addRulesFunction defined.
157 self.assertEquals('add_rules_tester', dict_['name']) 160 self.assertEquals('add_rules_tester', dict_['name'])
158 self.assertEquals('rules', dict_['events'][0]['name']) 161 self.assertEquals('rules', dict_['events'][0]['name'])
159 self.assertEquals('notable_name_to_check_for', 162 self.assertEquals('notable_name_to_check_for',
160 dict_['events'][0]['byName']['addRules'][ 163 dict_['events'][0]['byName']['addRules'][
161 'parameters'][0]['name']) 164 'parameters'][0]['name'])
162 165
163 # Check that the second event has addListener defined. 166 # Check that the second event has addListener defined.
164 self.assertEquals('noRules', dict_['events'][1]['name']) 167 self.assertEquals('noRules', dict_['events'][1]['name'])
165 self.assertEquals('add_rules_tester', dict_['name']) 168 self.assertEquals('add_rules_tester', dict_['name'])
166 self.assertEquals('noRules', dict_['events'][1]['name']) 169 self.assertEquals('noRules', dict_['events'][1]['name'])
167 self.assertEquals('callback', 170 self.assertEquals('callback',
168 dict_['events'][0]['byName']['addListener'][ 171 dict_['events'][0]['byName']['addListener'][
169 'parameters'][0]['name']) 172 'parameters'][0]['name'])
170 173
171 def testGetIntroList(self): 174 def testGetIntroList(self):
172 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability) 175 fake_avail_finder = _FakeAvailabilityFinder(self._fake_availability)
173 model = JSCView(self._api_models.GetContentScriptAPIs().Get(), 176 model = JSCView(self._api_models.GetContentScriptAPIs().Get(),
174 self._api_models.GetModel('tester').Get(), 177 self._api_models.GetModel('tester').Get(),
175 fake_avail_finder, 178 fake_avail_finder,
176 self._json_cache, 179 self._json_cache,
177 _FakeTemplateCache(), 180 _FakeTemplateCache(),
178 self._features_bundle, 181 self._features_bundle,
179 None) 182 None,
183 'extensions')
180 expected_list = [ 184 expected_list = [
181 { 'title': 'Description', 185 { 'title': 'Description',
182 'content': [ 186 'content': [
183 { 'text': 'a test api' } 187 { 'text': 'a test api' }
184 ] 188 ]
185 }, 189 },
186 { 'title': 'Availability', 190 { 'title': 'Availability',
187 'content': [ 191 'content': [
188 { 'partial': 'handlebar chrome/common/extensions/docs/' + 192 { 'partial': 'handlebar chrome/common/extensions/docs/' +
189 'templates/private/intro_tables/stable_message.html', 193 'templates/private/intro_tables/stable_message.html',
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 235
232 # Tests the same data with a scheduled availability. 236 # Tests the same data with a scheduled availability.
233 fake_avail_finder = _FakeAvailabilityFinder( 237 fake_avail_finder = _FakeAvailabilityFinder(
234 AvailabilityInfo(ChannelInfo('beta', '1453', 27), scheduled=28)) 238 AvailabilityInfo(ChannelInfo('beta', '1453', 27), scheduled=28))
235 model = JSCView(self._api_models.GetContentScriptAPIs().Get(), 239 model = JSCView(self._api_models.GetContentScriptAPIs().Get(),
236 self._api_models.GetModel('tester').Get(), 240 self._api_models.GetModel('tester').Get(),
237 fake_avail_finder, 241 fake_avail_finder,
238 self._json_cache, 242 self._json_cache,
239 _FakeTemplateCache(), 243 _FakeTemplateCache(),
240 self._features_bundle, 244 self._features_bundle,
241 None) 245 None,
246 'extensions')
242 expected_list[1] = { 247 expected_list[1] = {
243 'title': 'Availability', 248 'title': 'Availability',
244 'content': [ 249 'content': [
245 { 'partial': 'handlebar chrome/common/extensions/docs/' + 250 { 'partial': 'handlebar chrome/common/extensions/docs/' +
246 'templates/private/intro_tables/beta_message.html', 251 'templates/private/intro_tables/beta_message.html',
247 'version': 27, 252 'version': 27,
248 'scheduled': 28 253 'scheduled': 28
249 } 254 }
250 ] 255 ]
251 } 256 }
(...skipping 23 matching lines...) Expand all
275 'tabs': 18 280 'tabs': 18
276 } 281 }
277 for api_name, availability in api_availabilities.iteritems(): 282 for api_name, availability in api_availabilities.iteritems():
278 model_dict = JSCView( 283 model_dict = JSCView(
279 self._api_models.GetContentScriptAPIs().Get(), 284 self._api_models.GetContentScriptAPIs().Get(),
280 self._api_models.GetModel(api_name).Get(), 285 self._api_models.GetModel(api_name).Get(),
281 self._avail_finder, 286 self._avail_finder,
282 self._json_cache, 287 self._json_cache,
283 _FakeTemplateCache(), 288 _FakeTemplateCache(),
284 _FakeFeaturesBundle(), 289 _FakeFeaturesBundle(),
285 None).ToDict() 290 None,
291 'extensions').ToDict()
286 self.assertEquals(availability, 292 self.assertEquals(availability,
287 model_dict['introList'][1]['content'][0]['version']) 293 model_dict['introList'][1]['content'][0]['version'])
288 294
289 295
290 class JSCViewWithNodeAvailabilityTest(unittest.TestCase): 296 class JSCViewWithNodeAvailabilityTest(unittest.TestCase):
291 def setUp(self): 297 def setUp(self):
292 tabs_unmodified_versions = (16, 20, 23, 24) 298 tabs_unmodified_versions = (16, 20, 23, 24)
293 self._branch_utility = BranchUtility( 299 self._branch_utility = BranchUtility(
294 os.path.join('branch_utility', 'first.json'), 300 os.path.join('branch_utility', 'first.json'),
295 os.path.join('branch_utility', 'second.json'), 301 os.path.join('branch_utility', 'second.json'),
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 } 355 }
350 self.assertEquals(node_availabilities[node], actual) 356 self.assertEquals(node_availabilities[node], actual)
351 357
352 model_dict = JSCView( 358 model_dict = JSCView(
353 self._api_models.GetContentScriptAPIs().Get(), 359 self._api_models.GetContentScriptAPIs().Get(),
354 self._api_models.GetModel('tabs').Get(), 360 self._api_models.GetModel('tabs').Get(),
355 self._avail_finder, 361 self._avail_finder,
356 self._json_cache, 362 self._json_cache,
357 _FakeTemplateCache(), 363 _FakeTemplateCache(),
358 _FakeFeaturesBundle(), 364 _FakeFeaturesBundle(),
359 None).ToDict() 365 None,
366 'extensions').ToDict()
360 367
361 # Test nodes that have the same availability as their parent. 368 # Test nodes that have the same availability as their parent.
362 369
363 # Test type. 370 # Test type.
364 assertEquals('tabs.Tab', model_dict['types'][0]['availability']) 371 assertEquals('tabs.Tab', model_dict['types'][0]['availability'])
365 # Test property. 372 # Test property.
366 assertEquals('tabs.fakeTabsProperty1', 373 assertEquals('tabs.fakeTabsProperty1',
367 model_dict['properties'][0]['availability']) 374 model_dict['properties'][0]['availability'])
368 # Test function. 375 # Test function.
369 assertEquals('tabs.get', model_dict['functions'][1]['availability']) 376 assertEquals('tabs.get', model_dict['functions'][1]['availability'])
(...skipping 18 matching lines...) Expand all
388 # Test a node that became deprecated. 395 # Test a node that became deprecated.
389 self.assertEquals({ 396 self.assertEquals({
390 'scheduled': None, 397 'scheduled': None,
391 'version': 26, 398 'version': 26,
392 'partial': 'handlebar chrome/common/extensions/docs/templates/' + 399 'partial': 'handlebar chrome/common/extensions/docs/templates/' +
393 'private/intro_tables/deprecated_message.html' 400 'private/intro_tables/deprecated_message.html'
394 }, model_dict['types'][2]['availability']) 401 }, model_dict['types'][2]['availability'])
395 402
396 if __name__ == '__main__': 403 if __name__ == '__main__':
397 unittest.main() 404 unittest.main()
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/jsc_view.py ('k') | chrome/common/extensions/docs/templates/json/intro_tables.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698