summaryrefslogtreecommitdiff
path: root/test/rake/test_rake_dsl.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-06-23 22:11:55 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-06-23 22:11:55 +0000
commitd001539a0538cba0e48be2ebdafe29e67b006a4e (patch)
treeabf1591ca3b56f04f46cc2cce9918700620a3ab1 /test/rake/test_rake_dsl.rb
parent3fbc9440feb66cf762834b6d66e6f3a893bab5b7 (diff)
* lib/rake: Import Rake 0.9.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rake/test_rake_dsl.rb')
-rw-r--r--test/rake/test_rake_dsl.rb73
1 files changed, 73 insertions, 0 deletions
diff --git a/test/rake/test_rake_dsl.rb b/test/rake/test_rake_dsl.rb
new file mode 100644
index 0000000..294ff2b
--- /dev/null
+++ b/test/rake/test_rake_dsl.rb
@@ -0,0 +1,73 @@
+require File.expand_path('../helper', __FILE__)
+
+class TestRakeDsl < Rake::TestCase
+
+ def setup
+ super
+ Rake::Task.clear
+ end
+
+ def test_namespace_command
+ namespace "n" do
+ task "t"
+ end
+ refute_nil Rake::Task["n:t"]
+ end
+
+ def test_namespace_command_with_bad_name
+ ex = assert_raises(ArgumentError) do
+ namespace 1 do end
+ end
+ assert_match(/string/i, ex.message)
+ assert_match(/symbol/i, ex.message)
+ end
+
+ def test_namespace_command_with_a_string_like_object
+ name = Object.new
+ def name.to_str
+ "bob"
+ end
+ namespace name do
+ task "t"
+ end
+ refute_nil Rake::Task["bob:t"]
+ end
+
+ class Foo
+ def initialize
+ task :foo_deprecated_a => "foo_deprecated_b" do
+ print "a"
+ end
+ file "foo_deprecated_b" do
+ print "b"
+ end
+ end
+ end
+
+ def test_deprecated_object_dsl
+ out, err = capture_io do
+ Foo.new
+ Rake.application.invoke_task :foo_deprecated_a
+ end
+ assert_equal("ba", out)
+ assert_match(/deprecated/, err)
+ assert_match(/Foo\#task/, err)
+ assert_match(/Foo\#file/, err)
+ assert_match(/test_rake_dsl\.rb:\d+/, err)
+ end
+
+ def test_deprecated_object_dsl_with_suppressed_warnings
+ Rake.application.options.ignore_deprecate = true
+ out, err = capture_io do
+ Foo.new
+ Rake.application.invoke_task :foo_deprecated_a
+ end
+ assert_equal("ba", out)
+ refute_match(/deprecated/, err)
+ refute_match(/Foo\#task/, err)
+ refute_match(/Foo\#file/, err)
+ refute_match(/test_rake_dsl\.rb:\d+/, err)
+ ensure
+ Rake.application.options.ignore_deprecate = false
+ end
+end