Skip to content

Commit 1dec207

Browse files
committed
Make extend method case-insensitive
1 parent 04f0404 commit 1dec207

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

lib/CSS/Module.rakumod

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ class CSS::Module:ver<0.6.7> {
2727

2828
my subset ExtensionName of Str where .starts-with('-');
2929
proto method alias(|) is DEPRECATED('extend(:$name, :$like, ...)') {*};
30-
multi method alias(ExtensionName :$name!, Str :$like!) is rw {
30+
multi method alias(ExtensionName :$name! is copy, Str :$like! is copy) is rw {
31+
$name .= lc;
32+
$like .= lc;
3133
my $metadata = %!property-metadata{$like}
3234
// die "unable to alias unknown property: '$like'";
3335

@@ -67,11 +69,13 @@ class CSS::Module:ver<0.6.7> {
6769
}
6870

6971
multi method extend(
70-
Str:D :$name!,
71-
Str:D :like($base-prop)!,
72+
Str:D :$name! is copy,
73+
Str:D :like($base-prop)! is copy,
7274
:&coerce,
7375
|c
7476
) {
77+
$name .= lc;
78+
$base-prop .= lc;
7579
die "unknown base property: $name"
7680
unless %!property-metadata{$base-prop}:exists;
7781
my %metadata = %!property-metadata{$base-prop};
@@ -83,13 +87,14 @@ class CSS::Module:ver<0.6.7> {
8387
self!register-property: :$name, :%metadata;
8488
}
8589
multi method extend(
86-
Str:D :$name!,
90+
Str:D :$name! is copy,
8791
:&coerce,
8892
:$prop-num = %!prop-names{$name.lc} // self.index.elems,
8993
Bool :$inherit = False,
9094
:default($val),
9195
|c,
9296
) {
97+
$name .= lc;
9398
%!prop-names{$name} = $prop-num;
9499

95100
my %metadata = %( :$inherit, );

t/module-extensions.t

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ my %extensions = %(
1111
:default<middle>,
1212
:&coerce
1313
),
14-
'-my-anon' => %(),
14+
'-my-Anon' => %(),
1515
'-my-anon2' => %( :inherit),
1616
);
1717

0 commit comments

Comments
 (0)