mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Change argument Proc
to #call
defined object.
This is the same as the behavior of Readline.
This commit is contained in:
parent
81586a4d9f
commit
6723aa07e5
2 changed files with 29 additions and 5 deletions
|
@ -84,22 +84,22 @@ module Reline
|
||||||
end
|
end
|
||||||
|
|
||||||
def completion_proc=(p)
|
def completion_proc=(p)
|
||||||
raise ArgumentError unless p.is_a?(Proc)
|
raise ArgumentError unless p.respond_to?(:call)
|
||||||
@completion_proc = p
|
@completion_proc = p
|
||||||
end
|
end
|
||||||
|
|
||||||
def output_modifier_proc=(p)
|
def output_modifier_proc=(p)
|
||||||
raise ArgumentError unless p.is_a?(Proc)
|
raise ArgumentError unless p.respond_to?(:call)
|
||||||
@output_modifier_proc = p
|
@output_modifier_proc = p
|
||||||
end
|
end
|
||||||
|
|
||||||
def prompt_proc=(p)
|
def prompt_proc=(p)
|
||||||
raise ArgumentError unless p.is_a?(Proc)
|
raise ArgumentError unless p.respond_to?(:call)
|
||||||
@prompt_proc = p
|
@prompt_proc = p
|
||||||
end
|
end
|
||||||
|
|
||||||
def auto_indent_proc=(p)
|
def auto_indent_proc=(p)
|
||||||
raise ArgumentError unless p.is_a?(Proc)
|
raise ArgumentError unless p.respond_to?(:call)
|
||||||
@auto_indent_proc = p
|
@auto_indent_proc = p
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ module Reline
|
||||||
end
|
end
|
||||||
|
|
||||||
def dig_perfect_match_proc=(p)
|
def dig_perfect_match_proc=(p)
|
||||||
raise ArgumentError unless p.is_a?(Proc)
|
raise ArgumentError unless p.respond_to?(:call)
|
||||||
@dig_perfect_match_proc = p
|
@dig_perfect_match_proc = p
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,10 @@ require_relative 'helper'
|
||||||
require "reline"
|
require "reline"
|
||||||
|
|
||||||
class Reline::Test < Reline::TestCase
|
class Reline::Test < Reline::TestCase
|
||||||
|
class DummyCallbackObject
|
||||||
|
def call; end
|
||||||
|
end
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -102,6 +106,10 @@ class Reline::Test < Reline::TestCase
|
||||||
|
|
||||||
assert_raise(ArgumentError) { Reline.completion_proc = 42 }
|
assert_raise(ArgumentError) { Reline.completion_proc = 42 }
|
||||||
assert_raise(ArgumentError) { Reline.completion_proc = "hoge" }
|
assert_raise(ArgumentError) { Reline.completion_proc = "hoge" }
|
||||||
|
|
||||||
|
dummy = DummyCallbackObject.new
|
||||||
|
Reline.completion_proc = dummy
|
||||||
|
assert_equal(dummy, Reline.completion_proc)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_output_modifier_proc
|
def test_output_modifier_proc
|
||||||
|
@ -117,6 +125,10 @@ class Reline::Test < Reline::TestCase
|
||||||
|
|
||||||
assert_raise(ArgumentError) { Reline.output_modifier_proc = 42 }
|
assert_raise(ArgumentError) { Reline.output_modifier_proc = 42 }
|
||||||
assert_raise(ArgumentError) { Reline.output_modifier_proc = "hoge" }
|
assert_raise(ArgumentError) { Reline.output_modifier_proc = "hoge" }
|
||||||
|
|
||||||
|
dummy = DummyCallbackObject.new
|
||||||
|
Reline.output_modifier_proc = dummy
|
||||||
|
assert_equal(dummy, Reline.output_modifier_proc)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_prompt_proc
|
def test_prompt_proc
|
||||||
|
@ -132,6 +144,10 @@ class Reline::Test < Reline::TestCase
|
||||||
|
|
||||||
assert_raise(ArgumentError) { Reline.prompt_proc = 42 }
|
assert_raise(ArgumentError) { Reline.prompt_proc = 42 }
|
||||||
assert_raise(ArgumentError) { Reline.prompt_proc = "hoge" }
|
assert_raise(ArgumentError) { Reline.prompt_proc = "hoge" }
|
||||||
|
|
||||||
|
dummy = DummyCallbackObject.new
|
||||||
|
Reline.prompt_proc = dummy
|
||||||
|
assert_equal(dummy, Reline.prompt_proc)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_auto_indent_proc
|
def test_auto_indent_proc
|
||||||
|
@ -147,6 +163,10 @@ class Reline::Test < Reline::TestCase
|
||||||
|
|
||||||
assert_raise(ArgumentError) { Reline.auto_indent_proc = 42 }
|
assert_raise(ArgumentError) { Reline.auto_indent_proc = 42 }
|
||||||
assert_raise(ArgumentError) { Reline.auto_indent_proc = "hoge" }
|
assert_raise(ArgumentError) { Reline.auto_indent_proc = "hoge" }
|
||||||
|
|
||||||
|
dummy = DummyCallbackObject.new
|
||||||
|
Reline.auto_indent_proc = dummy
|
||||||
|
assert_equal(dummy, Reline.auto_indent_proc)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_pre_input_hook
|
def test_pre_input_hook
|
||||||
|
@ -174,6 +194,10 @@ class Reline::Test < Reline::TestCase
|
||||||
|
|
||||||
assert_raise(ArgumentError) { Reline.dig_perfect_match_proc = 42 }
|
assert_raise(ArgumentError) { Reline.dig_perfect_match_proc = 42 }
|
||||||
assert_raise(ArgumentError) { Reline.dig_perfect_match_proc = "hoge" }
|
assert_raise(ArgumentError) { Reline.dig_perfect_match_proc = "hoge" }
|
||||||
|
|
||||||
|
dummy = DummyCallbackObject.new
|
||||||
|
Reline.dig_perfect_match_proc = dummy
|
||||||
|
assert_equal(dummy, Reline.dig_perfect_match_proc)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_insert_text
|
def test_insert_text
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue