forked from atduskgreg/couchdb
-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Setup JavaScript command line runner.
All JS tests can now be run from the command line using the cURL adapter. In the future I would like to rework this and provide better TAP output. For now, each test is a single TAP assert. git-svn-id: http://svn.apache.org/repos/asf/couchdb/trunk@884675 13f79535-47bb-0310-9956-ffa450edef68
- Loading branch information
davisp
committed
Nov 26, 2009
1 parent
448b387
commit 416c07c
Showing
13 changed files
with
203 additions
and
282 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not | ||
// use this file except in compliance with the License. You may obtain a copy of | ||
// the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
// License for the specific language governing permissions and limitations under | ||
// the License. | ||
|
||
var console = { | ||
log: function(arg) { | ||
var msg = (arg.toString()).replace(/\n/g, "\n "); | ||
print("# " + msg); | ||
} | ||
}; | ||
|
||
function T(arg1, arg2) { | ||
if(!arg1) { | ||
throw((arg2 ? arg2 : arg1).toString()); | ||
} | ||
} | ||
|
||
function runTestConsole(num, name, func) { | ||
try { | ||
func(); | ||
print("ok " + num + " " + name); | ||
} catch(e) { | ||
msg = e.toString(); | ||
msg = msg.replace(/\n/g, "\n "); | ||
print("not ok " + num + " " + name + " " + msg); | ||
} | ||
} | ||
|
||
function runAllTestsConsole() { | ||
var numTests = 0; | ||
for(var t in couchTests) { numTests += 1; } | ||
print("1.." + numTests); | ||
var testId = 0; | ||
for(var t in couchTests) { | ||
testId += 1; | ||
runTestConsole(testId, t, couchTests[t]); | ||
} | ||
}; | ||
|
||
try { | ||
runAllTestsConsole(); | ||
} catch (e) { | ||
p("# " + e.toString()); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
// Licensed under the Apache License, Version 2.0 (the "License"); you may not | ||
// use this file except in compliance with the License. You may obtain a copy of | ||
// the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
// License for the specific language governing permissions and limitations under | ||
// the License. | ||
|
||
(function() { | ||
CouchHTTP.prototype.base_url = "http://127.0.0.1:5984" | ||
|
||
if(typeof(CouchHTTP) != "undefined") { | ||
CouchHTTP.prototype.open = function(method, url, async) { | ||
if(/^\s*http:\/\//.test(url)) { | ||
return this._open(method, url, async); | ||
} else { | ||
return this._open(method, this.base_url + url, async); | ||
} | ||
}; | ||
|
||
CouchHTTP.prototype.setRequestHeader = function(name, value) { | ||
// Drop content-length headers because cURL will set it for us | ||
// based on body length | ||
if(name.toLowerCase().replace(/^\s+|\s+$/g, '') != "content-length") { | ||
this._setRequestHeader(name, value); | ||
} | ||
} | ||
|
||
CouchHTTP.prototype.send = function(body) { | ||
this._send(body || ""); | ||
var headers = {}; | ||
this._headers.forEach(function(hdr) { | ||
var pair = hdr.split(":"); | ||
var name = pair.shift(); | ||
headers[name] = pair.join(":").replace(/^\s+|\s+$/g, ""); | ||
}); | ||
this.headers = headers; | ||
}; | ||
|
||
CouchHTTP.prototype.getResponseHeader = function(name) { | ||
for(var hdr in this.headers) { | ||
if(hdr.toLowerCase() == name.toLowerCase()) { | ||
return this.headers[hdr]; | ||
} | ||
} | ||
return null; | ||
}; | ||
} | ||
})(); | ||
|
||
CouchDB.newXhr = function() { | ||
return new CouchHTTP(); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.