diff options
| author | Misko Hevery | 2012-03-23 14:03:24 -0700 |
|---|---|---|
| committer | Misko Hevery | 2012-03-28 11:16:35 -0700 |
| commit | 2430f52bb97fa9d682e5f028c977c5bf94c5ec38 (patch) | |
| tree | e7529b741d70199f36d52090b430510bad07f233 /src/scenario/output | |
| parent | 944098a4e0f753f06b40c73ca3e79991cec6c2e2 (diff) | |
| download | angular.js-2430f52bb97fa9d682e5f028c977c5bf94c5ec38.tar.bz2 | |
chore(module): move files around in preparation for more modules
Diffstat (limited to 'src/scenario/output')
| -rw-r--r-- | src/scenario/output/Html.js | 171 | ||||
| -rw-r--r-- | src/scenario/output/Json.js | 10 | ||||
| -rw-r--r-- | src/scenario/output/Object.js | 8 | ||||
| -rw-r--r-- | src/scenario/output/Xml.js | 51 |
4 files changed, 0 insertions, 240 deletions
diff --git a/src/scenario/output/Html.js b/src/scenario/output/Html.js deleted file mode 100644 index 326928d8..00000000 --- a/src/scenario/output/Html.js +++ /dev/null @@ -1,171 +0,0 @@ -'use strict'; - -/** - * User Interface for the Scenario Runner. - * - * TODO(esprehn): This should be refactored now that ObjectModel exists - * to use angular bindings for the UI. - */ -angular.scenario.output('html', function(context, runner, model) { - var specUiMap = {}, - lastStepUiMap = {}; - - context.append( - '<div id="header">' + - ' <h1><span class="angular">AngularJS</span>: Scenario Test Runner</h1>' + - ' <ul id="status-legend" class="status-display">' + - ' <li class="status-error">0 Errors</li>' + - ' <li class="status-failure">0 Failures</li>' + - ' <li class="status-success">0 Passed</li>' + - ' </ul>' + - '</div>' + - '<div id="specs">' + - ' <div class="test-children"></div>' + - '</div>' - ); - - runner.on('InteractivePause', function(spec, step) { - var ui = lastStepUiMap[spec.id]; - ui.find('.test-title'). - html('paused... <a href="javascript:resume()">resume</a> when ready.'); - }); - - runner.on('SpecBegin', function(spec) { - var ui = findContext(spec); - ui.find('> .tests').append( - '<li class="status-pending test-it"></li>' - ); - ui = ui.find('> .tests li:last'); - ui.append( - '<div class="test-info">' + - ' <p class="test-title">' + - ' <span class="timer-result"></span>' + - ' <span class="test-name"></span>' + - ' </p>' + - '</div>' + - '<div class="scrollpane">' + - ' <ol class="test-actions"></ol>' + - '</div>' - ); - ui.find('> .test-info .test-name').text(spec.name); - ui.find('> .test-info').click(function() { - var scrollpane = ui.find('> .scrollpane'); - var actions = scrollpane.find('> .test-actions'); - var name = context.find('> .test-info .test-name'); - if (actions.find(':visible').length) { - actions.hide(); - name.removeClass('open').addClass('closed'); - } else { - actions.show(); - scrollpane.attr('scrollTop', scrollpane.attr('scrollHeight')); - name.removeClass('closed').addClass('open'); - } - }); - - specUiMap[spec.id] = ui; - }); - - runner.on('SpecError', function(spec, error) { - var ui = specUiMap[spec.id]; - ui.append('<pre></pre>'); - ui.find('> pre').text(formatException(error)); - }); - - runner.on('SpecEnd', function(spec) { - var ui = specUiMap[spec.id]; - spec = model.getSpec(spec.id); - ui.removeClass('status-pending'); - ui.addClass('status-' + spec.status); - ui.find("> .test-info .timer-result").text(spec.duration + "ms"); - if (spec.status === 'success') { - ui.find('> .test-info .test-name').addClass('closed'); - ui.find('> .scrollpane .test-actions').hide(); - } - updateTotals(spec.status); - }); - - runner.on('StepBegin', function(spec, step) { - var ui = specUiMap[spec.id]; - spec = model.getSpec(spec.id); - step = spec.getLastStep(); - ui.find('> .scrollpane .test-actions').append('<li class="status-pending"></li>'); - var stepUi = lastStepUiMap[spec.id] = ui.find('> .scrollpane .test-actions li:last'); - stepUi.append( - '<div class="timer-result"></div>' + - '<div class="test-title"></div>' - ); - stepUi.find('> .test-title').text(step.name); - var scrollpane = stepUi.parents('.scrollpane'); - scrollpane.attr('scrollTop', scrollpane.attr('scrollHeight')); - }); - - runner.on('StepFailure', function(spec, step, error) { - var ui = lastStepUiMap[spec.id]; - addError(ui, step.line, error); - }); - - runner.on('StepError', function(spec, step, error) { - var ui = lastStepUiMap[spec.id]; - addError(ui, step.line, error); - }); - - runner.on('StepEnd', function(spec, step) { - var stepUi = lastStepUiMap[spec.id]; - spec = model.getSpec(spec.id); - step = spec.getLastStep(); - stepUi.find('.timer-result').text(step.duration + 'ms'); - stepUi.removeClass('status-pending'); - stepUi.addClass('status-' + step.status); - var scrollpane = specUiMap[spec.id].find('> .scrollpane'); - scrollpane.attr('scrollTop', scrollpane.attr('scrollHeight')); - }); - - /** - * Finds the context of a spec block defined by the passed definition. - * - * @param {Object} The definition created by the Describe object. - */ - function findContext(spec) { - var currentContext = context.find('#specs'); - angular.forEach(model.getDefinitionPath(spec), function(defn) { - var id = 'describe-' + defn.id; - if (!context.find('#' + id).length) { - currentContext.find('> .test-children').append( - '<div class="test-describe" id="' + id + '">' + - ' <h2></h2>' + - ' <div class="test-children"></div>' + - ' <ul class="tests"></ul>' + - '</div>' - ); - context.find('#' + id).find('> h2').text('describe: ' + defn.name); - } - currentContext = context.find('#' + id); - }); - return context.find('#describe-' + spec.definition.id); - } - - /** - * Updates the test counter for the status. - * - * @param {string} the status. - */ - function updateTotals(status) { - var legend = context.find('#status-legend .status-' + status); - var parts = legend.text().split(' '); - var value = (parts[0] * 1) + 1; - legend.text(value + ' ' + parts[1]); - } - - /** - * Add an error to a step. - * - * @param {Object} The JQuery wrapped context - * @param {function()} fn() that should return the file/line number of the error - * @param {Object} the error. - */ - function addError(context, line, error) { - context.find('.test-title').append('<pre></pre>'); - var message = _jQuery.trim(line() + '\n\n' + formatException(error)); - context.find('.test-title pre:last').text(message); - } -}); diff --git a/src/scenario/output/Json.js b/src/scenario/output/Json.js deleted file mode 100644 index c024d923..00000000 --- a/src/scenario/output/Json.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -/** - * Generates JSON output into a context. - */ -angular.scenario.output('json', function(context, runner, model) { - model.on('RunnerEnd', function() { - context.text(angular.toJson(model.value)); - }); -}); diff --git a/src/scenario/output/Object.js b/src/scenario/output/Object.js deleted file mode 100644 index 621b816f..00000000 --- a/src/scenario/output/Object.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -/** - * Creates a global value $result with the result of the runner. - */ -angular.scenario.output('object', function(context, runner, model) { - runner.$window.$result = model.value; -}); diff --git a/src/scenario/output/Xml.js b/src/scenario/output/Xml.js deleted file mode 100644 index 6cd27fe7..00000000 --- a/src/scenario/output/Xml.js +++ /dev/null @@ -1,51 +0,0 @@ -'use strict'; - -/** - * Generates XML output into a context. - */ -angular.scenario.output('xml', function(context, runner, model) { - var $ = function(args) {return new context.init(args);}; - model.on('RunnerEnd', function() { - var scenario = $('<scenario></scenario>'); - context.append(scenario); - serializeXml(scenario, model.value); - }); - - /** - * Convert the tree into XML. - * - * @param {Object} context jQuery context to add the XML to. - * @param {Object} tree node to serialize - */ - function serializeXml(context, tree) { - angular.forEach(tree.children, function(child) { - var describeContext = $('<describe></describe>'); - describeContext.attr('id', child.id); - describeContext.attr('name', child.name); - context.append(describeContext); - serializeXml(describeContext, child); - }); - var its = $('<its></its>'); - context.append(its); - angular.forEach(tree.specs, function(spec) { - var it = $('<it></it>'); - it.attr('id', spec.id); - it.attr('name', spec.name); - it.attr('duration', spec.duration); - it.attr('status', spec.status); - its.append(it); - angular.forEach(spec.steps, function(step) { - var stepContext = $('<step></step>'); - stepContext.attr('name', step.name); - stepContext.attr('duration', step.duration); - stepContext.attr('status', step.status); - it.append(stepContext); - if (step.error) { - var error = $('<error></error>'); - stepContext.append(error); - error.text(formatException(stepContext.error)); - } - }); - }); - } -}); |
