diff --git a/test/sass/cache_test.rb b/test/sass/cache_test.rb index 90a8d2d..87e7c1d 100755 --- a/test/sass/cache_test.rb +++ b/test/sass/cache_test.rb @@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../test_helper' require File.dirname(__FILE__) + '/test_helper' require 'sass/engine' -class CacheTest < Test::Unit::TestCase +class CacheTest < Minitest::Test @@cache_dir = "tmp/file_cache" def setup diff --git a/test/sass/callbacks_test.rb b/test/sass/callbacks_test.rb index b0a2081..6573a04 100755 --- a/test/sass/callbacks_test.rb +++ b/test/sass/callbacks_test.rb @@ -26,7 +26,7 @@ module ClassLevelCallerBack end end -class SassCallbacksTest < Test::Unit::TestCase +class SassCallbacksTest < Minitest::Test def test_simple_callback cb = CallerBack.new there = false diff --git a/test/sass/compiler_test.rb b/test/sass/compiler_test.rb index 9c8d1c8..b96e5b1 100755 --- a/test/sass/compiler_test.rb +++ b/test/sass/compiler_test.rb @@ -1,10 +1,10 @@ #!/usr/bin/env ruby -require 'test/unit' +require 'minitest/autorun' require File.dirname(__FILE__) + '/../test_helper' require 'sass/plugin' require 'sass/plugin/compiler' -class CompilerTest < Test::Unit::TestCase +class CompilerTest < Minitest::Test class FakeListener attr_accessor :options attr_accessor :directories diff --git a/test/sass/conversion_test.rb b/test/sass/conversion_test.rb index 3e270b2..3f741af 100755 --- a/test/sass/conversion_test.rb +++ b/test/sass/conversion_test.rb @@ -1,7 +1,7 @@ #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' -class ConversionTest < Test::Unit::TestCase +class ConversionTest < Minitest::Test def test_basic assert_renders < :scss) end end diff --git a/test/sass/css2sass_test.rb b/test/sass/css2sass_test.rb index eadba9e..b443578 100755 --- a/test/sass/css2sass_test.rb +++ b/test/sass/css2sass_test.rb @@ -1,9 +1,9 @@ #!/usr/bin/env ruby -require 'test/unit' +require 'minitest/autorun' require File.dirname(__FILE__) + '/../test_helper' require 'sass/css' -class CSS2SassTest < Test::Unit::TestCase +class CSS2SassTest < Minitest::Test def test_basic css = < filename_for_test, :load_paths => [importer], :importer => importer) - assert_raise_message(Sass::SyntaxError, < filename_for_test, :load_paths => [importer], :importer => importer) - assert_raise_message(Sass::SyntaxError, < can't extend: invalid selector") do + assert_raises(Sass::SyntaxError, "bar > can't extend: invalid selector") do render("bar > {@extend .baz}") end end @@ -841,7 +841,7 @@ SCSS end def test_extend_out_of_media - assert_raise_message(Sass::SyntaxError, < :scss, :importer => file_system_importer) - assert_raise_message(Sass::SyntaxError, < "color: green;"}, {"pear" => Time.now}) - assert_raise_message(Sass::SyntaxError, < null")} - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, 'Invalid null operation: "null lt 1".') {eval("null < 1")} - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, 'Invalid null operation: "null plus null".') {eval("null + null")} - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, 'Invalid null operation: ""foo" plus null".') {eval("foo + null")} end @@ -463,15 +463,15 @@ SASS end def test_colors_with_wrong_number_of_digits - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, "Colors must have either three or six digits: '#0'") {eval("#0")} - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, "Colors must have either three or six digits: '#12'") {eval("#12")} - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, "Colors must have either three or six digits: '#abcd'") {eval("#abcd")} - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, "Colors must have either three or six digits: '#abcdE'") {eval("#abcdE")} - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, "Colors must have either three or six digits: '#abcdEFA'") {eval("#abcdEFA")} end @@ -485,8 +485,8 @@ SASS assert_equal "1 2 3", resolve("1 2 () 3") assert_equal "1 2 3", resolve("1 2 3 ()") assert_equal "1 2 3", resolve("() 1 2 3") - assert_raise_message(Sass::SyntaxError, "() isn't a valid CSS value.") {resolve("()")} - assert_raise_message(Sass::SyntaxError, "() isn't a valid CSS value.") {resolve("nth(append((), ()), 1)")} + assert_raises_message(Sass::SyntaxError, "() isn't a valid CSS value.") {resolve("()")} + assert_raises_message(Sass::SyntaxError, "() isn't a valid CSS value.") {resolve("nth(append((), ()), 1)")} end def test_list_with_nulls @@ -511,19 +511,19 @@ SASS end def test_map_cannot_have_duplicate_keys - assert_raise_message(Sass::SyntaxError, 'Duplicate key "foo" in map (foo: bar, foo: baz).') do + assert_raises_message(Sass::SyntaxError, 'Duplicate key "foo" in map (foo: bar, foo: baz).') do eval("(foo: bar, foo: baz)") end - assert_raise_message(Sass::SyntaxError, 'Duplicate key "foo" in map (foo: bar, fo + o: baz).') do + assert_raises_message(Sass::SyntaxError, 'Duplicate key "foo" in map (foo: bar, fo + o: baz).') do eval("(foo: bar, fo + o: baz)") end - assert_raise_message(Sass::SyntaxError, 'Duplicate key "foo" in map (foo: bar, "foo": baz).') do + assert_raises_message(Sass::SyntaxError, 'Duplicate key "foo" in map (foo: bar, "foo": baz).') do eval("(foo: bar, 'foo': baz)") end - assert_raise_message(Sass::SyntaxError, 'Duplicate key 2px in map (2px: bar, 1px + 1px: baz).') do + assert_raises_message(Sass::SyntaxError, 'Duplicate key 2px in map (2px: bar, 1px + 1px: baz).') do eval("(2px: bar, 1px + 1px: baz)") end - assert_raise_message(Sass::SyntaxError, 'Duplicate key #0000ff in map (blue: bar, blue: baz).') do + assert_raises_message(Sass::SyntaxError, 'Duplicate key #0000ff in map (blue: bar, blue: baz).') do eval("(blue: bar, #00f: baz)") end end @@ -537,16 +537,16 @@ SASS end def test_map_syntax_errors - assert_raise_message(Sass::SyntaxError, 'Invalid CSS after "(foo:": expected expression (e.g. 1px, bold), was ")"') do + assert_raises_message(Sass::SyntaxError, 'Invalid CSS after "(foo:": expected expression (e.g. 1px, bold), was ")"') do eval("(foo:)") end - assert_raise_message(Sass::SyntaxError, 'Invalid CSS after "(": expected ")", was ":bar)"') do + assert_raises_message(Sass::SyntaxError, 'Invalid CSS after "(": expected ")", was ":bar)"') do eval("(:bar)") end - assert_raise_message(Sass::SyntaxError, 'Invalid CSS after "(foo, bar": expected ")", was ": baz)"') do + assert_raises_message(Sass::SyntaxError, 'Invalid CSS after "(foo, bar": expected ")", was ": baz)"') do eval("(foo, bar: baz)") end - assert_raise_message(Sass::SyntaxError, 'Invalid CSS after "(foo: bar, baz": expected ":", was ")"') do + assert_raises_message(Sass::SyntaxError, 'Invalid CSS after "(foo: bar, baz": expected ":", was ")"') do eval("(foo: bar, baz)") end end @@ -558,11 +558,11 @@ SASS return if RUBY_PLATFORM =~ /java/ # Don't validate the message; it's different on Rubinius. - assert_raise(ArgumentError) {resolve("arg-error()")} + assert_raises(ArgumentError) {resolve("arg-error()")} end def test_shallow_argument_error_unwrapped - assert_raise_message(Sass::SyntaxError, "wrong number of arguments (1 for 0) for `arg-error'") {resolve("arg-error(1)")} + assert_raises_message(Sass::SyntaxError, "wrong number of arguments (1 for 0) for `arg-error'") {resolve("arg-error(1)")} end def test_boolean_ops_short_circuit @@ -746,7 +746,7 @@ end end def test_misplaced_comma_in_funcall - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, 'Invalid CSS after "foo(bar, ": expected function argument, was ")"') {eval('foo(bar, )')} end diff --git a/test/sass/scss/css_test.rb b/test/sass/scss/css_test.rb index b9a6d69..cb15edc 100755 --- a/test/sass/scss/css_test.rb +++ b/test/sass/scss/css_test.rb @@ -6,7 +6,7 @@ require 'sass/scss/css_parser' # These tests just test the parsing of CSS # (both standard and any hacks we intend to support). # Tests of SCSS-specific behavior go in scss_test.rb. -class ScssCssTest < Test::Unit::TestCase +class ScssCssTest < Minitest::Test include ScssTestHelper def test_basic_scss @@ -1030,7 +1030,7 @@ SCSS end def test_long_unclosed_comment_doesnt_take_forever - assert_raise_message(Sass::SyntaxError, + assert_raises_message(Sass::SyntaxError, 'Invalid CSS after "/*": expected "/", was "//*************..."') {render(< 'foo'})} - assert_raise(ArgumentError) {sourcemap.to_json({:sourcemap_path => 'foo'})} + assert_raises(ArgumentError) {sourcemap.to_json({})} + assert_raises(ArgumentError) {sourcemap.to_json({:css_path => 'foo'})} + assert_raises(ArgumentError) {sourcemap.to_json({:sourcemap_path => 'foo'})} end def test_simple_mapping_scss diff --git a/test/sass/test_helper.rb b/test/sass/test_helper.rb index 919806e..d5a4d12 100644 --- a/test/sass/test_helper.rb +++ b/test/sass/test_helper.rb @@ -1,7 +1,7 @@ test_dir = File.dirname(__FILE__) $:.unshift test_dir unless $:.include?(test_dir) -class Test::Unit::TestCase +class Minitest::Test def absolutize(file) File.expand_path("#{File.dirname(__FILE__)}/#{file}") end diff --git a/test/sass/util/multibyte_string_scanner_test.rb b/test/sass/util/multibyte_string_scanner_test.rb index bc0db14..5d56e4f 100755 --- a/test/sass/util/multibyte_string_scanner_test.rb +++ b/test/sass/util/multibyte_string_scanner_test.rb @@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../../test_helper' unless Sass::Util.ruby1_8? - class MultibyteStringScannerTest < Test::Unit::TestCase + class MultibyteStringScannerTest < Minitest::Test def setup @scanner = Sass::Util::MultibyteStringScanner.new("cölorfül") end diff --git a/test/sass/util/normalized_map_test.rb b/test/sass/util/normalized_map_test.rb index aa16113..9860c78 100755 --- a/test/sass/util/normalized_map_test.rb +++ b/test/sass/util/normalized_map_test.rb @@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../../test_helper' require 'sass/util/normalized_map' -class NormalizedMapTest < Test::Unit::TestCase +class NormalizedMapTest < Minitest::Test extend PublicApiLinter lint_api Hash, Sass::Util::NormalizedMap @@ -13,7 +13,7 @@ class NormalizedMapTest < Test::Unit::TestCase def test_normalized_map_errors_unless_explicitly_implemented assert Sass.tests_running - assert_raise_message(ArgumentError, "The method invert must be implemented explicitly") do + assert_raises_message(ArgumentError, "The method invert must be implemented explicitly") do Sass::Util::NormalizedMap.new.invert end end diff --git a/test/sass/util/subset_map_test.rb b/test/sass/util/subset_map_test.rb index b595394..57698a2 100755 --- a/test/sass/util/subset_map_test.rb +++ b/test/sass/util/subset_map_test.rb @@ -1,7 +1,7 @@ #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../../test_helper' -class SubsetMapTest < Test::Unit::TestCase +class SubsetMapTest < Minitest::Test def setup @ssm = Sass::Util::SubsetMap.new @ssm[Set[1, 2]] = "Foo" @@ -44,7 +44,7 @@ class SubsetMapTest < Test::Unit::TestCase end def test_empty_key_set - assert_raise(ArgumentError) {@ssm[Set[]] = "Fail"} + assert_raises(ArgumentError) {@ssm[Set[]] = "Fail"} end def test_empty_key_get diff --git a/test/sass/util_test.rb b/test/sass/util_test.rb index 5a33c53..e15bc2a 100755 --- a/test/sass/util_test.rb +++ b/test/sass/util_test.rb @@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../test_helper' require 'pathname' require 'tmpdir' -class UtilTest < Test::Unit::TestCase +class UtilTest < Minitest::Test include Sass::Util def test_scope @@ -341,7 +341,7 @@ class UtilTest < Test::Unit::TestCase end def test_abstract - assert_raise_message(NotImplementedError, + assert_raises_message(NotImplementedError, "UtilTest::FooBar must implement #foo") {FooBar.new.foo} end diff --git a/test/sass/value_helpers_test.rb b/test/sass/value_helpers_test.rb index 1141b8f..fdd82c0 100755 --- a/test/sass/value_helpers_test.rb +++ b/test/sass/value_helpers_test.rb @@ -1,7 +1,7 @@ #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../test_helper' -class ValueHelpersTest < Test::Unit::TestCase +class ValueHelpersTest < Minitest::Test include Sass::Script include Sass::Script::Value::Helpers diff --git a/test/test_helper.rb b/test/test_helper.rb index 31d3f84..3388497 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,6 +1,6 @@ lib_dir = File.dirname(__FILE__) + '/../lib' -require 'test/unit' +require 'minitest/autorun' require 'fileutils' $:.unshift lib_dir unless $:.include?(lib_dir) require 'sass' @@ -22,7 +22,7 @@ module Sass::Script::Functions end end -class Test::Unit::TestCase +class Minitest::Test def munge_filename(opts = {}) opts[:filename] ||= filename_for_test(opts[:syntax] || :sass) opts[:sourcemap_filename] ||= sourcemap_filename_for_test @@ -76,7 +76,7 @@ class Test::Unit::TestCase Sass::Util.silence_warnings(&block) end - def assert_raise_message(klass, message) + def assert_raises_message(klass, message) yield rescue Exception => e assert_instance_of(klass, e) @@ -85,13 +85,23 @@ class Test::Unit::TestCase flunk "Expected exception #{klass}, none raised" end - def assert_raise_line(line) + def assert_raises_line(line) yield rescue Sass::SyntaxError => e assert_equal(line, e.sass_line) else flunk "Expected exception on line #{line}, none raised" end + + def assert_not_equal(exp, act, msg=nil) + msg = message(msg) { "<#{mu_pp(exp)}> expected to be != to\n<#{mu_pp(act)}>" } + assert(exp != act, msg) + end + + def assert_not_nil(exp, msg=nil) + msg = message(msg) { "<#{mu_pp(exp)}> expected to not be nil" } + assert(!exp.nil?, msg) + end end module PublicApiLinter