Add new certificateProvider extension API.
[chromium-blink-merge.git] / chrome / browser / resources / chromeos / chromevox / testing / common.js
blobb6e6d33d49279bee457170ccba8a63fa75b9e705
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Common testing utilities.
7 /**
8  * Shortcut for document.getElementById.
9  * @param {string} id of the element.
10  * @return {HTMLElement} with the id.
11  */
12 function $(id) {
13   return document.getElementById(id);
16 /**
17  * @constructor
18  */
19 var TestUtils = function() {};
21 /**
22  * Extracts some inlined html encoded as a comment inside a function,
23  * so you can use it like this:
24  *
25  * this.appendDoc(function() {/*!
26  *     <p>Html goes here</p>
27  * * /});
28  *
29  * @param {Function} commentEncodedHtml The html , embedded as a
30  *     comment inside an anonymous function - see example, above.
31  * @param {!Array=} opt_args Optional arguments to be substituted in the form
32  *     $0, ... within the code block.
33  * @return {string} The html text.
34  */
35 TestUtils.extractHtmlFromCommentEncodedString =
36     function(commentEncodedHtml, opt_args) {
37   var stringified = commentEncodedHtml.toString();
38   if (opt_args) {
39     for (var i = 0; i < opt_args.length; i++)
40       stringified = stringified.replace('$' + i, opt_args[i]);
41   }
42   return stringified.replace(/^[^\/]+\/\*!?/, '').replace(/\*\/[^\/]+$/, '');
45 /**
46  * Similar to |TEST_F|. Generates a test for the given |testFixture|,
47  * |testName|, and |testFunction|.
48  * Used this variant when an |isAsync| fixture wants to temporarily mix in an
49  * sync test.
50  * @param {string} testFixture Fixture name.
51  * @param {string} testName Test name.
52  * @param {function} testFunction The test impl.
53  */
54 function SYNC_TEST_F(testFixture, testName, testFunction) {
55   TEST_F(testFixture, testName, function() {
56     this.newCallback(testFunction)();
57   });