diff options
author | John Christopher Anderson <jchris@apache.org> | 2009-01-19 22:22:37 +0000 |
---|---|---|
committer | John Christopher Anderson <jchris@apache.org> | 2009-01-19 22:22:37 +0000 |
commit | 8d735cb60ee4ca15dd9f60f916d001c4b9efb675 (patch) | |
tree | f23baacf3b9e9f7cc3128bb2c6b6e2d8114d7790 /share/www | |
parent | 55e61d341f4c73b7c50ca6bca151d86d1f5f43f5 (diff) |
fix for COUCHDB-214 (design docs on dbs with slashes)
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@735850 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www')
-rw-r--r-- | share/www/script/couch_tests.js | 100 |
1 files changed, 52 insertions, 48 deletions
diff --git a/share/www/script/couch_tests.js b/share/www/script/couch_tests.js index 3e2bb381..a7a341e9 100644 --- a/share/www/script/couch_tests.js +++ b/share/www/script/couch_tests.js @@ -1235,60 +1235,64 @@ var tests = { }, design_paths : function(debug) { - var db = new CouchDB("test_suite_db"); - db.deleteDb(); - db.createDb(); if (debug) debugger; - - // create a ddoc w bulk_docs - db.bulkSave([{ - _id : "_design/test", - views : { - "testing" : { - "map" : "function(){emit(1,1)}" - } - } - }]) - - // ddoc is getable - var xhr = CouchDB.request("GET", "/test_suite_db/_design/test"); - var resp = JSON.parse(xhr.responseText); - T(resp._id == "_design/test"); - - // it's at 2 urls... - var xhr = CouchDB.request("GET", "/test_suite_db/_design%2Ftest"); - var resp = JSON.parse(xhr.responseText); - T(resp._id == "_design/test"); - - // ensure that views are addressable - resp = db.view("test/testing") - T(resp.total_rows == 0) - - // create a ddoc by putting to url with raw slash - var xhr = CouchDB.request("PUT", "/test_suite_db/_design/test2",{ - body : JSON.stringify({ - _id : "_design/test2", + var dbNames = ["test_suite_db", "test_suite_db/with_slashes"]; + for (var i=0; i < dbNames.length; i++) { + var db = new CouchDB(dbNames[i]); + var dbName = encodeURIComponent(dbNames[i]); + db.deleteDb(); + db.createDb(); + + // create a ddoc w bulk_docs + db.bulkSave([{ + _id : "_design/test", views : { "testing" : { "map" : "function(){emit(1,1)}" } } - }) - }); - - // ddoc is getable - var xhr = CouchDB.request("GET", "/test_suite_db/_design/test2"); - var resp = JSON.parse(xhr.responseText); - T(resp._id == "_design/test2"); - - // it's at 2 urls... - var xhr = CouchDB.request("GET", "/test_suite_db/_design%2Ftest2"); - var resp = JSON.parse(xhr.responseText); - T(resp._id == "_design/test2"); - - // ensure that views are addressable - resp = db.view("test2/testing") - T(resp.total_rows == 0) + }]); + + // ddoc is getable + var xhr = CouchDB.request("GET", "/"+dbName+"/_design/test"); + var resp = JSON.parse(xhr.responseText); + T(resp._id == "_design/test"); + + // it's at 2 urls... + var xhr = CouchDB.request("GET", "/"+dbName+"/_design%2Ftest"); + var resp = JSON.parse(xhr.responseText); + T(resp._id == "_design/test"); + + // ensure that views are addressable + resp = db.view("test/testing") + T(resp.total_rows == 0) + + // create a ddoc by putting to url with raw slash + var xhr = CouchDB.request("PUT", "/"+dbName+"/_design/test2",{ + body : JSON.stringify({ + _id : "_design/test2", + views : { + "testing" : { + "map" : "function(){emit(1,1)}" + } + } + }) + }); + + // ddoc is getable + var xhr = CouchDB.request("GET", "/"+dbName+"/_design/test2"); + var resp = JSON.parse(xhr.responseText); + T(resp._id == "_design/test2"); + + // it's at 2 urls... + var xhr = CouchDB.request("GET", "/"+dbName+"/_design%2Ftest2"); + var resp = JSON.parse(xhr.responseText); + T(resp._id == "_design/test2"); + + // ensure that views are addressable + resp = db.view("test2/testing"); + T(resp.total_rows == 0); + }; }, content_negotiation: function(debug) { |