Skip to content

Commit a3ce818

Browse files
author
David Heinemeier Hansson
authored
Merge pull request #35 from xkozak/decimal-spacings
Correctly purge decimal spacing classes
2 parents 076857e + 410a967 commit a3ce818

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

lib/tailwindcss/purger.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
class Tailwindcss::Purger
2-
CLASS_NAME_PATTERN = /([:A-Za-z0-9_-]+[\.]*[\\\/:A-Za-z0-9_-]*)/
2+
CLASS_NAME_PATTERN = /([:A-Za-z0-9_-]+[\.\\\/:A-Za-z0-9_-]*)/
33
OPENING_SELECTOR_PATTERN = /\..*\{/
44
CLOSING_SELECTOR_PATTERN = /\s*\}/
55
NEWLINE = "\n"

test/fixtures/simple.html.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 translate-x-1/2">
1+
<div class="max-w-7xl mx-auto my-1.5 px-4 sm:px-6 lg:px-8 sm:py-0.5 translate-x-1/2">
22
</div>

test/purger_test.rb

+11-7
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
class Tailwindcss::PurgerTest < ActiveSupport::TestCase
44
test "extract class names from string" do
5-
assert_equal %w[ div class max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 translate-x-1/2 ].sort,
6-
Tailwindcss::Purger.extract_class_names(%(<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 translate-x-1/2">))
5+
assert_equal %w[ div class max-w-7xl mx-auto my-1.5 px-4 sm:px-6 lg:px-8 sm:py-0.5 translate-x-1/2 ].sort,
6+
Tailwindcss::Purger.extract_class_names(%(<div class="max-w-7xl mx-auto my-1.5 px-4 sm:px-6 lg:px-8 sm:py-0.5 translate-x-1/2">))
77
end
88

99
test "extract class names from files" do
10-
assert_equal %w[ div class max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 translate-x-1/2 ].sort,
10+
assert_equal %w[ div class max-w-7xl mx-auto my-1.5 px-4 sm:px-6 lg:px-8 sm:py-0.5 translate-x-1/2 ].sort,
1111
Tailwindcss::Purger.extract_class_names_from(Pathname.new(__dir__).join("fixtures/simple.html.erb"))
1212
end
1313

@@ -20,6 +20,8 @@ class Tailwindcss::PurgerTest < ActiveSupport::TestCase
2020
assert purged =~ /.sm\\:px-6 \{/
2121
assert purged =~ /.translate-x-1\\\/2 \{/
2222
assert purged =~ /.mt-10 \{/
23+
assert purged =~ /.my-1\\.5 \{/
24+
assert purged =~ /.sm\\:py-0\\.5 \{/
2325
end
2426

2527
test "purge shouldn't remove hover or focus classes" do
@@ -30,9 +32,7 @@ class Tailwindcss::PurgerTest < ActiveSupport::TestCase
3032
end
3133

3234
test "purge shouldn't remove placeholder selectors" do
33-
purged = Tailwindcss::Purger.purge \
34-
Pathname.new(__FILE__).join("../../app/assets/stylesheets/tailwind.css").read,
35-
keeping_class_names_from_files: Pathname(__dir__).join("fixtures/placeholders.html.erb")
35+
purged = purged_tailwind_from Pathname(__dir__).join("fixtures/placeholders.html.erb")
3636

3737
assert purged =~ /.placeholder-transparent\:\:-moz-placeholder \{/
3838
assert purged =~ /.placeholder-transparent\:-ms-input-placeholder \{/
@@ -41,8 +41,12 @@ class Tailwindcss::PurgerTest < ActiveSupport::TestCase
4141

4242
private
4343
def purged_tailwind_from_fixtures
44+
purged_tailwind_from Pathname(__dir__).glob("fixtures/*.html.erb")
45+
end
46+
47+
def purged_tailwind_from files
4448
Tailwindcss::Purger.purge \
4549
Pathname.new(__FILE__).join("../../app/assets/stylesheets/tailwind.css").read,
46-
keeping_class_names_from_files: Pathname(__dir__).glob("fixtures/*.html.erb")
50+
keeping_class_names_from_files: files
4751
end
4852
end

0 commit comments

Comments
 (0)