aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorToshiaki Asai <qtoship@gmail.com>2013-02-15 02:04:11 +0900
committerToshiaki Asai <qtoship@gmail.com>2013-02-15 02:04:11 +0900
commit19feff7daeeacfd9f6565ce643e29b34701aefcd (patch)
tree837e3c266a8d01202d55a8b716dd6f195c127901 /test
parent173b96d56bb9ce177dddeb677068346f48ac9119 (diff)
downloadmikutter-19feff7daeeacfd9f6565ce643e29b34701aefcd.tar.gz
DSLメソッドを拡張する仕組みを追加した
Diffstat (limited to 'test')
-rw-r--r--test/core/test_plugin.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/core/test_plugin.rb b/test/core/test_plugin.rb
index fee4e05f..76a13608 100644
--- a/test/core/test_plugin.rb
+++ b/test/core/test_plugin.rb
@@ -111,5 +111,28 @@ class TC_Plugin < Test::Unit::TestCase
assert_equal(value, 3)
end
+ must "simple dsl" do
+ Plugin.create :dsl_def do
+ defdsl :twice do |number|
+ number * 2
+ end
+ end
+
+ dsl_use = Plugin.create(:dsl_use)
+ assert_equal(4, dsl_use.twice(2))
+ assert_equal(0, dsl_use.twice(0))
+ assert_equal(-26, dsl_use.twice(-13))
+ end
+
+ must "callback dsl" do
+ Plugin.create :dsl_def do
+ defdsl :rejector do |value, &condition|
+ value.reject(&condition)
+ end
+ end
+
+ dsl_use = Plugin.create(:dsl_use)
+ assert_equal([2, 4, 6], dsl_use.rejector(1..6){ |d| 0 != (d & 1) })
+ end
end