summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorPaul Joseph Davis <davisp@apache.org>2009-07-11 20:48:02 +0000
committerPaul Joseph Davis <davisp@apache.org>2009-07-11 20:48:02 +0000
commitf4c3d873f92a4b81f7dd6990bfbba4519f95f2e6 (patch)
tree90094f4b3595fc685ec07f647e87db0594589feb /share
parentdeae5e14975c0726feb28c7e0be433e650c40f30 (diff)
Create tests in Futon.
On the test suite page there is now a button that will give you a page to create a custom test that can then be submitted along with JIRA tickets. git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@793214 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'share')
-rw-r--r--share/www/couch_tests.html4
-rw-r--r--share/www/custom_test.html86
-rw-r--r--share/www/script/test/basics.js3
-rw-r--r--share/www/style/layout.css8
4 files changed, 95 insertions, 6 deletions
diff --git a/share/www/couch_tests.html b/share/www/couch_tests.html
index 0d2e4c3d..d9bde916 100644
--- a/share/www/couch_tests.html
+++ b/share/www/couch_tests.html
@@ -32,6 +32,9 @@ specific language governing permissions and limitations under the License.
$("#toolbar button.load").click(function() {
location.reload(true);
});
+ $("#toolbar button.add").click(function() {
+ location = "custom_test.html";
+ });
});
var testsPath = document.location.toString().split('?')[1];
loadScript(testsPath||"script/couch_tests.js")
@@ -46,6 +49,7 @@ specific language governing permissions and limitations under the License.
<ul id="toolbar">
<li><button class="run">Run All</button></li>
<li><button class="load">Reload</button></li>
+ <li><button class="add">Custom Test</button></li>
</ul>
<p class="help">
<strong>Note:</strong> Each of the tests will block the browser. If the
diff --git a/share/www/custom_test.html b/share/www/custom_test.html
new file mode 100644
index 00000000..4515ca0f
--- /dev/null
+++ b/share/www/custom_test.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<!--
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+-->
+<html lang="en">
+ <head>
+ <title>New Test</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+ <link rel="stylesheet" href="style/layout.css?0.9.0" type="text/css">
+ <script src="script/json2.js"></script>
+ <script src="script/jquery.js?1.3.1"></script>
+ <script src="script/jquery.cookies.js?0.9.0"></script>
+ <script src="script/jquery.couch.js?0.9.0"></script>
+ <script src="script/couch.js?0.9.0"></script>
+ <script src="script/couch_test_runner.js?0.9.0"></script>
+ <script src="script/futon.js?0.9.0"></script>
+ <script>
+ $(function() {
+ $("#status").removeClass("failure").removeClass("success");
+ $("#viewcode button.run").click(function() {
+ $("#status").removeClass("failure").removeClass("success");
+ var code = $("#code").val();
+ try {
+ var couchTests = {};
+ var debug = false;
+ code = eval(code);
+ $.each(couchTests, function(elm) {
+ couchTests[elm](debug);
+ });
+ } catch(e) {
+ alert("" + e);
+ $("#status").text("failure").addClass("failure");
+ return false;
+ }
+ $("#status").text("success").addClass("success");
+ return false;
+ });
+ });
+ </script>
+ </head>
+ <body><div id="wrap">
+ <h1>
+ <a href="index.html">Overview</a>
+ <a class="dbname" href="couch_tests.html">Test Suite</a>
+ <strong>Custom Test</strong>
+ </h1>
+
+ <div id="content">
+ <div id="viewcode">
+ <div class="top">
+ <span>Test Function</span>
+ </div>
+ <table summary="Custom Test Function" cellspacing="0"><tr>
+ <td class="code">
+ <textarea name="code" id="code" rows="30" cols="120">
+couchTests.custom_test = function(debug) {
+ var db = new CouchDB("test_suite_db");
+ db.deleteDb();
+ db.createDb();
+
+ if (debug) debugger;
+
+ alert("You can start writing your test now.");
+};
+</textarea>
+ </td>
+ </tr></table>
+ <div class="bottom">
+ <button class="run" type="button">Run</button>
+ <span id="status">&nbsp;&nbsp;</span>
+ </div>
+ </div>
+ </div>
+ </div></body>
+</html>
diff --git a/share/www/script/test/basics.js b/share/www/script/test/basics.js
index 231f57ff..911972ba 100644
--- a/share/www/script/test/basics.js
+++ b/share/www/script/test/basics.js
@@ -181,8 +181,7 @@ couchTests.basics = function(debug) {
["tastyfish", {"_bing": {"wha?": "soda can"}}]
]
var test_doc = function(info) {
- var data = JSON.stringify(info[1]);
-
+ 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);
diff --git a/share/www/style/layout.css b/share/www/style/layout.css
index 24348f2a..c9f8cc50 100644
--- a/share/www/style/layout.css
+++ b/share/www/style/layout.css
@@ -486,11 +486,11 @@ ul.suggest-dropdown li.selected { cursor: pointer; background: Highlight;
#tests tbody.content td.running {
background-image: url(../image/running.png); color: #333;
}
-#tests tbody.content td.success {
- background-image: url(../image/test_success.gif); color: #060;
+#tests tbody.content td.success, span.success {
+ background-image: url(../image/test_success.gif) no-repeat; color: #060;
}
-#tests tbody.content td.error, #tests tbody.content td.failure {
- background-image: url(../image/test_failure.gif); color: #c00;
+#tests tbody.content td.error, #tests tbody.content td.failure, span.failure {
+ background-image: url(../image/test_failure.gif) no-repeat; color: #c00;
}
/* Configuration */