summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/www/script/couch.js13
-rw-r--r--share/www/script/test/design_docs.js14
2 files changed, 26 insertions, 1 deletions
diff --git a/share/www/script/couch.js b/share/www/script/couch.js
index 8f3d96ad..c4c1ae9f 100644
--- a/share/www/script/couch.js
+++ b/share/www/script/couch.js
@@ -177,6 +177,19 @@ function CouchDB(name, httpHeaders) {
return JSON.parse(this.last_req.responseText);
}
+ // gets information about a design doc
+ this.designInfo = function(docid) {
+ this.last_req = this.request("GET", this.uri + docid + "/_info");
+ CouchDB.maybeThrowError(this.last_req);
+ return JSON.parse(this.last_req.responseText);
+ }
+
+ this.viewCleanup = function() {
+ this.last_req = this.request("POST", this.uri + "_view_cleanup");
+ CouchDB.maybeThrowError(this.last_req);
+ return JSON.parse(this.last_req.responseText);
+ }
+
this.allDocs = function(options,keys) {
if(!keys) {
this.last_req = this.request("GET", this.uri + "_all_docs" + encodeOptions(options));
diff --git a/share/www/script/test/design_docs.js b/share/www/script/test/design_docs.js
index 8f003efa..b1ff8432 100644
--- a/share/www/script/test/design_docs.js
+++ b/share/www/script/test/design_docs.js
@@ -49,6 +49,14 @@ function() {
}
T(db.save(designDoc).ok);
+ // test that we get design doc info back
+ var dinfo = db.designInfo("_design/test");
+ TEquals("test", dinfo.name);
+ var vinfo = dinfo.view_index;
+ TEquals(51, vinfo.disk_size);
+ TEquals(false, vinfo.compact_running);
+ TEquals("64625dce94960fd5ca116e42aa9d011a", vinfo.signature);
+
db.bulkSave(makeDocs(1, numDocs + 1));
// test that the _all_docs view returns correctly with keys
@@ -66,7 +74,7 @@ function() {
T(db.ensureFullCommit().ok);
restartServer();
};
-
+
// test when language not specified, Javascript is implied
var designDoc2 = {
_id:"_design/test2",
@@ -110,5 +118,9 @@ function() {
restartServer();
T(db.open(designDoc._id) == null);
T(db.view("test/no_docs") == null);
+
+ // trigger ddoc cleanup
+ T(db.viewCleanup().ok);
+
});
};