diff --git a/tests/muther.js b/tests/muther.js index bd26706..9b90423 100644 --- a/tests/muther.js +++ b/tests/muther.js @@ -5,46 +5,46 @@ * * Copyright(c) 2014, Google Inc. */ -var muther = {}; +var muther = { + assert(cond, err) { if (!cond) { throw err; } }, + assertEquals(a, b, err) { muther.assert(a === b, err); }, + assertThrows(fn, err) { + let threw = false; + try { fn(); } catch (e) { threw = true; } + muther.assert(threw, err); + }, -muther.assert = function(cond, err) { if (!cond) { throw err; } }; -muther.assertEquals = function(a, b, err) { muther.assert(a === b, err); }; -muther.assertThrows = function(fn, err) { - let threw = false; - try { fn(); } catch (e) { threw = true; } - muther.assert(threw, err); -}; - -muther.$ = function(id) { - let el = document.querySelector('#' + id); - if (!el) { - el = document.createElement('div'); - el.id = id; - document.body.appendChild(el); - } - return el; -}; - -muther.set_ = function(id, style, innerHTML) { - muther.$(id).setAttribute('style', style); - muther.$(id).innerHTML = innerHTML; -}; - -muther.go = function(spec) { - let prevResult = Promise.resolve(true); - for (let testName in spec['tests']) { - muther.set_(testName, 'color:#F90', 'RUNNING: ' + testName); - try { - prevResult = prevResult.then(() => { - if (spec['setUp']) spec['setUp'](); - const thisResult = spec['tests'][testName]() || Promise.resolve(true); - return thisResult.then(() => { - if (spec['tearDown']) spec['tearDown'](); - muther.set_(testName, 'color:#090', 'PASS: ' + testName); - }); - }).catch(err => muther.set_(testName, 'color:#900', 'FAIL: ' + testName + ': ' + err)); - } catch (err) { - muther.set_(testName, 'color:#900', 'FAIL: ' + testName + ': ' + err); + $(id) { + let el = document.querySelector('#' + id); + if (!el) { + el = document.createElement('div'); + el.id = id; + document.body.appendChild(el); } - } + return el; + }, + + set_(id, style, innerHTML) { + muther.$(id).setAttribute('style', style); + muther.$(id).innerHTML = innerHTML; + }, + + go(spec) { + let prevResult = Promise.resolve(true); + for (let testName in spec['tests']) { + muther.set_(testName, 'color:#F90', 'RUNNING: ' + testName); + try { + prevResult = prevResult.then(() => { + if (spec['setUp']) spec['setUp'](); + const thisResult = spec['tests'][testName]() || Promise.resolve(true); + return thisResult.then(() => { + if (spec['tearDown']) spec['tearDown'](); + muther.set_(testName, 'color:#090', 'PASS: ' + testName); + }); + }).catch(err => muther.set_(testName, 'color:#900', 'FAIL: ' + testName + ': ' + err)); + } catch (err) { + muther.set_(testName, 'color:#900', 'FAIL: ' + testName + ': ' + err); + } + } + }, };