Fixed formatting, removed semicolons from e2e test file
This commit is contained in:
parent
153d2384c8
commit
9b1461d31f
1 changed files with 124 additions and 131 deletions
|
|
@ -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.nextSibling.nextSibling, e1, 'e1 is third element');
|
|
||||||
equal(dummyEl.firstChild.firstChild.nextSibling.nextSibling.nextSibling, e2, 'e2 is fourth 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.nextSibling, e2, 'e2 is fourth element')
|
||||||
})
|
})
|
||||||
Loading…
Add table
Add a link
Reference in a new issue