cygprofile: increase timeouts to allow showing web contents
[chromium-blink-merge.git] / chrome / common / extensions / docs / server2 / api_data_source_test.py
blob43dda5adac27087dfaefe64fd37265e2ba29972f
1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
6 import unittest
8 from api_data_source import APIDataSource
9 from extensions_paths import CHROME_EXTENSIONS
10 from servlet import Request
11 from server_instance import ServerInstance
12 from test_data.api_data_source.canned_master_fs import CANNED_MASTER_FS_DATA
13 from test_file_system import TestFileSystem
16 class APIDataSourceTest(unittest.TestCase):
17 def setUp(self):
18 self.server_instance = ServerInstance.ForTest(
19 TestFileSystem(CANNED_MASTER_FS_DATA, relative_to=CHROME_EXTENSIONS))
21 def testGet(self):
22 api_ds = APIDataSource(self.server_instance, Request.ForTest('/'))
23 jsc_view = api_ds.get('extensions').get('tester')
24 funcs_arr = [{
25 'availability': None,
26 'callback': {
27 'name': 'callback',
28 'optional': False,
29 'parameters': [{
30 'array': {
31 'availability': None,
32 'description': None,
33 'events': [],
34 'functions': [],
35 'id': 'type-results-resultsType',
36 'is_object': False,
37 'link': {
38 'name': 'TypeA',
39 'ref': 'tester.TypeA',
40 'text': 'TypeA'
42 'name': 'resultsType',
43 'properties': []
45 'availability': None,
46 'description': None,
47 'functions': [],
48 'id': 'property-callback-results',
49 'is_object': False,
50 'last': True,
51 'name': 'results',
52 'optional': None,
53 'parameters': [],
54 'parentName': 'callback',
55 'properties': [],
56 'returns': None
57 }],
58 'simple_type': {
59 'simple_type': 'function'
62 'description': 'Gets stuff.',
63 'id': 'method-get',
64 'name': 'get',
65 'parameters': [{
66 'availability': None,
67 'choices': [{
68 'availability': None,
69 'description': None,
70 'events': [],
71 'functions': [],
72 'id': 'type-a-string',
73 'is_object': False,
74 'name': 'string',
75 'properties': [],
76 'simple_type': 'string'
79 'array': {
80 'availability': None,
81 'description': None,
82 'events': [],
83 'functions': [],
84 'id': 'type-strings-stringsType',
85 'is_object': False,
86 'name': 'stringsType',
87 'properties': [],
88 'simple_type': 'string'
90 'availability': None,
91 'description': None,
92 'events': [],
93 'functions': [],
94 'id': 'type-a-strings',
95 'is_object': False,
96 'last': True,
97 'name': 'strings',
98 'properties': []
99 }],
100 'description': 'a param',
101 'functions': [],
102 'id': 'property-get-a',
103 'is_object': False,
104 'name': 'a',
105 'optional': None,
106 'parameters': [],
107 'parentName': 'get',
108 'properties': [],
109 'returns': None
112 'asFunction': {
113 'name': 'callback',
114 'optional': False,
115 'parameters': [{
116 'array': {
117 'availability': None,
118 'description': None,
119 'events': [],
120 'functions': [],
121 'id': 'type-results-resultsType',
122 'is_object': False,
123 'link': {
124 'name': 'TypeA',
125 'ref': 'tester.TypeA',
126 'text': 'TypeA'
128 'name': 'resultsType',
129 'properties': []
131 'availability': None,
132 'description': None,
133 'functions': [],
134 'id': 'property-callback-results',
135 'is_object': False,
136 'last': True,
137 'name': 'results',
138 'optional': None,
139 'parameters': [],
140 'parentName': 'callback',
141 'properties': [],
142 'returns': None
144 'simple_type': {
145 'simple_type': 'function'
148 'description': None,
149 'id': 'property-get-callback',
150 'isCallback': True,
151 'last': True,
152 'name': 'callback',
153 'optional': False,
154 'parentName': 'get',
155 'simple_type': 'function'
157 'returns': None
159 self.assertEquals(funcs_arr, jsc_view['functions'])
160 types_arr = [{
161 'availability': None,
162 'description': 'A cool thing.',
163 'events': [],
164 'functions': [],
165 'id': 'type-TypeA',
166 'is_object': True,
167 'name': 'TypeA',
168 'properties': [{
169 'array': {
170 'availability': None,
171 'description': None,
172 'events': [],
173 'functions': [],
174 'id': 'type-b-bType',
175 'is_object': False,
176 'link': {
177 'name': 'TypeA',
178 'ref': 'tester.TypeA',
179 'text': 'TypeA'
181 'name': 'bType',
182 'properties': []
184 'availability': None,
185 'description': 'List of TypeA.',
186 'functions': [],
187 'id': 'property-TypeA-b',
188 'is_object': False,
189 'name': 'b',
190 'optional': True,
191 'parameters': [],
192 'parentName': 'TypeA',
193 'properties': [],
194 'returns': None
196 'simple_type': 'object'
198 self.assertEquals(types_arr, jsc_view['types'])
200 if __name__ == '__main__':
201 unittest.main()