Validating CSS Size Unit Handling in Bourbon Framework
This test suite validates the is-size functionality in Bourbon’s SASS framework, ensuring proper handling of CSS size values across different units and edge cases. The tests verify size validation behavior for various CSS measurement units and invalid inputs.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
thoughtbot/bourbon
spec/bourbon/validators/is_size_spec.rb
require "spec_helper"
describe "is-size" do
before(:all) do
ParserSupport.parse_file("validators/is-size")
end
context "called with integer" do
it "is not a size" do
expect(".integer").to_not have_rule("margin-top: 1")
end
end
context "called with px" do
it "is a size" do
expect(".px").to have_rule("margin-top: 2px")
end
end
context "called with em" do
it "is a size" do
expect(".em").to have_rule("margin-top: 3em")
end
end
context "called with rem" do
it "is a size" do
expect(".rem").to have_rule("margin-top: 4rem")
end
end
context "called with percent" do
it "is a size" do
expect(".percent").to have_rule("margin-top: 5%")
end
end
context "called with string" do
it "is not a size" do
expect(".string").to_not have_rule("margin-top: \"stringy\"")
end
end
end