"use strict"; // Helper functions to be used from load-error-events*.html tests. function event_test(name, load_to_be_fired, error_to_be_fired) { return { test: async_test(name), executed: false, load_event_to_be_fired: load_to_be_fired, error_event_to_be_fired: error_to_be_fired }; } // Should be used as load/error event handlers of script tags, // with |t| = the object returned by event_test(). function onLoad(t) { t.test.step(function() { if (t.load_event_to_be_fired) { assert_true(t.executed, 'Load event should be fired after script execution'); // Delay done() a little so that if an error event happens // the assert_unreached is reached and fails the test. t.test.step_timeout(() => t.test.done(), 100); } else { assert_unreached('Load event should not be fired.'); } }); }; function onError(t) { t.test.step(function() { if (t.error_event_to_be_fired) { assert_false(t.executed); // Delay done() a little so that if a load event happens // the assert_unreached is reached and fails the test. t.test.step_timeout(() => t.test.done(), 100); } else { assert_unreached('Error event should not be fired.'); } }); }; // To be called from inline scripts, which expect no load/error events. function onExecute(t) { t.executed = true; // Delay done() a little so that if a load/error event happens // the assert_unreached is reached and fails the test. t.test.step_timeout(() => t.test.done(), 100); }