test(tools): cover a keyframe run by another module's mixin

Since #1795 the second reading also starts when an included mixin from
another module runs a keyframe that does not hold its frame. Its
references went through the same wrapper and were dropped the same way;
cover that path too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Opus 5.5 committed 2026-10-08 18:10:05 +02:00
1 parent 520fd0c069
commit 6be6357166
1 file changed
+15
+15
View File
@@ -4973,6 +4973,21 @@ test('follows a weight variable in either reading of a keyframe that does not ho
]) {
assert.deepEqual(report(source), expected, source);
}
// And where another module's mixin runs it.
for (const [run, expected] of [
['k 1ms', ['libs/s11/c.scss:2 $w: 700']],
['k 1ms forwards', []],
]) {
const face = `@mixin face { font-family: ${mono}; animation: ${run}; }`;
assert.deepEqual(
workspace({
'libs/s11/_type.scss': `${roboto}\n${face}`,
'libs/s11/c.scss': `@use 'type';\n$w: 700;\n.x { @include type.face; font-weight: $w; }`,
}),
expected,
run
);
}
});
test('reads an `@at-root` rule where Sass writes it out', () => {