Module: SassUnit

Defined in:
lib/sassunit.rb,
lib/sassunit/cli.rb,
lib/sassunit/info.rb,
lib/sassunit/backtrace_filter.rb

Defined Under Namespace

Classes: BacktraceFilter, CLI

Constant Summary collapse

NAME =
"sassunit"
VERSION =
"1.0.2"
DESCRIPTION =
"A tiny Sass unit testing library."

Class Method Summary collapse

Class Method Details

.add_test(directory = ".", files = nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/sassunit.rb', line 10

def add_test(directory = ".", files = nil)
  Sass.load_paths << directory

  files ||= Dir.glob("#{directory}/test/**/*.s{a,c}ss")
  files.each do |file|

    describe file do
      it "compiles correctly" do
        expected_file = file.sub(/\.s[ac]ss/, ".css")

        files_exist = [file, expected_file].inject(true) do |acc, file|
          acc && File.exists?(file)
        end

        return assert false, "expected files do not exist" unless files_exist

        opts = { filename: file, style: :compressed }
        compiled = Sass.compile(open(file).read, opts)
        # compile the CSS file as SCSS so it's formatted the same
        expected = Sass.compile(open(expected_file).read, opts)
        compiled.must_equal expected
      end
    end

  end
end

.run_testsObject



37
38
39
# File 'lib/sassunit.rb', line 37

def run_tests
  MiniTest.run
end