12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- lib_dir = File.dirname(__FILE__) + '/../lib'
- require 'test/unit'
- require 'fileutils'
- $:.unshift lib_dir unless $:.include?(lib_dir)
- require 'sass'
- require 'mathn' if ENV['MATHN'] == 'true'
- Sass::RAILS_LOADED = true unless defined?(Sass::RAILS_LOADED)
- module Sass::Script::Functions
- def option(name)
- Sass::Script::String.new(@options[name.value.to_sym].to_s)
- end
- end
- class Test::Unit::TestCase
- def munge_filename(opts = {})
- return if opts.has_key?(:filename)
- opts[:filename] = filename_for_test(opts[:syntax] || :sass)
- end
- def filename_for_test(syntax = :sass)
- test_name = caller.
- map {|c| Sass::Util.caller_info(c)[2]}.
- compact.
- map {|c| c.sub(/^(block|rescue) in /, '')}.
- find {|c| c =~ /^test_/}
- "#{test_name}_inline.#{syntax}"
- end
- def clean_up_sassc
- path = File.dirname(__FILE__) + "/../.sass-cache"
- FileUtils.rm_r(path) if File.exist?(path)
- end
- def assert_warning(message)
- the_real_stderr, $stderr = $stderr, StringIO.new
- yield
- if message.is_a?(Regexp)
- assert_match message, $stderr.string.strip
- else
- assert_equal message.strip, $stderr.string.strip
- end
- ensure
- $stderr = the_real_stderr
- end
- def silence_warnings(&block)
- Sass::Util.silence_warnings(&block)
- end
- def assert_raise_message(klass, message)
- yield
- rescue Exception => e
- assert_instance_of(klass, e)
- assert_equal(message, e.message)
- else
- flunk "Expected exception #{klass}, none raised"
- end
- def assert_raise_line(line)
- yield
- rescue Sass::SyntaxError => e
- assert_equal(line, e.sass_line)
- else
- flunk "Expected exception on line #{line}, none raised"
- end
- end
|