// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

js> load('testsrc/doctests/util.js')
js> var str = Error.prototype.toString
js> str.call(new TypeError("msg"))
TypeError: msg
js> str.call(new TypeError()) // message is initialised to ''
TypeError
js> str.call(new Error("msg"))
Error: msg
js> str.call(new Error()) // message is initialised to ''
Error
js> str.call({name:"my error", message:"my message"})
my error: my message
js> str.call({})
Error
js> str.call({name:"no message defined"})
no message defined
js> str.call({name:"message is undefined", message:undefined})
message is undefined
js> str.call({name:"null message", message:null})
null message: null
js> str.call({message:"no name defined"})
Error: no name defined
js> str.call({name:undefined, message:"name is undefined"})
Error: name is undefined
js> str.call({name:null, message:"null name"})
null: null name
