blob: 229c680a82d1be46b0a5d90108904be3d315f351 [file] [log] [blame]
Test that WebKitMutationObserver.observe throws exceptions appropriately
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS observer.observe() threw exception TypeError: Not enough arguments.
PASS observer.observe(null) threw exception TypeError: Argument 1 ('target') to MutationObserver.observe must be an instance of Node.
PASS observer.observe(undefined) threw exception TypeError: Argument 1 ('target') to MutationObserver.observe must be an instance of Node.
PASS observer.observe(document.body) threw exception TypeError: Type error.
PASS observer.observe(document.body, null) threw exception TypeError: Type error.
PASS observer.observe(document.body, undefined) threw exception TypeError: Type error.
PASS observer.observe(null, {attributes: true}) threw exception TypeError: Argument 1 ('target') to MutationObserver.observe must be an instance of Node.
PASS observer.observe(undefined, {attributes: true}) threw exception TypeError: Argument 1 ('target') to MutationObserver.observe must be an instance of Node.
PASS observer.observe(document.body, {subtree: true}) threw exception TypeError: Type error.
PASS observer.observe(document.body, {childList: true, attributeOldValue: true}) did not throw exception.
PASS observer.observe(document.body, {attributes: true, characterDataOldValue: true}) did not throw exception.
PASS observer.observe(document.body, {characterData: true, attributeFilter: ["id"]}) did not throw exception.
PASS observer.observe(document.body, {attributes: false, attributeOldValue: true}) threw exception TypeError: Type error.
PASS observer.observe(document.body, {attributes: false, attributeFilter: ["id"]}) threw exception TypeError: Type error.
PASS observer.observe(document.body, {characterData: false, characterDataOldValue: true}) threw exception TypeError: Type error.
PASS observer.observe(document.body, {attributeFilter: 1}) threw exception TypeError: Value is not a sequence.
PASS observer.observe(document.body, {attributeFilter: "abc"}) threw exception TypeError: Value is not a sequence.
PASS x = { [Symbol.iterator]: function* () { yield "foo"; } }; observer.observe(document.body, {attributeFilter: x}) did not throw exception.
PASS x = { [Symbol.iterator]: 1 }; observer.observe(document.body, {attributeFilter: x}) threw exception TypeError: Type error.
PASS x = { [Symbol.iterator]: null }; observer.observe(document.body, {attributeFilter: x}) threw exception TypeError: Type error.
PASS x = { [Symbol.iterator]: function* () { throw {name: "error", toString: () => "error"}; } }; observer.observe(document.body, {attributeFilter: x}) threw exception error.
PASS successfullyParsed is true
TEST COMPLETE