Home / Function/ test_extract_css_variables() — tailwindcss Function Reference

test_extract_css_variables() — tailwindcss Function Reference

Architecture documentation for the test_extract_css_variables() function in mod.rs from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  1b316439_55a8_b235_8c25_7ea50acbc77d["test_extract_css_variables()"]
  0fcd0fda_f6d1_052f_9575_133f5b2763a7["mod.rs"]
  1b316439_55a8_b235_8c25_7ea50acbc77d -->|defined in| 0fcd0fda_f6d1_052f_9575_133f5b2763a7
  6b153297_c6ca_a979_eac6_af072c80f359["assert_extract_sorted_css_variables()"]
  1b316439_55a8_b235_8c25_7ea50acbc77d -->|calls| 6b153297_c6ca_a979_eac6_af072c80f359
  style 1b316439_55a8_b235_8c25_7ea50acbc77d fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

crates/oxide/src/extractor/mod.rs lines 1072–1136

    fn test_extract_css_variables() {
        for (input, expected) in [
            // Simple variable
            ("--foo", vec!["--foo"]),
            ("--my-variable", vec!["--my-variable"]),
            // Multiple variables
            (
                "calc(var(--first) + var(--second))",
                vec!["--first", "--second"],
            ),
            // Escaped character in the middle, skips the next character
            (r#"--spacing-1\/2"#, vec![r#"--spacing-1\/2"#]),
            // Escaped whitespace is not allowed
            (r#"--my-\ variable"#, vec![]),
        ] {
            for wrapper in [
                // No wrapper
                "{}",
                // With leading spaces
                " {}",
                // With trailing spaces
                "{} ",
                // Surrounded by spaces
                " {} ",
                // Inside a string
                "'{}'",
                // Inside a function call
                "fn({})",
                // Inside nested function calls
                "fn1(fn2({}))",
                // --------------------------
                //
                // HTML
                // Inside a class (on its own)
                r#"<div class="{}"></div>"#,
                // Inside a class (first)
                r#"<div class="{} foo"></div>"#,
                // Inside a class (second)
                r#"<div class="foo {}"></div>"#,
                // Inside a class (surrounded)
                r#"<div class="foo {} bar"></div>"#,
                // Inside an arbitrary property
                r#"<div class="[{}:red]"></div>"#,
                // --------------------------
                //
                // JavaScript
                // Inside a variable
                r#"let classes = '{}';"#,
                // Inside an object (key)
                r#"let classes = { '{}': true };"#,
                // Inside an object (no spaces, key)
                r#"let classes = {'{}':true};"#,
                // Inside an object (value)
                r#"let classes = { primary: '{}' };"#,
                // Inside an object (no spaces, value)
                r#"let classes = {primary:'{}'};"#,
                // Inside an array
                r#"let classes = ['{}'];"#,
            ] {
                let input = wrapper.replace("{}", input);

                assert_extract_sorted_css_variables(&input, expected.clone());
            }
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does test_extract_css_variables() do?
test_extract_css_variables() is a function in the tailwindcss codebase, defined in crates/oxide/src/extractor/mod.rs.
Where is test_extract_css_variables() defined?
test_extract_css_variables() is defined in crates/oxide/src/extractor/mod.rs at line 1072.
What does test_extract_css_variables() call?
test_extract_css_variables() calls 1 function(s): assert_extract_sorted_css_variables.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free