1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved. 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)# found in the LICENSE file. 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import json 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)CANNED_TRUNK_FS_DATA = { 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'api': { 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) '_api_features.json': json.dumps({ 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'add_rules_tester': { 'dependencies': ['permission:add_rules_tester'] }, 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'ref_test': { 'dependencies': ['permission:ref_test'] }, 13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'tester': { 'dependencies': ['permission:tester', 'manifest:tester'] } 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }), 15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) '_manifest_features.json': '{}', 16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) '_permission_features.json': '{}', 17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'add_rules_tester.json': json.dumps([{ 18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'namespace': 'add_rules_tester', 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': ('A test api with a couple of events which support or ' 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'do not support rules.'), 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'types': [], 22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'functions': [], 23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'events': [ 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'rules', 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'options': { 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'supportsRules': True, 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'conditions': [], 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'actions': [] 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'noRules', 34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'function', 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'Listeners can be registered with this event.', 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'parameters': [] 37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 38f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 39f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }]), 40f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'tester.json': json.dumps([{ 41f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'namespace': 'tester', 42f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'a test api', 43f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'types': [ 44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 45f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'id': 'TypeA', 46f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'object', 47f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'A cool thing.', 48f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'properties': { 49f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'a': {'nodoc': True, 'type': 'string', 'minimum': 0}, 50f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'b': {'type': 'array', 'optional': True, 'items': {'$ref': 'TypeA'}, 51f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'List of TypeA.'} 52f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 53f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 54f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ], 55f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'functions': [ 56f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 57f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'get', 58f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'function', 59f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'Gets stuff.', 60f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'parameters': [ 61f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 62f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'a', 63f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'a param', 64f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'choices': [ 65f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) {'type': 'string'}, 66f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1} 67f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 68f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 69f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 70f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'function', 71f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'callback', 72f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'parameters': [ 73f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) {'name': 'results', 'type': 'array', 'items': {'$ref': 'TypeA'}} 74f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 75f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 76f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 77f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 78f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ], 79f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'events': [ 80f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 81f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'EventA', 82f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'function', 83f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'A cool event.', 84f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'parameters': [ 85f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) {'type': 'string', 'name': 'id'}, 86f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 87f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) '$ref': 'TypeA', 88f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'bookmark' 89f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 90f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 91f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 92f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 93f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }]), 94f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'ref_test.json': json.dumps([{ 95f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'namespace': 'ref_test', 96f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'An API for testing ref\'s', 97f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'types': [ 98f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 99f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'id': 'type1', 100f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'string', 101f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': '$ref:type2' 102f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 103f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 104f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'id': 'type2', 105f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'string', 106f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'A $ref:type3, or $ref:type2' 107f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 108f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 109f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'id': 'type3', 110f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'string', 111f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': '$ref:other.type2 != $ref:ref_test.type2' 112f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 113f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ], 114f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'events': [ 115f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 116f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'event1', 117f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'function', 118f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'description': 'We like $ref:type1', 119f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'parameters': [ 120f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 121f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'param1', 122f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'string' 123f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 124f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 125f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 126f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ], 127f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'properties': { 128f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'prop1': { 129f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) '$ref': 'type3' 130f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 131f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 132f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'functions': [ 133f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 134f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'func1', 135f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'function', 136f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'parameters': [ 137f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 138f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'name': 'param1', 139f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'type': 'string' 140f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 141f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 142f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 143f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 144f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }]) 145f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 146f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'docs': { 147f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'templates': { 148f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'intros': { 149f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'test.html': '<h1>hi</h1>you<h2>first</h2><h3>inner</h3><h2>second</h2>' 150f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 151f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'json': { 152f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'api_availabilities.json': json.dumps({ 153f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'trunk_api': { 154f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'channel': 'trunk' 155f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 156f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'dev_api': { 157f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'channel': 'dev' 158f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 159f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'beta_api': { 160f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'channel': 'beta' 161f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 162f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'stable_api': { 163f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'channel': 'stable', 164f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'version': 20 165f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 166f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }), 167f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'intro_tables.json': json.dumps({ 168f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'tester': { 169f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'Permissions': [ 170f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 171f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'class': 'override', 172f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'text': '"tester"' 173f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 174f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 175f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'text': 'is an API for testing things.' 176f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 177f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ], 178f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'Learn More': [ 179f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) { 180f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'link': 'https://tester.test.com/welcome.html', 181f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'text': 'Welcome!' 182f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 183f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ] 184f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 185effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch }), 186effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 'manifest.json': '{}', 187effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 'permissions.json': '{}' 188f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) }, 189f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'private': { 190f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'intro_tables': { 191f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 'trunk_message.html': 'available on trunk' 192f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 193f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 194f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 195f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) } 196f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} 197