702f3d4715122654bd48be2264d9e5201833e7e8
1 // Copyright (c) 2011 Google, Inc.
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and associated documentation files (the "Software"), to deal
5 // in the Software without restriction, including without limitation the rights
6 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 // copies of the Software, and to permit persons to whom the Software is
8 // furnished to do so, subject to the following conditions:
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Software.
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 * @fileoverview Mocked-out jstestdriver api that lets me test locally.
24 * @author konigsberg@google.com (Robert Konigsberg)
31 include
: function(name
) {
32 this.sucker("Not including " + name
);
34 sucker
: function(text
) {
35 console
.log(text
+ ", sucker!");
39 function TestCase(name
) {
40 jstd
.sucker("Not really creating TestCase(" + name
+ ")");
42 this.toString
= function() {
43 return "Fake test case " + name
;
46 var testCase
= function() { return this; };
47 testCase
.prototype.setUp
= function() { };
48 testCase
.prototype.tearDown
= function() { };
50 * name can be a string, which is looked up in this object, or it can be a
51 * function, in which case it's run.
54 * var tc = new MyTestCase();
55 * tc.runTest("testThis");
56 * tc.runTest(tc.testThis);
58 * The duplication tc in runTest is irritating, but it plays well with
59 * Chrome's console completion.
61 testCase
.prototype.runTest
= function(func
) {
66 var parameterType
= typeof(func
);
67 if (typeof(func
) == "function") {
69 } else if (typeof(func
) == "string") {
72 fail("can't supply " + typeof(func
) + " to runTest");
86 testCase
.prototype.runAllTests
= function() {
87 // what's better than for ... in for non-array objects?
89 for (var name
in this) {
90 if (name
.indexOf('test') == 0 && typeof(this[name
]) == 'function') {
91 console
.log("Running " + name
);
92 var result
= this.runTest(name
);
96 console
.log(prettyPrintEntity_(tests
));