From 4b5e0a20aa087dd26df644c0432627aa3e5826d4 Mon Sep 17 00:00:00 2001 From: "Damien F. Katz" Date: Wed, 6 May 2009 19:11:10 +0000 Subject: First cut at _changes api. Update the by_id and by_seq indexes to contain update seq numbers and pointers to bodies on disk, for use in the _changes api. This is a new file version, but the code can continue to serve the old 0.9 version without problems, though certain features in the _changes api will not be able to work. Upgrade to new file version (from 1 to 2) by compacting the file. Also fixed bugs with how the stats api tracks open databases. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@772406 13f79535-47bb-0310-9956-ffa450edef68 --- share/www/script/test/changes.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 share/www/script/test/changes.js (limited to 'share/www/script/test/changes.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) + +}; -- cgit v1.2.3