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
|
||||
|
||||
def completion_proc=(p)
|
||||
raise ArgumentError unless p.is_a?(Proc)
|
||||
raise ArgumentError unless p.respond_to?(:call)
|
||||
@completion_proc = p
|
||||
end
|
||||
|
||||
def output_modifier_proc=(p)
|
||||
raise ArgumentError unless p.is_a?(Proc)
|
||||
raise ArgumentError unless p.respond_to?(:call)
|
||||
@output_modifier_proc = p
|
||||
end
|
||||
|
||||
def prompt_proc=(p)
|
||||
raise ArgumentError unless p.is_a?(Proc)
|
||||
raise ArgumentError unless p.respond_to?(:call)
|
||||
@prompt_proc = p
|
||||
end
|
||||
|
||||
def auto_indent_proc=(p)
|
||||
raise ArgumentError unless p.is_a?(Proc)
|
||||
raise ArgumentError unless p.respond_to?(:call)
|
||||
@auto_indent_proc = p
|
||||
end
|
||||
|
||||
|
@ -108,7 +108,7 @@ module Reline
|
|||
end
|
||||
|
||||
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
|
||||
end
|
||||
|
||||
|
|
|
@ -2,6 +2,10 @@ require_relative 'helper'
|
|||
require "reline"
|
||||
|
||||
class Reline::Test < Reline::TestCase
|
||||
class DummyCallbackObject
|
||||
def call; end
|
||||
end
|
||||
|
||||
def setup
|
||||
end
|
||||
|
||||
|
@ -102,6 +106,10 @@ class Reline::Test < Reline::TestCase
|
|||
|
||||
assert_raise(ArgumentError) { Reline.completion_proc = 42 }
|
||||
assert_raise(ArgumentError) { Reline.completion_proc = "hoge" }
|
||||
|
||||
dummy = DummyCallbackObject.new
|
||||
Reline.completion_proc = dummy
|
||||
assert_equal(dummy, Reline.completion_proc)
|
||||
end
|
||||
|
||||
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 = "hoge" }
|
||||
|
||||
dummy = DummyCallbackObject.new
|
||||
Reline.output_modifier_proc = dummy
|
||||
assert_equal(dummy, Reline.output_modifier_proc)
|
||||
end
|
||||
|
||||
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 = "hoge" }
|
||||
|
||||
dummy = DummyCallbackObject.new
|
||||
Reline.prompt_proc = dummy
|
||||
assert_equal(dummy, Reline.prompt_proc)
|
||||
end
|
||||
|
||||
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 = "hoge" }
|
||||
|
||||
dummy = DummyCallbackObject.new
|
||||
Reline.auto_indent_proc = dummy
|
||||
assert_equal(dummy, Reline.auto_indent_proc)
|
||||
end
|
||||
|
||||
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 = "hoge" }
|
||||
|
||||
dummy = DummyCallbackObject.new
|
||||
Reline.dig_perfect_match_proc = dummy
|
||||
assert_equal(dummy, Reline.dig_perfect_match_proc)
|
||||
end
|
||||
|
||||
def test_insert_text
|
||||
|
|
Loading…
Add table
Reference in a new issue