define(function(require, exports, module) { "use strict"; require("ace/lib/fixoldbrowsers"); var AsyncTest = require("asyncjs").test; var async = require("asyncjs"); var passed = 0 var failed = 0 var log = document.getElementById("log") var testNames = [ "ace/anchor_test", "ace/background_tokenizer_test", "ace/commands/command_manager_test", "ace/config_test", "ace/document_test", "ace/edit_session_test", "ace/editor_change_document_test", "ace/editor_highlight_selected_word_test", "ace/editor_navigation_test", "ace/editor_text_edit_test", "ace/ext/static_highlight_test", "ace/incremental_search_test", "ace/keyboard/emacs_test", "ace/keyboard/keybinding_test", "ace/layer/text_test", "ace/lib/event_emitter_test", "ace/mode/coffee/parser_test", "ace/mode/coldfusion_test", "ace/mode/css_test", "ace/mode/css_worker", "ace/mode/html_test", "ace/mode/javascript_test", "ace/mode/javascript_worker_test", "ace/mode/logiql_test", "ace/mode/python_test", "ace/mode/text_test", "ace/mode/xml_test", "ace/mode/folding/cstyle_test", "ace/mode/folding/html_test", "ace/mode/folding/pythonic_test", "ace/mode/folding/xml_test", "ace/mode/folding/coffee_test", "ace/multi_select_test", "ace/occur_test", "ace/range_test", "ace/range_list_test", "ace/search_test", "ace/selection_test", "ace/snippets_test", "ace/token_iterator_test", "ace/tokenizer_test", "ace/virtual_renderer_test" ]; var html = ["all tests
"]; for (var i in testNames) { var href = testNames[i]; html.push("", href.replace(/^ace\//, "") ,"
"); } var nav = document.createElement("div"); nav.innerHTML = html.join(""); nav.style.cssText = "position:absolute;right:0;top:0"; document.body.appendChild(nav); if (location.search) testNames = location.search.substr(1).split(",") require(testNames, function() { var tests = testNames.map(function(x) { var module = require(x); module.href = x; return module; }); async.list(tests) .expand(function(test) { return AsyncTest.testcase(test) }, AsyncTest.TestGenerator) .run() .each(function(test, next) { if (test.index == 1 && test.context.href) { var href = test.context.href; var node = document.createElement("div"); node.innerHTML = "" + href.replace(/^ace\//, "") + ""; log.appendChild(node); } var node = document.createElement("div"); node.className = test.passed ? "passed" : "failed"; var name = test.name if (test.suiteName) name = test.suiteName + ": " + test.name var msg = "[" + test.count + "/" + test.index + "] " + name + " " + (test.passed ? "OK" : "FAIL") if (!test.passed) { if (test.err.stack) var err = test.err.stack else var err = test.err console.error(msg); console.error(err); msg += "
" + err + "
"; } else { console.log(msg); } node.innerHTML = msg; log.appendChild(node); next() }) .each(function(test) { if (test.passed) passed += 1 else failed += 1 }) .end(function() { log.innerHTML += [ "
", "
", "Summary:
", "
", "Total number of tests: " + (passed + failed) + "
", (passed ? "Passed tests: " + passed + "
" : ""), (failed ? "Failed tests: " + failed + "
" : "") ].join("") console.log("Total number of tests: " + (passed + failed)); console.log("Passed tests: " + passed); console.log("Failed tests: " + failed); }) }); });