Sha256: e56f66af8685dbcd35e79cdbe9126de46effd2a4990b6c632236c08b44afd721

Contents?: true

Size: 1.88 KB

Versions: 1

Compression:

Stored size: 1.88 KB

Contents

require 'test_helper'

class CssSplitterTest < ActiveSupport::TestCase
  test "#count_selectors" do
    assert_equal CssSplitter::Splitter.count_selectors('test/unit/too_many_selectors.css'), 2939
  end

  test "#count_selectors_of_rule" do
    assert_equal CssSplitter::Splitter.count_selectors_of_rule('foo { color: baz; }'), 1
    assert_equal CssSplitter::Splitter.count_selectors_of_rule('foo, bar { color: baz; }'), 2
  end

  # --- split_string_into_rules ---

  test '#split_string_into_rules' do
    simple = "a{foo:bar;}b{baz:qux;}"
    assert_equal ["a{foo:bar;}", "b{baz:qux;}"], CssSplitter::Splitter.split_string_into_rules(simple)
  end

  test '#split_string_into_rules for single line comments' do
    multi_line = "a{foo:bar;} /* comment p{bar:foo;} */ b{baz:qux;}"
    assert_equal ["a{foo:bar;}", "  b{baz:qux;}"], CssSplitter::Splitter.split_string_into_rules(multi_line)
  end

  test '#split_string_into_rules for multiline comments' do
    multi_line = "a{foo:bar;}\n/*\nMultiline comment p{bar:foo;}\n*/\nb{baz:qux;}"
    assert_equal ["a{foo:bar;}", "\n\nb{baz:qux;}"], CssSplitter::Splitter.split_string_into_rules(multi_line)
  end

  test '#split_string_into_rules for strings with protocol independent urls' do
    simple = "a{foo:url(//assets.server.com);}b{bar:url(//assets/server.com);}"
    assert_equal ["a{foo:url(//assets.server.com);}", "b{bar:url(//assets/server.com);}"], CssSplitter::Splitter.split_string_into_rules(simple)
  end

  # --- extract_charset ---

  test '#extract_charset with no charset' do
    first_rule = ".foo { color: black; }"
    assert_equal [nil, first_rule], CssSplitter::Splitter.send(:extract_charset, first_rule)
  end

  test '#extract_charset with charset' do
    first_rule = '@charset "UTF-8"; .foo { color: black; }'
    assert_equal ['@charset "UTF-8";', ' .foo { color: black; }'], CssSplitter::Splitter.send(:extract_charset, first_rule)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
css_splitter-0.0.2 test/unit/splitter_test.rb