From d748a328aec166047c81bcaf3dec6b0a885a2088 Mon Sep 17 00:00:00 2001 From: Paul Joseph Davis Date: Sat, 9 May 2009 19:06:08 +0000 Subject: Check for invalid document members. Removes a guard that only checked for fields with integer values. Adds tests to basics.js git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@773260 13f79535-47bb-0310-9956-ffa450edef68 --- share/www/script/test/basics.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'share/www') diff --git a/share/www/script/test/basics.js b/share/www/script/test/basics.js index 2eb49ebe..8e6d4c7a 100644 --- a/share/www/script/test/basics.js +++ b/share/www/script/test/basics.js @@ -169,6 +169,28 @@ couchTests.basics = function(debug) { xhr = CouchDB.request("DELETE", "/test_suite_db/doc-does-not-exist"); T(xhr.status == 404); + // Check for invalid document members + bad_docs = [ + ["goldfish", {"_zing": 4}], + ["zebrafish", {"_zoom": "hello"}], + ["mudfish", {"zane": "goldfish", "_fan": "something smells delicious"}], + ["tastyfish", {"_bing": {"wha?": "soda can"}}] + ] + var test_doc = function(info) { + var data = JSON.stringify(info[1]); + + xhr = CouchDB.request("PUT", "/test_suite_db/" + info[0], {body: data}); + T(xhr.status == 500); + result = JSON.parse(xhr.responseText); + T(result.error == "doc_validation"); + + xhr = CouchDB.request("POST", "/test_suite_db/", {body: data}); + T(xhr.status == 500); + result = JSON.parse(xhr.responseText); + T(result.error == "doc_validation"); + }; + bad_docs.forEach(test_doc); + // Check some common error responses. // PUT body not an object xhr = CouchDB.request("PUT", "/test_suite_db/bar", {body: "[]"}); -- cgit v1.2.3