Fixed formatting, removed semicolons from e2e test file

This commit is contained in:
Taylor Hakes 2014-09-19 08:54:35 -04:00
parent 153d2384c8
commit 9b1461d31f

View file

@ -1,30 +1,31 @@
//saucelabs reporting; see https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit //saucelabs reporting; see https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
var log = []; var log = []
var testName; var testName
QUnit.done(function (test_results) {
var tests = [];
for(var i = 0, len = log.length; i < len; i++) {
var details = log[i];
tests.push({
name: details.name,
result: details.result,
expected: details.expected,
actual: details.actual,
source: details.source
});
}
test_results.tests = tests;
window.global_test_results = test_results; QUnit.done(function (test_results) {
}); var tests = []
QUnit.testStart(function(testDetails){ for (var i = 0, len = log.length; i < len; i++) {
QUnit.log(function(details){ var details = log[i]
if (!details.result) { tests.push({
details.name = testDetails.name; name: details.name,
log.push(details); result: details.result,
} expected: details.expected,
}); actual: details.actual,
}); source: details.source
})
}
test_results.tests = tests
window.global_test_results = test_results
})
QUnit.testStart(function (testDetails) {
QUnit.log(function (details) {
if (!details.result) {
details.name = testDetails.name
log.push(details)
}
})
})
//qunit doesn't support Function.prototype.bind... //qunit doesn't support Function.prototype.bind...
if (!Function.prototype.bind) { if (!Function.prototype.bind) {
@ -32,213 +33,205 @@ if (!Function.prototype.bind) {
if (typeof this !== "function") { if (typeof this !== "function") {
// closest thing possible to the ECMAScript 5 // closest thing possible to the ECMAScript 5
// internal IsCallable function // internal IsCallable function
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable")
} }
var aArgs = Array.prototype.slice.call(arguments, 1), var aArgs = Array.prototype.slice.call(arguments, 1),
fToBind = this, fToBind = this,
fNOP = function () {}, fNOP = function () {},
fBound = function () { fBound = function () {
return fToBind.apply(this instanceof fNOP && oThis return fToBind.apply(this instanceof fNOP && oThis
? this ? this
: oThis, : oThis,
aArgs.concat(Array.prototype.slice.call(arguments))); aArgs.concat(Array.prototype.slice.call(arguments)))
}; }
fNOP.prototype = this.prototype; fNOP.prototype = this.prototype
fBound.prototype = new fNOP(); fBound.prototype = new fNOP()
return fBound; return fBound
}; }
} }
//tests //tests
var dummyEl = document.getElementById('dummy') var dummyEl = document.getElementById('dummy')
test('Mithril accessible as window.m', function() { test('Mithril accessible as window.m', function() {
expect(1); expect(1)
ok(window.m); ok(window.m)
}); })
test('array item removal', function() { test('array item removal', function() {
expect(2); expect(2)
var view1 = m('div', {}, [ var view1 = m('div', {}, [
m('div', {}, '0'), m('div', {}, '0'),
m('div', {}, '1'), m('div', {}, '1'),
m('div', {}, '2') m('div', {}, '2')
]); ])
var view2= m('div', {}, [ var view2= m('div', {}, [
m('div', {}, '0'), m('div', {}, '0')
]); ])
m.render(dummyEl, view1); m.render(dummyEl, view1)
equal(dummyEl.innerHTML, '<div><div>0</div><div>1</div><div>2</div></div>', 'view1 rendered correctly'); equal(dummyEl.innerHTML, '<div><div>0</div><div>1</div><div>2</div></div>', 'view1 rendered correctly')
m.render(dummyEl, view2); m.render(dummyEl, view2)
equal(dummyEl.innerHTML, '<div><div>0</div></div>', 'view2 should be rendered correctly'); equal(dummyEl.innerHTML, '<div><div>0</div></div>', 'view2 should be rendered correctly')
})
});
test('issue99 regression', function() { test('issue99 regression', function() {
// see https://github.com/lhorie/mithril.js/issues/99 // see https://github.com/lhorie/mithril.js/issues/99
expect(2); expect(2)
var view1 = m('div', {}, [ var view1 = m('div', {}, [
m('div', {}, '0'), m('div', {}, '0'),
m('div', {}, '1'), m('div', {}, '1'),
m('div', {}, '2') m('div', {}, '2')
]); ])
var view2= m('div', {}, [ var view2= m('div', {}, [
m('span', {}, '0'), m('span', {}, '0')
]); ])
m.render(dummyEl, view1); m.render(dummyEl, view1)
equal(dummyEl.innerHTML, '<div><div>0</div><div>1</div><div>2</div></div>', 'view1 rendered correctly'); equal(dummyEl.innerHTML, '<div><div>0</div><div>1</div><div>2</div></div>', 'view1 rendered correctly')
m.render(dummyEl, view2); m.render(dummyEl, view2)
equal(dummyEl.innerHTML, '<div><span>0</span></div>', 'view2 should be rendered correctly'); equal(dummyEl.innerHTML, '<div><span>0</span></div>', 'view2 should be rendered correctly')
}); })
test('config handler context', function() { test('config handler context', function() {
expect(3); expect(3)
var view = m('div', {config: function(evt, isInitialized, context){ var view = m('div', {config: function(evt, isInitialized, context) {
equal(context instanceof Object, true); equal(context instanceof Object, true)
context.data = 1; context.data = 1
}}) }})
m.render(dummyEl, view); m.render(dummyEl, view)
var view = m('div', {config: function(evt, isInitialized, context){ var view = m('div', {config: function(evt, isInitialized, context) {
equal(context instanceof Object, true); equal(context instanceof Object, true)
equal(context.data, 1); equal(context.data, 1)
}}) }})
m.render(dummyEl, view); m.render(dummyEl, view)
}) })
test('node identity remove firstChild', function() { test('node identity remove firstChild', function() {
expect(2); expect(2)
var view1 = m('div', {}, [ var view1 = m('div', {}, [
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2')
]); ])
m.render(dummyEl, view1); m.render(dummyEl, view1)
var node2 = dummyEl.firstChild.lastChild; var node2 = dummyEl.firstChild.lastChild
equal(node2.innerHTML, 'E2') equal(node2.innerHTML, 'E2')
var view2 = m('div', {}, [ var view2 = m('div', {}, [
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2')
]); ])
m.render(dummyEl, view2); m.render(dummyEl, view2)
equal(dummyEl.firstChild.firstChild, node2);
equal(dummyEl.firstChild.firstChild, node2)
}) })
test('node identity change order', function() { test('node identity change order', function() {
expect(2); expect(2)
var view1 = m('div', {}, [ var view1 = m('div', {}, [
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2'),
m('div', {key:3}, 'E3'), m('div', {key:3}, 'E3')
]); ])
m.render(dummyEl, view1); m.render(dummyEl, view1)
var e2 = dummyEl.firstChild.firstChild.nextSibling; var e2 = dummyEl.firstChild.firstChild.nextSibling
equal(e2.innerHTML, 'E2') equal(e2.innerHTML, 'E2')
var view2 = m('div', {}, [ var view2 = m('div', {}, [
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2'),
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:3}, 'E3'), m('div', {key:3}, 'E3')
]); ])
m.render(dummyEl, view2); m.render(dummyEl, view2)
equal(dummyEl.firstChild.firstChild, e2); equal(dummyEl.firstChild.firstChild, e2)
}) })
test('node identity remove in the middle', function() { test('node identity remove in the middle', function() {
expect(2); expect(2)
var view1 = m('div', {}, [ var view1 = m('div', {}, [
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2'),
m('div', {key:3}, 'E3'), m('div', {key:3}, 'E3')
]); ])
m.render(dummyEl, view1); m.render(dummyEl, view1)
var e3 = dummyEl.firstChild.lastChild; var e3 = dummyEl.firstChild.lastChild
equal(e3.innerHTML, 'E3') equal(e3.innerHTML, 'E3')
var view2 = m('div', {}, [ var view2 = m('div', {}, [
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:3}, 'E3'), m('div', {key:3}, 'E3')
]); ])
m.render(dummyEl, view2); m.render(dummyEl, view2)
equal(dummyEl.firstChild.firstChild.nextSibling, e3);
equal(dummyEl.firstChild.firstChild.nextSibling, e3)
}) })
test('node identity remove last', function() { test('node identity remove last', function() {
expect(4); expect(4)
var view1 = m('div', {}, [ var view1 = m('div', {}, [
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2'),
m('div', {key:3}, 'E3'), m('div', {key:3}, 'E3')
]); ])
m.render(dummyEl, view1); m.render(dummyEl, view1)
var e1 = dummyEl.firstChild.firstChild; var e1 = dummyEl.firstChild.firstChild
equal(e1.innerHTML, 'E1') equal(e1.innerHTML, 'E1')
var e2 = dummyEl.firstChild.firstChild.nextSibling; var e2 = dummyEl.firstChild.firstChild.nextSibling
equal(e2.innerHTML, 'E2') equal(e2.innerHTML, 'E2')
var view2 = m('div', {}, [ var view2 = m('div', {}, [
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2')
]); ])
m.render(dummyEl, view2); m.render(dummyEl, view2)
equal(dummyEl.firstChild.firstChild, e1);
equal(dummyEl.firstChild.firstChild.nextSibling, e2);
equal(dummyEl.firstChild.firstChild, e1)
equal(dummyEl.firstChild.firstChild.nextSibling, e2)
}) })
test('node identity shuffle and remove', function() { test('node identity shuffle and remove', function() {
expect(8); expect(8)
var view1 = m('div', {}, [ var view1 = m('div', {}, [
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2'),
m('div', {key:3}, 'E3'), m('div', {key:3}, 'E3'),
m('div', {key:4}, 'E4'), m('div', {key:4}, 'E4'),
m('div', {key:5}, 'E5'), m('div', {key:5}, 'E5')
]); ])
m.render(dummyEl, view1); m.render(dummyEl, view1)
var e1 = dummyEl.firstChild.firstChild; var e1 = dummyEl.firstChild.firstChild
equal(e1.innerHTML, 'E1') equal(e1.innerHTML, 'E1')
var e2 = e1.nextSibling; var e2 = e1.nextSibling
equal(e2.innerHTML, 'E2') equal(e2.innerHTML, 'E2')
var e3 = e2.nextSibling; var e3 = e2.nextSibling
equal(e3.innerHTML, 'E3') equal(e3.innerHTML, 'E3')
var e4 = e3.nextSibling; var e4 = e3.nextSibling
equal(e4.innerHTML, 'E4') equal(e4.innerHTML, 'E4')
var e5 = e4.nextSibling; var e5 = e4.nextSibling
equal(e5.innerHTML, 'E5') equal(e5.innerHTML, 'E5')
var view2 = m('div', {}, [ var view2 = m('div', {}, [
m('div', {key:4}, 'E4'), m('div', {key:4}, 'E4'),
m('div', {key:10}, 'E10'), m('div', {key:10}, 'E10'),
m('div', {key:1}, 'E1'), m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'), m('div', {key:2}, 'E2')
]); ])
m.render(dummyEl, view2); m.render(dummyEl, view2)
equal(dummyEl.firstChild.firstChild, e4, 'e4 is first element'); equal(dummyEl.firstChild.firstChild, e4, 'e4 is first element')
equal(dummyEl.firstChild.firstChild.nextSibling.nextSibling, e1, 'e1 is third element'); equal(dummyEl.firstChild.firstChild.nextSibling.nextSibling, e1, 'e1 is third element')
equal(dummyEl.firstChild.firstChild.nextSibling.nextSibling.nextSibling, e2, 'e2 is fourth element'); equal(dummyEl.firstChild.firstChild.nextSibling.nextSibling.nextSibling, e2, 'e2 is fourth element')
})
})