diff options
author | Damien F. Katz <damien@apache.org> | 2008-05-01 12:07:52 +0000 |
---|---|---|
committer | Damien F. Katz <damien@apache.org> | 2008-05-01 12:07:52 +0000 |
commit | fda591cf7d4db91222d1db988f570c6039182729 (patch) | |
tree | 4afa8b4b9bfd173e44e725120975d709b1ea3f12 /share/www/script | |
parent | d10b27ac0e6da94ae2766ac6d2701cbc0b6bef5f (diff) |
fix for compaction problem with attachments, and enhancements to JS shell, to make debugging tests easier.
git-svn-id: https://svn.apache.org/repos/asf/incubator/couchdb/trunk@652489 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script')
-rw-r--r-- | share/www/script/couch.js | 2 | ||||
-rw-r--r-- | share/www/script/couch_tests.js | 20 | ||||
-rw-r--r-- | share/www/script/shell.js | 22 |
3 files changed, 43 insertions, 1 deletions
diff --git a/share/www/script/couch.js b/share/www/script/couch.js index f1544893..5f42ac38 100644 --- a/share/www/script/couch.js +++ b/share/www/script/couch.js @@ -87,7 +87,7 @@ function CouchDB(name) { var result = JSON.parse(req.responseText); if (req.status != 201) throw result; - for(i in docs) { + for(var i in docs) { docs[i]._rev = result.new_revs[i].rev; } return result; diff --git a/share/www/script/couch_tests.js b/share/www/script/couch_tests.js index 70879479..cf1a4865 100644 --- a/share/www/script/couch_tests.js +++ b/share/www/script/couch_tests.js @@ -849,6 +849,20 @@ var tests = { var docs = makeDocs(0, 10); var saveResult = db.bulkSave(docs); T(saveResult.ok); + + + var binAttDoc = { + _id:"bin_doc", + _attachments:{ + "foo.txt": { + "content-type":"text/plain", + "data": "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHRleHQ=" + } + } + } + + T(db.save(binAttDoc).ok); + var originalsize = db.info().disk_size; for(var i in docs) { @@ -862,6 +876,12 @@ var tests = { //compaction isn't instantaneous, loop until done while(db.info().compact_running) {}; + + + var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt"); + T(xhr.responseText == "This is a base64 encoded text") + T(xhr.getResponseHeader("content-type") == "text/plain") + var compactedsize = db.info().disk_size; T(deletesize > originalsize); diff --git a/share/www/script/shell.js b/share/www/script/shell.js index f4c6aff5..4b512dc1 100644 --- a/share/www/script/shell.js +++ b/share/www/script/shell.js @@ -698,3 +698,25 @@ function go(s) // Evaluate Shell.question using _win's eval (this is why eval isn't in the |with|, IIRC). _win.location.href = "javascript:try{ Shell.printAnswer(eval('with(Shell._scope) with(Shell.shellCommands) {' + Shell.question + String.fromCharCode(10) + '}')); } catch(er) { Shell.printError(er); }; setTimeout(Shell.refocus, 0); void 0"; } + +function T(Bool) { + if(!Bool) { + throw "Error!"; + } +} + + +function makeDocs(start, end, templateDoc) { + var templateDocSrc = templateDoc ? templateDoc.toSource() : "{}" + var docs = [] + for(var i=start; i<end; i++) { + var newDoc = eval("(" + templateDocSrc + ")"); + newDoc._id = (i).toString(); + newDoc.integer = i + newDoc.string = (i).toString(); + docs.push(newDoc) + } + return docs; +} + + |