css-parse.test.ts — svelte Source File
Architecture documentation for css-parse.test.ts, a typescript file in the svelte codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 5ffb4f62_c47a_6647_fa38_78c328f2f6d7["css-parse.test.ts"] b63ddb92_634c_990b_eb1b_0bad8a4d434e["vitest"] 5ffb4f62_c47a_6647_fa38_78c328f2f6d7 --> b63ddb92_634c_990b_eb1b_0bad8a4d434e a8d49317_f479_a216_78e7_48c9e32499d5["compiler"] 5ffb4f62_c47a_6647_fa38_78c328f2f6d7 --> a8d49317_f479_a216_78e7_48c9e32499d5 style 5ffb4f62_c47a_6647_fa38_78c328f2f6d7 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { assert, describe, it } from 'vitest';
import { parseCss } from 'svelte/compiler';
describe('parseCss', () => {
it('parses a simple rule', () => {
const ast = parseCss('div { color: red; }');
assert.equal(ast.type, 'StyleSheet');
assert.equal(ast.children.length, 1);
assert.equal(ast.children[0].type, 'Rule');
});
it('parses at-rules', () => {
const ast = parseCss('@media (min-width: 800px) { div { color: red; } }');
assert.equal(ast.children.length, 1);
assert.equal(ast.children[0].type, 'Atrule');
if (ast.children[0].type === 'Atrule') {
assert.equal(ast.children[0].name, 'media');
}
});
it('parses @import', () => {
const ast = parseCss("@import 'foo.css';");
assert.equal(ast.children.length, 1);
assert.equal(ast.children[0].type, 'Atrule');
if (ast.children[0].type === 'Atrule') {
assert.equal(ast.children[0].name, 'import');
assert.equal(ast.children[0].block, null);
}
});
it('parses multiple rules', () => {
const ast = parseCss('div { color: red; } span { color: blue; }');
assert.equal(ast.children.length, 2);
});
it('has correct start/end positions', () => {
const ast = parseCss('div { color: red; }');
assert.equal(ast.start, 0);
assert.equal(ast.end, 19);
});
it('strips BOM', () => {
const ast = parseCss('\uFEFFdiv { color: red; }');
assert.equal(ast.start, 0);
assert.equal(ast.end, 19);
});
it('parses nested rules', () => {
const ast = parseCss('div { color: red; span { color: blue; } }');
assert.equal(ast.children.length, 1);
const rule = ast.children[0];
assert.equal(rule.type, 'Rule');
if (rule.type === 'Rule') {
assert.equal(rule.block.children.length, 2); // declaration + nested rule
}
});
it('parses empty stylesheet', () => {
const ast = parseCss('');
assert.equal(ast.type, 'StyleSheet');
// ... (94 more lines)
Dependencies
- compiler
- vitest
Source
Frequently Asked Questions
What does css-parse.test.ts do?
css-parse.test.ts is a source file in the svelte codebase, written in typescript.
What does css-parse.test.ts depend on?
css-parse.test.ts imports 2 module(s): compiler, vitest.
Where is css-parse.test.ts in the architecture?
css-parse.test.ts is located at packages/svelte/tests/css-parse.test.ts (directory: packages/svelte/tests).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free