diff --git a/spec/text_transform_spec.cr b/spec/text_transform_spec.cr new file mode 100644 index 0000000..97e96cb --- /dev/null +++ b/spec/text_transform_spec.cr @@ -0,0 +1,33 @@ +require "./spec_helper" + +module CSS::TextTransformSpec + class Style < CSS::Stylesheet + rule h1 do + text_transform :none + text_transform :math_auto + text_transform :uppercase + text_transform :full_width + text_transform :full_size_kana + text_transform :lowercase, :full_width + text_transform :capitalize, :full_width, :full_size_kana + end + end + + describe "Style.to_s" do + it "renders keyword and combination values" do + expected = <<-CSS + h1 { + text-transform: none; + text-transform: math-auto; + text-transform: uppercase; + text-transform: full-width; + text-transform: full-size-kana; + text-transform: lowercase full-width; + text-transform: capitalize full-width full-size-kana; + } + CSS + + Style.to_s.should eq(expected) + end + end +end diff --git a/src/css/enums/text_transform.cr b/src/css/enums/text_transform.cr new file mode 100644 index 0000000..434b6e2 --- /dev/null +++ b/src/css/enums/text_transform.cr @@ -0,0 +1,7 @@ +css_enum TextTransform do + Capitalize + Uppercase + Lowercase + FullWidth + FullSizeKana +end diff --git a/src/css/enums/text_transform_math_auto.cr b/src/css/enums/text_transform_math_auto.cr new file mode 100644 index 0000000..d9745ee --- /dev/null +++ b/src/css/enums/text_transform_math_auto.cr @@ -0,0 +1,3 @@ +css_enum TextTransformMathAuto do + MathAuto +end diff --git a/src/stylesheet.cr b/src/stylesheet.cr index d0708aa..f25a82a 100644 --- a/src/stylesheet.cr +++ b/src/stylesheet.cr @@ -1372,7 +1372,9 @@ module CSS prop2 text_overflow, CSS::Enums::TextOverflow | String, CSS::Enums::TextOverflow | String prop text_rendering, String prop text_shadow, String - prop text_transform, String + prop text_transform, CSS::Enums::None | CSS::Enums::TextTransform | CSS::Enums::TextTransformMathAuto + prop2 text_transform, CSS::Enums::TextTransform, CSS::Enums::TextTransform + prop3 text_transform, CSS::Enums::TextTransform, CSS::Enums::TextTransform, CSS::Enums::TextTransform prop text_underline_offset, String prop text_underline_position, String prop text_wrap, String