diff options
Diffstat (limited to 'alarm/node_modules/node-forge/tests/tasks.js')
-rw-r--r-- | alarm/node_modules/node-forge/tests/tasks.js | 378 |
1 files changed, 0 insertions, 378 deletions
diff --git a/alarm/node_modules/node-forge/tests/tasks.js b/alarm/node_modules/node-forge/tests/tasks.js deleted file mode 100644 index dd3ffde..0000000 --- a/alarm/node_modules/node-forge/tests/tasks.js +++ /dev/null @@ -1,378 +0,0 @@ -/** - * Forge Tasks Test - * - * @author David I. Lehn <dlehn@digitalbazaar.com> - * - * Copyright (c) 2009-2010 Digital Bazaar, Inc. All rights reserved. - */ -jQuery(function($) -{ - var cat = 'forge.tests.tasks'; - - var tests = []; - var passed = 0; - var failed = 0; - - var init = function() { - passed = failed = 0; - $('.ready,.testing,.pass,.fail') - .removeClass('ready testing pass fail'); - $('#status') - .text('Ready.') - .addClass('ready'); - $('#total').text(tests.length); - $('#pass').text(passed); - $('#fail').text(failed); - $('.expect').empty(); - $('.result').empty(); - $('.time').empty(); - $('#start').removeAttr('disabled'); - }; - - var start = function() - { - $('#start').attr('disabled', 'disabled'); - // meta! use tasks to run the task tests - forge.task.start({ - type: 'test', - run: function(task) { - task.next('starting', function(task) { - forge.log.debug(cat, 'start'); - $('#status') - .text('Testing...') - .addClass('testing') - .removeClass('idle'); - }); - $.each(tests, function(i, test) { - task.next('test', function(task) { - var title = $('li:first', test.container); - if($('#scroll:checked').length === 1) - { - $('html,body').animate({scrollTop: title.offset().top}); - } - title.addClass('testing'); - test.run(task, test); - }); - task.next('test', function(task) { - $('li:first', test.container).removeClass('testing'); - }); - }); - task.next('success', function(task) { - forge.log.debug(cat, 'done'); - if(failed === 0) { - $('#status') - .text('PASS') - .addClass('pass') - .removeClass('testing'); - } else { - // FIXME: should just be hitting failure() below - $('#status') - .text('FAIL') - .addClass('fail') - .removeClass('testing'); - } - }); - }, - failure: function() { - $('#status') - .text('FAIL') - .addClass('fail') - .removeClass('testing'); - } - }); - }; - - $('#start').click(function() { - start(); - }); - - $('#reset').click(function() { - init(); - }); - - var addTest = function(name, run) - { - var container = $('<ul><li>Test ' + name + '</li><ul/></ul>'); - var expect = $('<li>Expect: <span class="expect"/></li>'); - var result = $('<li>Result: <span class="result"/></li>'); - var time = $('<li>Time: <span class="time"/></li>'); - $('ul', container).append(expect).append(result).append(time); - $('#tests').append(container); - var test = { - container: container, - startTime: null, - run: function(task, test) { - test.startTime = new Date(); - run(task, test); - }, - expect: $('span', expect), - result: $('span', result), - check: function() { - var e = test.expect.text(); - var r = test.result.text(); - (e == r) ? test.pass() : test.fail(); - }, - pass: function() { - passed += 1; - $('#pass').text(passed); - $('li:first', container).addClass('pass'); - var dt = new Date() - test.startTime; - $('span.time', container).html(dt); - }, - fail: function() { - failed += 1; - $('#fail').text(failed); - $('li:first', container).addClass('fail'); - var dt = new Date() - test.startTime; - $('span.time', container).html(dt); - } - }; - tests.push(test); - }; - - addTest('pass', function(task, test) { - test.pass(); - }); - - addTest('check', function(task, test) { - test.check(); - }); - - addTest('task 1', function(task, test) { - task.next(function(task) { - test.pass(); - }); - }); - - addTest('task check()', function(task, test) { - test.expect.append('check'); - task.next(function(task) { - test.result.append('check'); - }); - task.next(function(task) { - test.check(); - }); - }); - - addTest('serial 20', function(task, test) { - // total - var n = 20; - // counter used in the tasks - var taskn = 0; - for(var i = 0; i < n; ++i) { - test.expect.append(i + ' '); - task.next(function(task) { - test.result.append(taskn++ + ' '); - }); - } - task.next(function(task) { - test.check(); - }); - }); - - addTest('ajax block', function(task, test) { - test.expect.append('.'); - task.next(function(task) { - task.parent.block(); - $.ajax({ - type: 'GET', - url: 'tasks.html', - success: function() { - test.result.append('.'); - task.parent.unblock(); - } - }); - }); - task.next(function(task) { - test.check(); - }); - }); - - addTest('serial ajax', function(task, test) { - var n = 10; - for(var i = 0; i < n; ++i) - { - test.expect.append(i + ' '); - } - task.next(function(task) { - // create parallel functions - task.parent.block(n); - for(var i = 0; i < n; ++i) - { - // pass value into closure - (function(i) - { - // serial tasks - task.next(function(ajaxTask) - { - $.ajax({ - type: 'GET', - url: 'tasks.html', - success: function() { - // results use top level task - test.result.append(i + ' '); - task.parent.unblock(); - } - }); - }); - })(i); - } - }); - task.next(function(task) { - test.check(); - }); - }); - - addTest('parallel ajax', function(task, test) { - task.next(function(task) { - var n = 10; - // create parallel functions - var tasks = []; - for(var i = 0; i < n; ++i) - { - // pass value into closure - (function(i) - { - tasks.push(function(ajaxTask) - { - $.ajax({ - type: 'GET', - url: 'tasks.html', - success: function() { - // results use top level task - test.result.append(i + ' '); - } - }); - }); - })(i); - } - // launch in parallel - task.parallel(tasks); - }); - task.next(function(task) { - test.pass(); - }); - }); - - addTest('linear empty tasks rate', function(task, test) { - test.expect.append('-'); - // total - var n = 100; - var start = new Date(); - for(var i = 0; i < n; ++i) { - // empty task - task.next(function(task) {}); - } - task.next(function(task) { - var dt = (new Date() - start) / 1000; - var res = $('<ul/>') - .append('<li>Tasks: ' + n + '</li>') - .append('<li>Time: ' + dt + 's</li>') - .append('<li>Rate: ' + n/dt + ' tasks/s</li>') - .append('<li>Task Time: ' + 1000*dt/n + ' ms/tasks</li>'); - test.result.html(res); - test.pass(); - }); - }); - - addTest('sleep', function(task, test) { - test.expect.append('-'); - var st = 1000; - var start = new Date(); - task.next(function(task) { - task.sleep(st); - }); - task.next(function(task) { - var dt = new Date() - start; - var res = $('<ul/>') - .append('<li>Sleep Time : ' + st + 'ms</li>') - .append('<li>Real Time: ' + dt + 'ms</li>') - .append('<li>Diff: ' + (dt-st) + 'ms</li>'); - test.result.html(res); - test.pass(); - }); - }); - - addTest('serial 20 + sleep', function(task, test) { - // total - var n = 20; - // counter used in the tasks - var taskn = 0; - for(var i = 0; i < n; ++i) { - test.expect.append(i + ' '); - task.next(function(task) { - task.sleep(20); - test.result.append(taskn++ + ' '); - }); - } - task.next(function(task) { - test.check(); - }); - }); - - addTest('concurrent tasks', function(task, test) - { - var colors = [ - 'red', - 'green', - 'blue', - 'black', - 'purple', - 'goldenrod', - 'maroon', - 'gray', - 'teal', - 'magenta' - ]; - var count = colors.length; - task.next(function(task) - { - var main = task; - task.block(count); - - var tasks = []; - for(var i = 0; i < count; ++i) - { - var makefunction = function(index) - { - return function(task) - { - // total - var n = 20; - // counter used in the tasks - var taskn = 0; - for(var j = 0; j < n; j++) - { - task.next(function(task) - { - test.result.append( - '<span style=\"color:' + colors[index] + ';\">' + - taskn++ + '</span> '); - }); - } - task.next(function(task) - { - main.unblock(); - }); - }; - }; - tasks.push( - { - type: 'concurrent' + i, - run: makefunction(i) - }); - } - - for(var i = 0; i < count; ++i) - { - forge.task.start(tasks[i]); - } - }); - - task.next(function(task) { - test.pass(); - }); - }); - - init(); -}); |