fix(html): ignore empty selector segments in ScopeVariant
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
1958cc79b1
commit
511a10f54b
2 changed files with 16 additions and 4 deletions
|
|
@ -82,14 +82,18 @@ func ScopeVariant(name, selector string) string {
|
|||
}
|
||||
|
||||
parts := strings.Split(selector, ",")
|
||||
scoped := make([]string, 0, len(parts))
|
||||
for i := range parts {
|
||||
parts[i] = strings.TrimSpace(parts[i])
|
||||
if parts[i] == "" {
|
||||
part := strings.TrimSpace(parts[i])
|
||||
if part == "" {
|
||||
continue
|
||||
}
|
||||
parts[i] = scope + " " + parts[i]
|
||||
scoped = append(scoped, scope+" "+part)
|
||||
}
|
||||
return strings.Join(parts, ", ")
|
||||
if len(scoped) == 0 {
|
||||
return scope
|
||||
}
|
||||
return strings.Join(scoped, ", ")
|
||||
}
|
||||
|
||||
// responsive.go: Variant adds a named layout variant (e.g., "desktop", "tablet", "mobile").
|
||||
|
|
|
|||
|
|
@ -200,3 +200,11 @@ func TestScopeVariant_MultipleSelectors(t *testing.T) {
|
|||
t.Fatalf("ScopeVariant with selector list = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestScopeVariant_IgnoresEmptySelectorSegments(t *testing.T) {
|
||||
got := ScopeVariant("desktop", ".nav, , .sidebar,")
|
||||
want := `[data-variant="desktop"] .nav, [data-variant="desktop"] .sidebar`
|
||||
if got != want {
|
||||
t.Fatalf("ScopeVariant should skip empty selector segments = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue