rf-web/vendor/bundle/gems/sassc-2.2.1/test/output_style_test.rb
2019-10-21 10:18:17 +02:00

108 lines
2.3 KiB
Ruby

# frozen_string_literal: true
require_relative "test_helper"
module SassC
class OutputStyleTest < MiniTest::Test
def input_scss
input_scss = <<-CSS
$color: #fff;
#main {
color: $color;
background-color: #000;
p {
width: 10em;
}
}
.huge {
font-size: 10em;
font-weight: bold;
text-decoration: underline;
}
CSS
end
def expected_nested_output
<<-CSS
#main {
color: #fff;
background-color: #000; }
#main p {
width: 10em; }
.huge {
font-size: 10em;
font-weight: bold;
text-decoration: underline; }
CSS
end
def test_nested_output_is_default
engine = Engine.new(input_scss)
assert_equal expected_nested_output, engine.render
end
def test_output_style_accepts_strings
engine = Engine.new(input_scss, style: 'sass_style_nested')
assert_equal expected_nested_output, engine.render
end
def test_invalid_output_style
engine = Engine.new(input_scss, style: 'totally_wrong')
assert_raises(InvalidStyleError) { engine.render }
end
def test_nested_output
engine = Engine.new(input_scss, style: :sass_style_nested)
assert_equal expected_nested_output, engine.render
end
def test_expanded_output
engine = Engine.new(input_scss, style: :sass_style_expanded)
assert_equal <<-CSS, engine.render
#main {
color: #fff;
background-color: #000;
}
#main p {
width: 10em;
}
.huge {
font-size: 10em;
font-weight: bold;
text-decoration: underline;
}
CSS
end
def test_compact_output
engine = Engine.new(input_scss, style: :sass_style_compact)
assert_equal <<-CSS, engine.render
#main { color: #fff; background-color: #000; }
#main p { width: 10em; }
.huge { font-size: 10em; font-weight: bold; text-decoration: underline; }
CSS
end
def test_compressed_output
engine = Engine.new(input_scss, style: :sass_style_compressed)
assert_equal <<-CSS, engine.render
#main{color:#fff;background-color:#000}#main p{width:10em}.huge{font-size:10em;font-weight:bold;text-decoration:underline}
CSS
end
def test_short_output_style_names
engine = Engine.new(input_scss, style: :compressed)
assert_equal <<-CSS, engine.render
#main{color:#fff;background-color:#000}#main p{width:10em}.huge{font-size:10em;font-weight:bold;text-decoration:underline}
CSS
end
end
end