diff options
| author | Paul Joseph Davis <davisp@apache.org> | 2009-10-19 14:49:50 +0000 | 
|---|---|---|
| committer | Paul Joseph Davis <davisp@apache.org> | 2009-10-19 14:49:50 +0000 | 
| commit | 7cda6c7c2d72053407da7d0caee73026bebab25b (patch) | |
| tree | 0b8cc2dafbbe3c5e714ad64eb8aeb9464a0b1649 /share/www/script | |
| parent | 430b75f7572d3033fe61e341d0ee5ff1167831e2 (diff) | |
Fix bug when lists use two design docs.
The language was being pulled from the wrong doc in the pair. Also removed some
unused variables. Added a test in list_views.js
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@826692 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share/www/script')
| -rw-r--r-- | share/www/script/test/list_views.js | 44 | 
1 files changed, 42 insertions, 2 deletions
diff --git a/share/www/script/test/list_views.js b/share/www/script/test/list_views.js index b261be71..e31f0f83 100644 --- a/share/www/script/test/list_views.js +++ b/share/www/script/test/list_views.js @@ -177,6 +177,23 @@ couchTests.list_views = function(debug) {        }      }    }; +  var erlListDoc = { +    _id: "_design/erlang", +    language: "erlang", +    lists: { +        simple: +            'fun(Head, {Req}) -> ' + +            '  Send(<<"[">>), ' + +            '  Fun = fun({Row}, Sep) -> ' + +            '    Val = proplists:get_value(<<"key">>, Row, 23), ' + +            '    Send(list_to_binary(Sep ++ integer_to_list(Val))), ' + +            '    {ok, ","} ' + +            '  end, ' + +            '  {ok, _} = FoldRows(Fun, ""), ' + +            '  Send(<<"]">>) ' + +            'end.' +    } +  };    T(db.save(designDoc).ok); @@ -373,10 +390,33 @@ couchTests.list_views = function(debug) {    // Test we can run lists and views from separate docs.    T(db.save(viewOnlyDesignDoc).ok); -  xhr = CouchDB.request("GET", "/test_suite_db/_design/lists/_list/simpleForm/views/basicView?startkey=-3"); -  T(xhr.status == 200, "with query params"); +  var url = "/test_suite_db/_design/lists/_list/simpleForm/views/basicView" + +                "?startkey=-3"; +  xhr = CouchDB.request("GET", url);  +  T(xhr.status == 200, "multiple design docs.");    T(/Total Rows/.test(xhr.responseText));    T(!(/Key: -4/.test(xhr.responseText)));    T(/FirstKey: -3/.test(xhr.responseText));    T(/LastKey: 0/.test(xhr.responseText)); + +  var erlViewTest = function() { +    T(db.save(erlListDoc).ok); +    var url = "/test_suite_db/_design/erlang/_list/simple/views/basicView" + +                "?startkey=-3"; +    xhr = CouchDB.request("GET", url); +    T(xhr.status == 200, "multiple languages in design docs."); +    var list = JSON.parse(xhr.responseText); +    T(list.length == 4); +    for(var i = 0; i < list.length; i++) +    { +        T(list[i] + 3 == i); +    } +  }; + +  run_on_modified_server([{ +    section: "native_query_servers", +    key: "erlang", +    value: "{couch_native_process, start_link, []}" +  }], erlViewTest); +  };  | 
