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/transition-inert/_config.js

29 lines
1.1 KiB

export default {
async test({ assert, component, target, raf }) {
// jsdom doesn't set the inert attribute, and the transition checks if it exists, so set it manually to trigger the inert logic
target.querySelector('button.a').inert = false;
target.querySelector('button.b').inert = false;
// check and abort halfway through the outro transition
component.visible = false;
raf.tick(50);
assert.strictEqual(target.querySelector('button.a').inert, true);
assert.strictEqual(target.querySelector('button.b').inert, true);
component.visible = true;
assert.strictEqual(target.querySelector('button.a').inert, false);
assert.strictEqual(target.querySelector('button.b').inert, false);
// let it transition out completely and then back in
component.visible = false;
raf.tick(101);
component.visible = true;
raf.tick(50);
assert.strictEqual(target.querySelector('button.a').inert, false);
assert.strictEqual(target.querySelector('button.b').inert, false);
raf.tick(51);
assert.strictEqual(target.querySelector('button.a').inert, false);
assert.strictEqual(target.querySelector('button.b').inert, false);
}
};