diff options
Diffstat (limited to 'share/www')
-rw-r--r-- | share/www/script/couch.js | 13 | ||||
-rw-r--r-- | share/www/script/couch_tests.js | 1 | ||||
-rw-r--r-- | share/www/script/test/changes.js | 38 | ||||
-rw-r--r-- | share/www/script/test/replication.js | 2 |
4 files changed, 48 insertions, 6 deletions
diff --git a/share/www/script/couch.js b/share/www/script/couch.js index 4586cca8..8f3d96ad 100644 --- a/share/www/script/couch.js +++ b/share/www/script/couch.js @@ -319,16 +319,19 @@ CouchDB.replicate = function(source, target, rep_options) { return JSON.parse(CouchDB.last_req.responseText); } -CouchDB.request = function(method, uri, options) { - options = options || {}; - var req = null; +CouchDB.newXhr = function() { if (typeof(XMLHttpRequest) != "undefined") { - req = new XMLHttpRequest(); + return new XMLHttpRequest(); } else if (typeof(ActiveXObject) != "undefined") { - req = new ActiveXObject("Microsoft.XMLHTTP"); + return new ActiveXObject("Microsoft.XMLHTTP"); } else { throw new Error("No XMLHTTPRequest support detected"); } +} + +CouchDB.request = function(method, uri, options) { + options = options || {}; + var req = CouchDB.newXhr(); req.open(method, uri, false); if (options.headers) { var headers = options.headers; diff --git a/share/www/script/couch_tests.js b/share/www/script/couch_tests.js index 6e4699e4..62e877d8 100644 --- a/share/www/script/couch_tests.js +++ b/share/www/script/couch_tests.js @@ -60,6 +60,7 @@ loadTest("view_offsets.js"); loadTest("view_pagination.js"); loadTest("view_sandboxing.js"); loadTest("view_xml.js"); +loadTest("changes.js"); loadTest("replication.js"); loadTest("etags_head.js"); loadTest("etags_views.js"); diff --git a/share/www/script/test/changes.js b/share/www/script/test/changes.js new file mode 100644 index 00000000..fef2bcca --- /dev/null +++ b/share/www/script/test/changes.js @@ -0,0 +1,38 @@ +// 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. + +couchTests.changes = function(debug) { + var db = new CouchDB("test_suite_db"); + db.deleteDb(); + db.createDb(); + if (debug) debugger; + + + var req = CouchDB.newXhr(); + + req.open("GET", "/test_suite_db/_changes", false); + req.send(""); + var resp = JSON.parse(req.responseText); + + T(resp.results.length == 0 && resp.last_seq==0) + + var doc = {_id:"foo", bar:1}; + db.save(doc); + + req.open("GET", "/test_suite_db/_changes", false); + req.send(""); + var resp = JSON.parse(req.responseText); + + T(resp.results.length == 1 && resp.last_seq==1) + T(resp.results[0].changes[0].rev == doc._rev) + +}; diff --git a/share/www/script/test/replication.js b/share/www/script/test/replication.js index d76d2fd8..405b0b1d 100644 --- a/share/www/script/test/replication.js +++ b/share/www/script/test/replication.js @@ -189,7 +189,7 @@ couchTests.replication = function(debug) { dbB.save({_id:"foo",value:"b"}); }; - this.afterBA1 = function(dbA, dbB) { + this.afterBA1 = function(dbA, dbB) { var docA = dbA.open("foo", {conflicts: true}); var docB = dbB.open("foo", {conflicts: true}); |