diff options
author | Toshiaki Asai <qtoship@gmail.com> | 2013-02-15 02:04:11 +0900 |
---|---|---|
committer | Toshiaki Asai <qtoship@gmail.com> | 2013-02-15 02:04:11 +0900 |
commit | 19feff7daeeacfd9f6565ce643e29b34701aefcd (patch) | |
tree | 837e3c266a8d01202d55a8b716dd6f195c127901 /test | |
parent | 173b96d56bb9ce177dddeb677068346f48ac9119 (diff) | |
download | mikutter-19feff7daeeacfd9f6565ce643e29b34701aefcd.tar.gz |
DSLメソッドを拡張する仕組みを追加した
Diffstat (limited to 'test')
-rw-r--r-- | test/core/test_plugin.rb | 23 |
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 |