blob: 440ba26f0608ff4954a64ccc6a61db34817abbe1 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[
{
"namespace": "test",
"description": "none",
"functions": [
{
"name": "getConfig",
"type": "function",
"description": "Gives configuration options set by the test.",
"parameters": [
{
"type": "function", "name": "callback", "parameters": [
{
"type": "object",
"name": "testConfig",
"properties": {
"customArg": {
"type": "string",
"optional": true,
"description": "Additional string argument to pass to test."
},
"ftpServer": {
"type": "object",
"optional": true,
"description": "Details on the FTP server used to mock network responses. Will be set only if test calls ExtensionApiTest::StartFTPServer().",
"properties": {
"port": {
"type": "integer",
"description": "The port on which the FTP server is listening.",
"minimum": 1024,
"maximum": 65535
}
}
},
"testServer": {
"type": "object",
"optional": true,
"description": "Details on the test server used to mock network responses. Will be set only if test calls ExtensionApiTest::StartTestServer().",
"properties": {
"port": {
"type": "integer",
"description": "The port on which the test server is listening.",
"minimum": 1024,
"maximum": 65535
}
}
},
"spawnedTestServer": {
"type": "object",
"optional": true,
"description": "Details on the spawned test server used to mock network responses. Will be set only if test calls ExtensionApiTest::StartSpawnedTestServer().",
"properties": {
"port": {
"type": "integer",
"description": "The port on which the test server is listening.",
"minimum": 1024,
"maximum": 65535
}
}
},
"testDataDirectory": {
"type": "string",
"description": "file:/// URL for the API test data directory."
},
"testWebSocketPort": {
"type": "integer",
"description": "The port on which the test WebSocket server is listening.",
"minimum": 0,
"maximum": 65535
}
}
}
]
}
]
},
{
"name": "notifyFail",
"type": "function",
"description": "Notifies the browser process that test code running in the extension failed. This is only used for internal unit testing.",
"parameters": [
{"type": "string", "name": "message"}
]
},
{
"name": "notifyPass",
"type": "function",
"description": "Notifies the browser process that test code running in the extension passed. This is only used for internal unit testing.",
"parameters": [
{"type": "string", "name": "message", "optional": true}
]
},
{
"name": "log",
"type": "function",
"description": "Logs a message during internal unit testing.",
"parameters": [
{"type": "string", "name": "message"}
]
},
{
"name": "sendMessage",
"type": "function",
"description": "Sends a string message to the browser process, generating a Notification that C++ test code can wait for.",
"parameters": [
{"type": "string", "name": "message"},
{
"type": "function",
"name": "callback",
"optional": true,
"parameters": [
{"type": "string", "name": "response"}
]
}
]
},
{
"name": "callbackAdded",
"type": "function",
"nocompile": true,
"parameters": []
},
{
"name": "runNextTest",
"type": "function",
"nocompile": true,
"parameters": []
},
{
"name": "fail",
"type": "function",
"nocompile": true,
"parameters": [
{"type": "any", "name": "message", "optional": true}
]
},
{
"name": "succeed",
"type": "function",
"nocompile": true,
"parameters": [
{"type": "any", "name": "message", "optional": true}
]
},
{
"name": "runWithModuleSystem",
"type": "function",
"nocompile": true,
"description": "Gets a module system suitable for use in the context of a test.",
"parameters": [
{
"type": "function",
"name": "callback"
}
]
},
{
"name": "assertTrue",
"type": "function",
"nocompile": true,
"parameters": [
{
"name": "test",
"choices": [
{"type": "string"},
{"type": "boolean"}
]
},
{"type": "string", "name": "message", "optional": true}
]
},
{
"name": "assertFalse",
"type": "function",
"nocompile": true,
"parameters": [
{
"name": "test",
"choices": [
{"type": "string"},
{"type": "boolean"}
]
},
{"type": "string", "name": "message", "optional": true}
]
},
{
"name": "assertBool",
"type": "function",
"nocompile": true,
"parameters": [
{
"name": "test",
"choices": [
{"type": "string"},
{"type": "boolean"}
]
},
{"type": "boolean", "name": "expected"},
{"type": "string", "name": "message", "optional": true}
]
},
{
"name": "checkDeepEq",
"type": "function",
"nocompile": true,
"allowAmbiguousOptionalArguments": true,
"parameters": [
// These need to be optional because they can be null.
{"type": "any", "name": "expected", "optional": true},
{"type": "any", "name": "actual", "optional": true}
]
},
{
"name": "assertEq",
"type": "function",
"nocompile": true,
"allowAmbiguousOptionalArguments": true,
"parameters": [
// These need to be optional because they can be null.
{"type": "any", "name": "expected", "optional": true},
{"type": "any", "name": "actual", "optional": true},
{"type": "string", "name": "message", "optional": true}
]
},
{
"name": "assertNoLastError",
"type": "function",
"nocompile": true,
"parameters": []
},
{
"name": "assertLastError",
"type": "function",
"nocompile": true,
"parameters": [
{"type": "string", "name": "expectedError"}
]
},
{
"name": "assertThrows",
"type": "function",
"nocompile": true,
"parameters": [
{"type": "function", "name": "fn"},
{
"type": "object",
"name": "self",
"additionalProperties": {"type": "any"},
"optional": true
},
{"type": "array", "items": {"type": "any"}, "name": "args"},
{"choices": [ {"type": "string"}, {"type": "object", "isInstanceOf": "RegExp"} ], "name": "message", "optional": true}
]
},
{
"name": "callback",
"type": "function",
"nocompile": true,
"parameters": [
{"type": "function", "name": "func", "optional": true},
{"type": "string", "name": "expectedError", "optional": true}
]
},
{
"name": "listenOnce",
"type": "function",
"nocompile": true,
"parameters": [
// TODO(cduvall): Make this a $ref to events.Event.
{"type": "any", "name": "event"},
{"type": "function", "name": "func"}
]
},
{
"name": "listenForever",
"type": "function",
"nocompile": true,
"parameters": [
// TODO(cduvall): Make this a $ref to events.Event.
{"type": "any", "name": "event"},
{"type": "function", "name": "func"}
]
},
{
"name": "callbackPass",
"type": "function",
"nocompile": true,
"parameters": [
{"type": "function", "name": "func", "optional": true}
]
},
{
"name": "callbackFail",
"type": "function",
"nocompile": true,
"parameters": [
{"type": "string", "name": "expectedError"},
{"type": "function", "name": "func", "optional": true}
]
},
{
"name": "runTests",
"type": "function",
"nocompile": true,
"parameters": [
{
"type": "array",
"name": "tests",
"items": {"type": "function"}
}
]
},
{
"name": "getApiFeatures",
"type": "function",
"nocompile": true,
"parameters": []
},
{
"name": "getApiDefinitions",
"type": "function",
"nocompile": true,
"parameters": [
{
"type": "array",
"name": "apiNames",
"optional": true,
"items": {"type": "string"}
}
]
},
{
"name": "isProcessingUserGesture",
"type": "function",
"nocompile": true,
"parameters": []
},
{
"name": "runWithUserGesture",
"type": "function",
"description": "Runs the callback in the context of a user gesture.",
"nocompile": true,
"parameters": [
{
"type": "function",
"name": "callback",
"parameters": []
}
]
},
{
"name": "runWithoutUserGesture",
"type": "function",
"nocompile": true,
"parameters": [
{
"type": "function",
"name": "callback",
"parameters": []
}
]
},
{
"name": "waitForRoundTrip",
"type": "function",
"description": "Sends a string message one round trip from the renderer to the browser process and back.",
"parameters": [
{"type": "string", "name": "message"},
{
"type": "function",
"name": "callback",
"parameters": [
{"type": "string", "name": "message"}
]
}
]
},
{
"name": "setExceptionHandler",
"type": "function",
"description": "Sets the function to be called when an exception occurs. By default this is a function which fails the test. This is reset for every test run through $ref:test.runTests.",
"nocompile": true,
"parameters": [
{
"type": "function",
"name": "callback",
"parameters": [
{"type": "string", "name": "message"},
{"type": "any", "name": "exception"}
]
}
]
}
],
"events": [
{
"name": "onMessage",
"type": "function",
"description": "Used to test sending messages to extensions.",
"parameters": [
{
"type": "object",
"name": "info",
"properties": {
"data": { "type": "string", "description": "Additional information." },
"lastMessage": { "type": "boolean", "description": "True if this was the last message for this test" }
}
}
]
}
]
}
]