[ruby/irb] Page show_source's output
(https://github.com/ruby/irb/pull/719) https://github.com/ruby/irb/commit/3cedc5cb62
This commit is contained in:
parent
c0d27af114
commit
f59b488b5a
@ -2,6 +2,7 @@
|
||||
|
||||
require_relative "nop"
|
||||
require_relative "../source_finder"
|
||||
require_relative "../pager"
|
||||
require_relative "../color"
|
||||
|
||||
module IRB
|
||||
@ -40,12 +41,16 @@ module IRB
|
||||
private
|
||||
|
||||
def show_source(source)
|
||||
puts
|
||||
puts "#{bold("From")}: #{source.file}:#{source.first_line}"
|
||||
puts
|
||||
code = IRB::Color.colorize_code(File.read(source.file))
|
||||
puts code.lines[(source.first_line - 1)...source.last_line].join
|
||||
puts
|
||||
file_content = IRB::Color.colorize_code(File.read(source.file))
|
||||
code = file_content.lines[(source.first_line - 1)...source.last_line].join
|
||||
content = <<~CONTENT
|
||||
|
||||
#{bold("From")}: #{source.file}:#{source.first_line}
|
||||
|
||||
#{code}
|
||||
CONTENT
|
||||
|
||||
Pager.page_content(content)
|
||||
end
|
||||
|
||||
def bold(str)
|
||||
|
@ -6,6 +6,11 @@ require_relative "helper"
|
||||
module TestIRB
|
||||
class InputTest < IntegrationTestCase
|
||||
def test_symbol_aliases_are_handled_correctly
|
||||
write_rc <<~RUBY
|
||||
# disable pager
|
||||
STDIN.singleton_class.define_method(:tty?) { false }
|
||||
RUBY
|
||||
|
||||
write_ruby <<~'RUBY'
|
||||
class Foo
|
||||
end
|
||||
@ -21,12 +26,11 @@ module TestIRB
|
||||
end
|
||||
|
||||
def test_symbol_aliases_are_handled_correctly_with_singleline_mode
|
||||
@irbrc = Tempfile.new('irbrc')
|
||||
@irbrc.write <<~RUBY
|
||||
write_rc <<~RUBY
|
||||
# disable pager
|
||||
STDIN.singleton_class.define_method(:tty?) { false }
|
||||
IRB.conf[:USE_SINGLELINE] = true
|
||||
RUBY
|
||||
@irbrc.close
|
||||
@envs['IRBRC'] = @irbrc.path
|
||||
|
||||
write_ruby <<~'RUBY'
|
||||
class Foo
|
||||
@ -43,8 +47,6 @@ module TestIRB
|
||||
# Make sure it's tested in singleline mode
|
||||
assert_include output, "InputMethod: ReadlineInputMethod"
|
||||
assert_include output, "From: #{@ruby_file.path}:1"
|
||||
ensure
|
||||
@irbrc.unlink if @irbrc
|
||||
end
|
||||
|
||||
def test_symbol_aliases_dont_affect_ruby_syntax
|
||||
|
Loading…
x
Reference in New Issue
Block a user