Test promise-like catch

This commit is contained in:
Gilbert 2015-05-01 16:47:00 -05:00
parent dfb37fec9c
commit 2a61907839

View file

@ -3872,6 +3872,12 @@ function testMithril(mock) {
mock.XMLHttpRequest.$instances.pop().onreadystatechange()
return prop().message === "error occurred" && error().message === "error occurred"
})
test(function() {
var error = m.prop("no error")
var prop = m.request({method: "GET", url: "test", deserialize: function() {throw new Error("error occurred")}}).catch(error)
mock.XMLHttpRequest.$instances.pop().onreadystatechange()
return prop().message === "error occurred" && error().message === "error occurred"
})
test(function() {
var error = m.prop("no error"), exception
var prop = m.request({method: "GET", url: "test", deserialize: function() {throw new TypeError("error occurred")}}).then(null, error)
@ -4052,6 +4058,13 @@ function testMithril(mock) {
deferred.reject("test")
return value === "test"
})
test(function() {
var value
var deferred = m.deferred()
deferred.promise.catch(function(data) {value = data})
deferred.reject("test")
return value === "test"
})
test(function() {
var value
var deferred = m.deferred()
@ -4059,6 +4072,13 @@ function testMithril(mock) {
deferred.reject("test")
return value === "foo"
})
test(function() {
var value
var deferred = m.deferred()
deferred.promise.catch(function(data) {return "foo"}).then(function(data) {value = data})
deferred.reject("test")
return value === "foo"
})
test(function() {
var value1, value2
var deferred = m.deferred()
@ -4224,6 +4244,13 @@ function testMithril(mock) {
deferred1.resolve("test")
return value[0] === "test" && value[1] === "foo"
})
test(function() {
var value
var deferred = m.deferred()
m.sync([deferred.promise]).catch(function(data) {value = data})
deferred.reject("fail")
return value[0] === "fail"
})
test(function() {
var value = 1
m.sync([]).then(function() {value = 2})