diff --git a/tests/e2e/tests.js b/tests/e2e/tests.js
index d80c1e33..a5c29e34 100644
--- a/tests/e2e/tests.js
+++ b/tests/e2e/tests.js
@@ -1,30 +1,31 @@
//saucelabs reporting; see https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
-var log = [];
-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;
+var log = []
+var testName
- 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.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.testStart(function (testDetails) {
+ QUnit.log(function (details) {
+ if (!details.result) {
+ details.name = testDetails.name
+ log.push(details)
+ }
+ })
+})
//qunit doesn't support Function.prototype.bind...
if (!Function.prototype.bind) {
@@ -32,213 +33,205 @@ if (!Function.prototype.bind) {
if (typeof this !== "function") {
// closest thing possible to the ECMAScript 5
// 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),
- fToBind = this,
- fNOP = function () {},
- fBound = function () {
- return fToBind.apply(this instanceof fNOP && oThis
- ? this
- : oThis,
- aArgs.concat(Array.prototype.slice.call(arguments)));
- };
+ var aArgs = Array.prototype.slice.call(arguments, 1),
+ fToBind = this,
+ fNOP = function () {},
+ fBound = function () {
+ return fToBind.apply(this instanceof fNOP && oThis
+ ? this
+ : oThis,
+ aArgs.concat(Array.prototype.slice.call(arguments)))
+ }
- fNOP.prototype = this.prototype;
- fBound.prototype = new fNOP();
+ fNOP.prototype = this.prototype
+ fBound.prototype = new fNOP()
- return fBound;
- };
+ return fBound
+ }
}
-
-
//tests
var dummyEl = document.getElementById('dummy')
test('Mithril accessible as window.m', function() {
- expect(1);
- ok(window.m);
-});
-
+ expect(1)
+ ok(window.m)
+})
test('array item removal', function() {
- expect(2);
+ expect(2)
var view1 = m('div', {}, [
m('div', {}, '0'),
m('div', {}, '1'),
m('div', {}, '2')
- ]);
+ ])
var view2= m('div', {}, [
- m('div', {}, '0'),
- ]);
+ m('div', {}, '0')
+ ])
- m.render(dummyEl, view1);
- equal(dummyEl.innerHTML, '
', 'view1 rendered correctly');
+ m.render(dummyEl, view1)
+ equal(dummyEl.innerHTML, '', 'view1 rendered correctly')
- m.render(dummyEl, view2);
- equal(dummyEl.innerHTML, '', 'view2 should be rendered correctly');
-
-});
+ m.render(dummyEl, view2)
+ equal(dummyEl.innerHTML, '', 'view2 should be rendered correctly')
+})
test('issue99 regression', function() {
// see https://github.com/lhorie/mithril.js/issues/99
- expect(2);
+ expect(2)
var view1 = m('div', {}, [
m('div', {}, '0'),
m('div', {}, '1'),
m('div', {}, '2')
- ]);
+ ])
var view2= m('div', {}, [
- m('span', {}, '0'),
- ]);
+ m('span', {}, '0')
+ ])
- m.render(dummyEl, view1);
- equal(dummyEl.innerHTML, '', 'view1 rendered correctly');
+ m.render(dummyEl, view1)
+ equal(dummyEl.innerHTML, '', 'view1 rendered correctly')
- m.render(dummyEl, view2);
- equal(dummyEl.innerHTML, '0
', 'view2 should be rendered correctly');
-});
+ m.render(dummyEl, view2)
+ equal(dummyEl.innerHTML, '0
', 'view2 should be rendered correctly')
+})
test('config handler context', function() {
- expect(3);
- var view = m('div', {config: function(evt, isInitialized, context){
- equal(context instanceof Object, true);
- context.data = 1;
+ expect(3)
+ var view = m('div', {config: function(evt, isInitialized, context) {
+ equal(context instanceof Object, true)
+ context.data = 1
}})
- m.render(dummyEl, view);
+ m.render(dummyEl, view)
- var view = m('div', {config: function(evt, isInitialized, context){
- equal(context instanceof Object, true);
- equal(context.data, 1);
+ var view = m('div', {config: function(evt, isInitialized, context) {
+ equal(context instanceof Object, true)
+ equal(context.data, 1)
}})
- m.render(dummyEl, view);
+ m.render(dummyEl, view)
})
test('node identity remove firstChild', function() {
- expect(2);
+ expect(2)
var view1 = m('div', {}, [
m('div', {key:1}, 'E1'),
- m('div', {key:2}, 'E2'),
- ]);
- m.render(dummyEl, view1);
+ m('div', {key:2}, 'E2')
+ ])
+ m.render(dummyEl, view1)
- var node2 = dummyEl.firstChild.lastChild;
+ var node2 = dummyEl.firstChild.lastChild
equal(node2.innerHTML, 'E2')
var view2 = m('div', {}, [
- m('div', {key:2}, 'E2'),
- ]);
- m.render(dummyEl, view2);
-
- equal(dummyEl.firstChild.firstChild, node2);
+ m('div', {key:2}, 'E2')
+ ])
+ m.render(dummyEl, view2)
+ equal(dummyEl.firstChild.firstChild, node2)
})
test('node identity change order', function() {
- expect(2);
+ expect(2)
var view1 = m('div', {}, [
m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'),
- m('div', {key:3}, 'E3'),
- ]);
- m.render(dummyEl, view1);
+ m('div', {key:3}, 'E3')
+ ])
+ m.render(dummyEl, view1)
- var e2 = dummyEl.firstChild.firstChild.nextSibling;
+ var e2 = dummyEl.firstChild.firstChild.nextSibling
equal(e2.innerHTML, 'E2')
var view2 = m('div', {}, [
m('div', {key:2}, 'E2'),
m('div', {key:1}, 'E1'),
- m('div', {key:3}, 'E3'),
- ]);
- m.render(dummyEl, view2);
+ m('div', {key:3}, 'E3')
+ ])
+ m.render(dummyEl, view2)
- equal(dummyEl.firstChild.firstChild, e2);
+ equal(dummyEl.firstChild.firstChild, e2)
})
test('node identity remove in the middle', function() {
- expect(2);
+ expect(2)
var view1 = m('div', {}, [
m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'),
- m('div', {key:3}, 'E3'),
- ]);
- m.render(dummyEl, view1);
+ m('div', {key:3}, 'E3')
+ ])
+ m.render(dummyEl, view1)
- var e3 = dummyEl.firstChild.lastChild;
+ var e3 = dummyEl.firstChild.lastChild
equal(e3.innerHTML, 'E3')
var view2 = m('div', {}, [
m('div', {key:1}, 'E1'),
- m('div', {key:3}, 'E3'),
- ]);
- m.render(dummyEl, view2);
-
- equal(dummyEl.firstChild.firstChild.nextSibling, e3);
+ m('div', {key:3}, 'E3')
+ ])
+ m.render(dummyEl, view2)
+ equal(dummyEl.firstChild.firstChild.nextSibling, e3)
})
test('node identity remove last', function() {
- expect(4);
+ expect(4)
var view1 = m('div', {}, [
m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'),
- m('div', {key:3}, 'E3'),
- ]);
- m.render(dummyEl, view1);
+ m('div', {key:3}, 'E3')
+ ])
+ m.render(dummyEl, view1)
- var e1 = dummyEl.firstChild.firstChild;
+ var e1 = dummyEl.firstChild.firstChild
equal(e1.innerHTML, 'E1')
- var e2 = dummyEl.firstChild.firstChild.nextSibling;
+ var e2 = dummyEl.firstChild.firstChild.nextSibling
equal(e2.innerHTML, 'E2')
var view2 = m('div', {}, [
m('div', {key:1}, 'E1'),
- m('div', {key:2}, 'E2'),
- ]);
- m.render(dummyEl, view2);
-
- equal(dummyEl.firstChild.firstChild, e1);
- equal(dummyEl.firstChild.firstChild.nextSibling, e2);
+ m('div', {key:2}, 'E2')
+ ])
+ m.render(dummyEl, view2)
+ equal(dummyEl.firstChild.firstChild, e1)
+ equal(dummyEl.firstChild.firstChild.nextSibling, e2)
})
test('node identity shuffle and remove', function() {
- expect(8);
+ expect(8)
var view1 = m('div', {}, [
m('div', {key:1}, 'E1'),
m('div', {key:2}, 'E2'),
m('div', {key:3}, 'E3'),
m('div', {key:4}, 'E4'),
- m('div', {key:5}, 'E5'),
- ]);
- m.render(dummyEl, view1);
+ m('div', {key:5}, 'E5')
+ ])
+ m.render(dummyEl, view1)
- var e1 = dummyEl.firstChild.firstChild;
+ var e1 = dummyEl.firstChild.firstChild
equal(e1.innerHTML, 'E1')
- var e2 = e1.nextSibling;
+ var e2 = e1.nextSibling
equal(e2.innerHTML, 'E2')
- var e3 = e2.nextSibling;
+ var e3 = e2.nextSibling
equal(e3.innerHTML, 'E3')
- var e4 = e3.nextSibling;
+ var e4 = e3.nextSibling
equal(e4.innerHTML, 'E4')
- var e5 = e4.nextSibling;
+ var e5 = e4.nextSibling
equal(e5.innerHTML, 'E5')
var view2 = m('div', {}, [
m('div', {key:4}, 'E4'),
m('div', {key:10}, 'E10'),
m('div', {key:1}, 'E1'),
- m('div', {key:2}, 'E2'),
- ]);
- m.render(dummyEl, view2);
+ m('div', {key:2}, 'E2')
+ ])
+ m.render(dummyEl, view2)
- 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.nextSibling, e2, 'e2 is fourth element');
-
-})
\ No newline at end of file
+ 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.nextSibling, e2, 'e2 is fourth element')
+})