Clean up tests, resolve style differences, reduce upstream diff
This is in preparation for a PR, to reduce potential for merge conflicts with either my PR or others', since mine will modify a large amount of the main file.
This commit is contained in:
parent
565f9cf334
commit
3de01a1554
14 changed files with 1987 additions and 3578 deletions
|
|
@ -1,13 +1,8 @@
|
|||
/* eslint-disable camelcase */
|
||||
/* global m, Syn */
|
||||
|
||||
// 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 = []
|
||||
|
||||
QUnit.done(function (test_results) {
|
||||
"use strict"
|
||||
var tests = []
|
||||
for (var i = 0, len = log.length; i < len; i++) {
|
||||
var details = log[i]
|
||||
|
|
@ -24,7 +19,6 @@ QUnit.done(function (test_results) {
|
|||
window.global_test_results = test_results
|
||||
})
|
||||
QUnit.testStart(function (testDetails) {
|
||||
"use strict"
|
||||
QUnit.log(function (details) {
|
||||
if (!details.result) {
|
||||
details.name = testDetails.name
|
||||
|
|
@ -33,11 +27,9 @@ QUnit.testStart(function (testDetails) {
|
|||
})
|
||||
})
|
||||
|
||||
// qunit doesn't support Function.prototype.bind...
|
||||
//qunit doesn't support Function.prototype.bind...
|
||||
if (!Function.prototype.bind) {
|
||||
/* eslint-disable */
|
||||
Function.prototype.bind = function (oThis) {
|
||||
"use strict"
|
||||
if (typeof this !== "function") {
|
||||
// closest thing possible to the ECMAScript 5
|
||||
// internal IsCallable function
|
||||
|
|
@ -59,181 +51,165 @@ if (!Function.prototype.bind) {
|
|||
|
||||
return fBound
|
||||
}
|
||||
/* eslint-enable */
|
||||
}
|
||||
|
||||
//tests
|
||||
var dummyEl = document.getElementById("dummy")
|
||||
var dummyEl = document.getElementById('dummy')
|
||||
|
||||
test("Mithril accessible as window.m", function() {
|
||||
"use strict"
|
||||
test('Mithril accessible as window.m', function() {
|
||||
expect(1)
|
||||
ok(window.m)
|
||||
})
|
||||
|
||||
test("m.trust w/ html entities", function() {
|
||||
"use strict"
|
||||
test('m.trust w/ html entities', function() {
|
||||
expect(1)
|
||||
var view1 = m("div", "a", m.trust("&"), "b")
|
||||
var view1 = m('div', "a", m.trust("&"), "b")
|
||||
|
||||
m.render(dummyEl, view1)
|
||||
equal(dummyEl.innerHTML, "<div>a&b</div>", "view1 rendered correctly")
|
||||
equal(dummyEl.innerHTML, '<div>a&b</div>', 'view1 rendered correctly')
|
||||
})
|
||||
|
||||
test("m.trust w/ html entities 2", function() {
|
||||
"use strict"
|
||||
test('m.trust w/ html entities 2', function() {
|
||||
expect(1)
|
||||
var view1 = m("div", "a", m.trust("&"), "b", m.trust("&"), "c")
|
||||
var view1 = m('div', "a", m.trust("&"), "b", m.trust("&"), "c")
|
||||
|
||||
m.render(dummyEl, view1)
|
||||
equal(dummyEl.innerHTML, "<div>a&b&c</div>",
|
||||
"view1 rendered correctly")
|
||||
equal(dummyEl.innerHTML, '<div>a&b&c</div>', 'view1 rendered correctly')
|
||||
})
|
||||
|
||||
test("array item removal", function() {
|
||||
"use strict"
|
||||
test('array item removal', function() {
|
||||
expect(2)
|
||||
var view1 = m("div", {}, [
|
||||
m("div", {}, "0"),
|
||||
m("div", {}, "1"),
|
||||
m("div", {}, "2")
|
||||
var view1 = m('div', {}, [
|
||||
m('div', {}, '0'),
|
||||
m('div', {}, '1'),
|
||||
m('div', {}, '2')
|
||||
])
|
||||
|
||||
var view2 = m("div", {}, [
|
||||
m("div", {}, "0")
|
||||
var view2 = m('div', {}, [
|
||||
m('div', {}, '0')
|
||||
])
|
||||
|
||||
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)
|
||||
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() {
|
||||
"use strict"
|
||||
test('issue99 regression', function() {
|
||||
// see https://github.com/lhorie/mithril.js/issues/99
|
||||
expect(2)
|
||||
var view1 = m("div", {}, [
|
||||
m("div", {}, "0"),
|
||||
m("div", {}, "1"),
|
||||
m("div", {}, "2")
|
||||
var view1 = m('div', {}, [
|
||||
m('div', {}, '0'),
|
||||
m('div', {}, '1'),
|
||||
m('div', {}, '2')
|
||||
])
|
||||
|
||||
var view2 = m("div", {}, [
|
||||
m("span", {}, "0")
|
||||
var view2 = m('div', {}, [
|
||||
m('span', {}, '0')
|
||||
])
|
||||
|
||||
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)
|
||||
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() {
|
||||
"use strict"
|
||||
test('config handler context', function() {
|
||||
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)
|
||||
context.data = 1
|
||||
}})
|
||||
m.render(dummyEl, view)
|
||||
|
||||
view = m("div", {config: function(evt, isInitialized, context) {
|
||||
view = m('div', {config: function(evt, isInitialized, context) {
|
||||
equal(context instanceof Object, true)
|
||||
equal(context.data, 1)
|
||||
}})
|
||||
m.render(dummyEl, view)
|
||||
})
|
||||
|
||||
test("node identity remove firstChild", function() {
|
||||
"use strict"
|
||||
test('node identity remove firstChild', function() {
|
||||
expect(2)
|
||||
var view1 = m("div", {}, [
|
||||
m("div", {key: 1}, "E1"),
|
||||
m("div", {key: 2}, "E2")
|
||||
var view1 = m('div', {}, [
|
||||
m('div', {key:1}, 'E1'),
|
||||
m('div', {key:2}, 'E2')
|
||||
])
|
||||
m.render(dummyEl, view1)
|
||||
|
||||
var node2 = dummyEl.firstChild.lastChild
|
||||
equal(node2.innerHTML, "E2")
|
||||
equal(node2.innerHTML, 'E2')
|
||||
|
||||
var view2 = m("div", {}, [
|
||||
m("div", {key: 2}, "E2")
|
||||
var view2 = m('div', {}, [
|
||||
m('div', {key:2}, 'E2')
|
||||
])
|
||||
m.render(dummyEl, view2)
|
||||
|
||||
equal(dummyEl.firstChild.firstChild, node2)
|
||||
})
|
||||
|
||||
test("node identity change order", function() {
|
||||
"use strict"
|
||||
test('node identity change order', function() {
|
||||
expect(2)
|
||||
var view1 = m("div", {}, [
|
||||
m("div", {key: 1}, "E1"),
|
||||
m("div", {key: 2}, "E2"),
|
||||
m("div", {key: 3}, "E3")
|
||||
var view1 = m('div', {}, [
|
||||
m('div', {key:1}, 'E1'),
|
||||
m('div', {key:2}, 'E2'),
|
||||
m('div', {key:3}, 'E3')
|
||||
])
|
||||
m.render(dummyEl, view1)
|
||||
|
||||
var e2 = dummyEl.firstChild.firstChild.nextSibling
|
||||
equal(e2.innerHTML, "E2")
|
||||
equal(e2.innerHTML, 'E2')
|
||||
|
||||
var view2 = m("div", {}, [
|
||||
m("div", {key: 2}, "E2"),
|
||||
m("div", {key: 1}, "E1"),
|
||||
m("div", {key: 3}, "E3")
|
||||
var view2 = m('div', {}, [
|
||||
m('div', {key:2}, 'E2'),
|
||||
m('div', {key:1}, 'E1'),
|
||||
m('div', {key:3}, 'E3')
|
||||
])
|
||||
m.render(dummyEl, view2)
|
||||
|
||||
equal(dummyEl.firstChild.firstChild, e2)
|
||||
})
|
||||
|
||||
test("node identity remove in the middle", function() {
|
||||
"use strict"
|
||||
test('node identity remove in the middle', function() {
|
||||
expect(2)
|
||||
var view1 = m("div", {}, [
|
||||
m("div", {key: 1}, "E1"),
|
||||
m("div", {key: 2}, "E2"),
|
||||
m("div", {key: 3}, "E3")
|
||||
var view1 = m('div', {}, [
|
||||
m('div', {key:1}, 'E1'),
|
||||
m('div', {key:2}, 'E2'),
|
||||
m('div', {key:3}, 'E3')
|
||||
])
|
||||
m.render(dummyEl, view1)
|
||||
|
||||
var e3 = dummyEl.firstChild.lastChild
|
||||
equal(e3.innerHTML, "E3")
|
||||
equal(e3.innerHTML, 'E3')
|
||||
|
||||
var view2 = m("div", {}, [
|
||||
m("div", {key: 1}, "E1"),
|
||||
m("div", {key: 3}, "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)
|
||||
})
|
||||
|
||||
test("node identity remove last", function() {
|
||||
"use strict"
|
||||
test('node identity remove last', function() {
|
||||
expect(4)
|
||||
var view1 = m("div", {}, [
|
||||
m("div", {key: 1}, "E1"),
|
||||
m("div", {key: 2}, "E2"),
|
||||
m("div", {key: 3}, "E3")
|
||||
var view1 = m('div', {}, [
|
||||
m('div', {key:1}, 'E1'),
|
||||
m('div', {key:2}, 'E2'),
|
||||
m('div', {key:3}, 'E3')
|
||||
])
|
||||
m.render(dummyEl, view1)
|
||||
|
||||
var e1 = dummyEl.firstChild.firstChild
|
||||
equal(e1.innerHTML, "E1")
|
||||
equal(e1.innerHTML, 'E1')
|
||||
var e2 = dummyEl.firstChild.firstChild.nextSibling
|
||||
equal(e2.innerHTML, "E2")
|
||||
equal(e2.innerHTML, 'E2')
|
||||
|
||||
var view2 = m("div", {}, [
|
||||
m("div", {key: 1}, "E1"),
|
||||
m("div", {key: 2}, "E2")
|
||||
var view2 = m('div', {}, [
|
||||
m('div', {key:1}, 'E1'),
|
||||
m('div', {key:2}, 'E2')
|
||||
])
|
||||
m.render(dummyEl, view2)
|
||||
|
||||
|
|
@ -241,176 +217,168 @@ test("node identity remove last", function() {
|
|||
equal(dummyEl.firstChild.firstChild.nextSibling, e2)
|
||||
})
|
||||
|
||||
test("node identity shuffle and remove", function() {
|
||||
"use strict"
|
||||
test('node identity shuffle and remove', function() {
|
||||
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")
|
||||
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)
|
||||
|
||||
var e1 = dummyEl.firstChild.firstChild
|
||||
equal(e1.innerHTML, "E1")
|
||||
equal(e1.innerHTML, 'E1')
|
||||
var e2 = e1.nextSibling
|
||||
equal(e2.innerHTML, "E2")
|
||||
equal(e2.innerHTML, 'E2')
|
||||
var e3 = e2.nextSibling
|
||||
equal(e3.innerHTML, "E3")
|
||||
equal(e3.innerHTML, 'E3')
|
||||
var e4 = e3.nextSibling
|
||||
equal(e4.innerHTML, "E4")
|
||||
equal(e4.innerHTML, 'E4')
|
||||
var e5 = e4.nextSibling
|
||||
equal(e5.innerHTML, "E5")
|
||||
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")
|
||||
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)
|
||||
|
||||
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')
|
||||
})
|
||||
|
||||
asyncTest("issue214 regression", function() {
|
||||
"use strict"
|
||||
asyncTest('issue214 regression', function() {
|
||||
// see https://github.com/lhorie/mithril.js/issues/214
|
||||
expect(2)
|
||||
|
||||
function controller() {
|
||||
this.inputValue = m.prop("")
|
||||
this.inputValue = m.prop('')
|
||||
}
|
||||
|
||||
function view(ctrl) {
|
||||
return m("input#testinput", {
|
||||
return m('input#testinput', {
|
||||
value: ctrl.inputValue(),
|
||||
onkeyup: m.withAttr("value", ctrl.inputValue)
|
||||
onkeyup: m.withAttr('value', ctrl.inputValue)
|
||||
})
|
||||
}
|
||||
|
||||
var ctrl = m.module(dummyEl, { controller: controller, view: view })
|
||||
|
||||
Syn.click({}, "testinput")
|
||||
.type("0").delay(10)
|
||||
.type("1").delay(10)
|
||||
.type("2").delay(10)
|
||||
.type("3").delay(10)
|
||||
.type("4").delay(10)
|
||||
.type("5").delay(10)
|
||||
.type("6").delay(10)
|
||||
.type("7").delay(10)
|
||||
.type("8").delay(10)
|
||||
.type("9").delay(10)
|
||||
.type("a").delay(10)
|
||||
.type("b").delay(10)
|
||||
.type("c").delay(10)
|
||||
.type("d").delay(10)
|
||||
.type("e").delay(10)
|
||||
.type("f").delay(10)
|
||||
.type("0").delay(10)
|
||||
.type("1").delay(10)
|
||||
.type("2").delay(10)
|
||||
.type("3").delay(10)
|
||||
.type("4").delay(10)
|
||||
.type("5").delay(10)
|
||||
.type("6").delay(10)
|
||||
.type("7").delay(10)
|
||||
.type("8").delay(10)
|
||||
.type("9").delay(10)
|
||||
.type("a").delay(10)
|
||||
.type("b").delay(10)
|
||||
.type("c").delay(10)
|
||||
.type("d").delay(10)
|
||||
.type("e").delay(10)
|
||||
.type("f").delay(10)
|
||||
.type("0").delay(10)
|
||||
.type("1").delay(10)
|
||||
.type("2").delay(10)
|
||||
.type("3").delay(10)
|
||||
.type("4").delay(10)
|
||||
.type("5").delay(10)
|
||||
.type("6").delay(10)
|
||||
.type("7").delay(10)
|
||||
.type("8").delay(10)
|
||||
.type("9").delay(10)
|
||||
.type("a").delay(10)
|
||||
.type("b").delay(10)
|
||||
.type("c").delay(10)
|
||||
.type("d").delay(10)
|
||||
.type("e").delay(10)
|
||||
.type("f").delay(10)
|
||||
.type("0").delay(10)
|
||||
.type("1").delay(10)
|
||||
.type("2").delay(10)
|
||||
.type("3").delay(10)
|
||||
.type("4").delay(10)
|
||||
.type("5").delay(10)
|
||||
.type("6").delay(10)
|
||||
.type("7").delay(10)
|
||||
.type("8").delay(10)
|
||||
.type("9").delay(10)
|
||||
.type("a").delay(10)
|
||||
.type("b").delay(10)
|
||||
.type("c").delay(10)
|
||||
.type("d").delay(10)
|
||||
.type("e").delay(10)
|
||||
.type("f", function() {
|
||||
equal(ctrl.inputValue(),
|
||||
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef")
|
||||
equal(document.getElementById("testinput").value,
|
||||
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef")
|
||||
Syn.click({}, 'testinput')
|
||||
.type('0').delay(10)
|
||||
.type('1').delay(10)
|
||||
.type('2').delay(10)
|
||||
.type('3').delay(10)
|
||||
.type('4').delay(10)
|
||||
.type('5').delay(10)
|
||||
.type('6').delay(10)
|
||||
.type('7').delay(10)
|
||||
.type('8').delay(10)
|
||||
.type('9').delay(10)
|
||||
.type('a').delay(10)
|
||||
.type('b').delay(10)
|
||||
.type('c').delay(10)
|
||||
.type('d').delay(10)
|
||||
.type('e').delay(10)
|
||||
.type('f').delay(10)
|
||||
.type('0').delay(10)
|
||||
.type('1').delay(10)
|
||||
.type('2').delay(10)
|
||||
.type('3').delay(10)
|
||||
.type('4').delay(10)
|
||||
.type('5').delay(10)
|
||||
.type('6').delay(10)
|
||||
.type('7').delay(10)
|
||||
.type('8').delay(10)
|
||||
.type('9').delay(10)
|
||||
.type('a').delay(10)
|
||||
.type('b').delay(10)
|
||||
.type('c').delay(10)
|
||||
.type('d').delay(10)
|
||||
.type('e').delay(10)
|
||||
.type('f').delay(10)
|
||||
.type('0').delay(10)
|
||||
.type('1').delay(10)
|
||||
.type('2').delay(10)
|
||||
.type('3').delay(10)
|
||||
.type('4').delay(10)
|
||||
.type('5').delay(10)
|
||||
.type('6').delay(10)
|
||||
.type('7').delay(10)
|
||||
.type('8').delay(10)
|
||||
.type('9').delay(10)
|
||||
.type('a').delay(10)
|
||||
.type('b').delay(10)
|
||||
.type('c').delay(10)
|
||||
.type('d').delay(10)
|
||||
.type('e').delay(10)
|
||||
.type('f').delay(10)
|
||||
.type('0').delay(10)
|
||||
.type('1').delay(10)
|
||||
.type('2').delay(10)
|
||||
.type('3').delay(10)
|
||||
.type('4').delay(10)
|
||||
.type('5').delay(10)
|
||||
.type('6').delay(10)
|
||||
.type('7').delay(10)
|
||||
.type('8').delay(10)
|
||||
.type('9').delay(10)
|
||||
.type('a').delay(10)
|
||||
.type('b').delay(10)
|
||||
.type('c').delay(10)
|
||||
.type('d').delay(10)
|
||||
.type('e').delay(10)
|
||||
.type('f', function() {
|
||||
equal(ctrl.inputValue(), '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef')
|
||||
equal(document.getElementById('testinput').value, '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef')
|
||||
start()
|
||||
})
|
||||
})
|
||||
|
||||
asyncTest("issue288 regression", function() {
|
||||
"use strict"
|
||||
asyncTest('issue288 regression', function() {
|
||||
// see https://github.com/lhorie/mithril.js/issues/288
|
||||
expect(2)
|
||||
|
||||
function controller() {
|
||||
this.inputValue = m.prop("")
|
||||
this.inputValue = m.prop('')
|
||||
|
||||
this.submit = function() {
|
||||
if (this.inputValue()) {
|
||||
this.inputValue("")
|
||||
this.inputValue('')
|
||||
}
|
||||
}.bind(this)
|
||||
}.bind(this);
|
||||
}
|
||||
|
||||
function view(ctrl) {
|
||||
return m("form", { onsubmit: ctrl.submit }, [
|
||||
m("input#testinput", {
|
||||
onkeyup: m.withAttr("value", ctrl.inputValue),
|
||||
return m('form', { onsubmit: ctrl.submit }, [
|
||||
m('input#testinput', {
|
||||
onkeyup: m.withAttr('value', ctrl.inputValue),
|
||||
value: ctrl.inputValue()
|
||||
}),
|
||||
m("button[type=submit]")
|
||||
m('button[type=submit]')
|
||||
])
|
||||
}
|
||||
|
||||
var ctrl = m.module(dummyEl, { controller: controller, view: view })
|
||||
|
||||
Syn.click({}, "testinput")
|
||||
.type("a").delay(10)
|
||||
.type("b").delay(10)
|
||||
.type("c").delay(10)
|
||||
.type("d").delay(10)
|
||||
.type("[enter]", function() {
|
||||
equal(ctrl.inputValue(), "")
|
||||
equal(document.getElementById("testinput").value, "")
|
||||
Syn.click({}, 'testinput')
|
||||
.type('a').delay(10)
|
||||
.type('b').delay(10)
|
||||
.type('c').delay(10)
|
||||
.type('d').delay(10)
|
||||
.type('[enter]', function() {
|
||||
equal(ctrl.inputValue(), '')
|
||||
equal(document.getElementById('testinput').value, '')
|
||||
start()
|
||||
})
|
||||
})
|
||||
|
||||
test("issue278 regression", function() {
|
||||
"use strict"
|
||||
test('issue278 regression', function() {
|
||||
// see https://github.com/lhorie/mithril.js/issues/278
|
||||
expect(1)
|
||||
|
||||
|
|
@ -421,24 +389,22 @@ test("issue278 regression", function() {
|
|||
},
|
||||
|
||||
view: function(ctrl) {
|
||||
return m("select#testselect", {
|
||||
return m('select#testselect', {
|
||||
size: ctrl.values.length,
|
||||
multiple: "multiple"
|
||||
multiple: 'multiple'
|
||||
}, [
|
||||
ctrl.values.map(function(v){
|
||||
var opts = {value: v}
|
||||
if (ctrl.value().indexOf(v) !== -1) {
|
||||
opts.selected = "selected"
|
||||
}
|
||||
return m("option", opts, v)
|
||||
if (ctrl.value().indexOf(v) !== -1) opts.selected = 'selected'
|
||||
return m('option', opts, v)
|
||||
})
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
m.render(dummyEl, test.view(new test.controller()))
|
||||
m.render(dummyEl, test.view(new test.controller))
|
||||
|
||||
var select = document.getElementById("testselect")
|
||||
var select = document.getElementById('testselect')
|
||||
|
||||
for (var i = 0, selected = 0; i < select.options.length; i++) {
|
||||
if (select.options[i].selected) selected++
|
||||
|
|
@ -447,30 +413,25 @@ test("issue278 regression", function() {
|
|||
equal(selected, 2)
|
||||
})
|
||||
test("mixing trusted content", function() {
|
||||
"use strict"
|
||||
m.render(dummyEl, [m.trust("<p>1</p><p>2</p>"), m("i", "foo")])
|
||||
equal(dummyEl.childNodes[2].nodeName, "I")
|
||||
})
|
||||
test("mixing trusted content w/ text nodes", function() {
|
||||
"use strict"
|
||||
m.render(dummyEl, [m.trust("<p>1</p>123<p>2</p>"), m("i", "foo")])
|
||||
equal(dummyEl.childNodes[3].nodeName, "I")
|
||||
})
|
||||
test("mixing trusted content w/ td", function() {
|
||||
"use strict"
|
||||
m.render(dummyEl, [m.trust("<td>1</td><td>2</td>"), m("i", "foo")])
|
||||
equal(dummyEl.childNodes[1].nodeName, "I")
|
||||
})
|
||||
|
||||
test("0 should not be treated as empty string", function() {
|
||||
"use strict"
|
||||
m.render(dummyEl, m("input", {value: ""}))
|
||||
m.render(dummyEl, m("input", {value: 0}))
|
||||
equal(dummyEl.childNodes[0].value, "0")
|
||||
})
|
||||
|
||||
test("empty value in <option> should show as attribute", function() {
|
||||
"use strict"
|
||||
m.render(dummyEl, m("select", m("option", {value: ""}, "aaa")))
|
||||
equal(dummyEl.childNodes[0].innerHTML, '<option value="">aaa</option>')
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue