You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte/test/runtime/samples/await-without-catch/_config.js

42 lines
816 B

import { create_deferred } from '../../../helpers.js';
let deferred;
export default {
before_test() {
deferred = create_deferred();
},
get props() {
return { promise: deferred.promise };
},
html: `
<p>loading...</p>
`,
expect_unhandled_rejections: true,
test({ assert, component, target }) {
deferred.resolve(42);
return deferred.promise
.then(() => {
assert.htmlEqual(target.innerHTML, '<p>loaded</p>');
deferred = create_deferred();
component.promise = deferred.promise;
assert.htmlEqual(target.innerHTML, '<p>loading...</p>');
deferred.reject(new Error('this error should be thrown'));
return deferred.promise;
})
.catch((err) => {
assert.equal(err.message, 'this error should be thrown');
assert.htmlEqual(target.innerHTML, '');
});
}
};