promise prop resolution
This commit is contained in:
parent
7639444aa1
commit
6b62681da8
4 changed files with 168 additions and 76 deletions
|
|
@ -736,7 +736,7 @@ function testMithril(mock) {
|
|||
})
|
||||
mock.requestAnimationFrame.$resolve() //teardown
|
||||
m.redraw() //should run synchronously
|
||||
|
||||
|
||||
m.redraw() //rest should run asynchronously since they're spamming
|
||||
m.redraw()
|
||||
m.redraw()
|
||||
|
|
@ -1413,6 +1413,31 @@ function testMithril(mock) {
|
|||
var obj = {prop: m.prop("test")}
|
||||
return JSON.stringify(obj) === '{"prop":"test"}'
|
||||
})
|
||||
test(function() {
|
||||
var prop = m.prop({
|
||||
then: function(cb) {cb("test")}
|
||||
})
|
||||
return prop() === "test"
|
||||
})
|
||||
test(function() {
|
||||
var prop = m.prop({
|
||||
then: function() {}
|
||||
})
|
||||
|
||||
return prop() === undefined
|
||||
})
|
||||
test(function() {
|
||||
var promise = {
|
||||
then: function(cb) {this.cb = cb},
|
||||
resolve: function (x) {
|
||||
this.cb(x)
|
||||
}
|
||||
}
|
||||
var prop = m.prop(promise)
|
||||
promise.resolve("test")
|
||||
|
||||
return prop() === "test"
|
||||
})
|
||||
|
||||
//m.request
|
||||
test(function() {
|
||||
|
|
|
|||
|
|
@ -1,35 +1,40 @@
|
|||
function test(condition) {
|
||||
var duration = 0;
|
||||
var start = 0;
|
||||
var result = true;
|
||||
var duration = 0
|
||||
var start = 0
|
||||
var result = true
|
||||
test.total++
|
||||
|
||||
if (typeof performance != "undefined") {
|
||||
start = performance.now()
|
||||
}
|
||||
try {
|
||||
if (!condition()) throw new Error()
|
||||
}
|
||||
catch (e) {
|
||||
result = false
|
||||
console.error(e)
|
||||
test.failures.push(condition)
|
||||
}
|
||||
if (typeof performance != "undefined") {
|
||||
duration = performance.now() - start
|
||||
}
|
||||
|
||||
test_obj = {
|
||||
name: "" + test.total,
|
||||
result: result,
|
||||
duration: duration
|
||||
}
|
||||
|
||||
if (typeof window != "undefined") {
|
||||
if (typeof performance != "undefined") {
|
||||
start = performance.now();
|
||||
}
|
||||
try {if (!condition()) throw new Error}
|
||||
catch (e) {result = false;console.error(e);test.failures.push(condition)}
|
||||
if (typeof performance != "undefined") {
|
||||
duration = performance.now() - start;
|
||||
}
|
||||
|
||||
|
||||
test_obj = {
|
||||
name: "" + test.total,
|
||||
result: result,
|
||||
duration: duration
|
||||
}
|
||||
if (!result) {
|
||||
message: "failed: " + condition,
|
||||
window.global_test_results.tests.push(test_obj)
|
||||
}
|
||||
|
||||
window.global_test_results.duration += duration;
|
||||
window.global_test_results.duration += duration
|
||||
if (result) {
|
||||
window.global_test_results.passed++;
|
||||
window.global_test_results.passed++
|
||||
} else {
|
||||
window.global_test_results.failed++;
|
||||
window.global_test_results.failed++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue