Class: Compass::TestCase

Inherits:
Object
  • Object
show all
Defined in:
lib/compass/test_case.rb

Overview

Write your unit test like this if you want to make sure all your stylesheets compile.

require ‘compass/test_case’ class StylesheetsTest < Compass::TestCase

def test_stylesheets
  my_sass_files.each do |sass_file|
    assert_compiles(sass_file) do |result|
      assert_not_blank result
    end
  end
end
protected
def my_sass_files
  Dir.glob(File.expand_path(File.join(File.dirname(__FILE__), "../..", "app/stylesheets/**/[^_]*.sass")))
end

end

Instance Method Summary collapse

Instance Method Details

#assert_compiles(stylesheet, &block) ⇒ Object



33
34
35
# File 'lib/compass/test_case.rb', line 33

def assert_compiles(stylesheet, &block)
  compile(stylesheet, &block)
end

#compile(stylesheet) {|@last_compile| ... } ⇒ Object

Yields:

  • (@last_compile)


25
26
27
28
29
30
31
# File 'lib/compass/test_case.rb', line 25

def compile(stylesheet)
  input =  open(stylesheet)
  template = input.read()
  input.close()
  @last_compile = ::Sass::Engine.new(template, ::Sass::Plugin.engine_options(:filename => stylesheet)).render
  yield @last_compile if block_given?
end

#setupObject



20
21
22
23
# File 'lib/compass/test_case.rb', line 20

def setup
  super
  @last_compile = nil
end