pry 0.9.8pre5-java → 0.9.8pre6-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  class Pry
2
- VERSION = "0.9.8pre5"
2
+ VERSION = "0.9.8pre6"
3
3
  end
@@ -1,35 +1,35 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.name = %q{pry}
5
- s.version = "0.9.8pre5"
4
+ s.name = "pry"
5
+ s.version = "0.9.8pre4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
8
- s.authors = [%q{John Mair (banisterfiend)}]
9
- s.date = %q{2012-01-19}
10
- s.description = %q{An IRB alternative and runtime developer console}
11
- s.email = %q{jrmair@gmail.com}
12
- s.executables = [%q{pry}]
13
- s.files = [%q{.document}, %q{.gemtest}, %q{.gitignore}, %q{.travis.yml}, %q{.yardopts}, %q{CHANGELOG}, %q{CONTRIBUTORS}, %q{Gemfile}, %q{LICENSE}, %q{README.markdown}, %q{Rakefile}, %q{TODO}, %q{bin/pry}, %q{examples/example_basic.rb}, %q{examples/example_command_override.rb}, %q{examples/example_commands.rb}, %q{examples/example_hooks.rb}, %q{examples/example_image_edit.rb}, %q{examples/example_input.rb}, %q{examples/example_input2.rb}, %q{examples/example_output.rb}, %q{examples/example_print.rb}, %q{examples/example_prompt.rb}, %q{examples/helper.rb}, %q{lib/pry.rb}, %q{lib/pry/cli.rb}, %q{lib/pry/command.rb}, %q{lib/pry/command_set.rb}, %q{lib/pry/commands.rb}, %q{lib/pry/completion.rb}, %q{lib/pry/config.rb}, %q{lib/pry/core_extensions.rb}, %q{lib/pry/custom_completions.rb}, %q{lib/pry/default_commands/basic.rb}, %q{lib/pry/default_commands/context.rb}, %q{lib/pry/default_commands/documentation.rb}, %q{lib/pry/default_commands/easter_eggs.rb}, %q{lib/pry/default_commands/gems.rb}, %q{lib/pry/default_commands/input.rb}, %q{lib/pry/default_commands/introspection.rb}, %q{lib/pry/default_commands/ls.rb}, %q{lib/pry/default_commands/shell.rb}, %q{lib/pry/extended_commands/experimental.rb}, %q{lib/pry/extended_commands/user_command_api.rb}, %q{lib/pry/helpers.rb}, %q{lib/pry/helpers/base_helpers.rb}, %q{lib/pry/helpers/command_helpers.rb}, %q{lib/pry/helpers/options_helpers.rb}, %q{lib/pry/helpers/text.rb}, %q{lib/pry/history.rb}, %q{lib/pry/history_array.rb}, %q{lib/pry/hooks.rb}, %q{lib/pry/indent.rb}, %q{lib/pry/method.rb}, %q{lib/pry/plugins.rb}, %q{lib/pry/pry_class.rb}, %q{lib/pry/pry_instance.rb}, %q{lib/pry/rbx_method.rb}, %q{lib/pry/rbx_path.rb}, %q{lib/pry/version.rb}, %q{lib/pry/wrapped_module.rb}, %q{man/pry.1}, %q{man/pry.1.html}, %q{man/pry.1.ronn}, %q{pry.gemspec}, %q{test/helper.rb}, %q{test/test_cli.rb}, %q{test/test_command.rb}, %q{test/test_command_helpers.rb}, %q{test/test_command_integration.rb}, %q{test/test_command_set.rb}, %q{test/test_completion.rb}, %q{test/test_default_commands.rb}, %q{test/test_default_commands/test_context.rb}, %q{test/test_default_commands/test_documentation.rb}, %q{test/test_default_commands/test_gems.rb}, %q{test/test_default_commands/test_input.rb}, %q{test/test_default_commands/test_introspection.rb}, %q{test/test_default_commands/test_ls.rb}, %q{test/test_default_commands/test_shell.rb}, %q{test/test_exception_whitelist.rb}, %q{test/test_history_array.rb}, %q{test/test_hooks.rb}, %q{test/test_indent.rb}, %q{test/test_input_stack.rb}, %q{test/test_method.rb}, %q{test/test_pry.rb}, %q{test/test_pry_defaults.rb}, %q{test/test_pry_history.rb}, %q{test/test_pry_output.rb}, %q{test/test_special_locals.rb}, %q{test/test_syntax_checking.rb}, %q{test/test_wrapped_module.rb}, %q{test/testrc}, %q{test/testrcbad}, %q{wiki/Customizing-pry.md}, %q{wiki/Home.md}]
14
- s.homepage = %q{http://pry.github.com}
15
- s.require_paths = [%q{lib}]
16
- s.rubygems_version = %q{1.8.6}
17
- s.summary = %q{An IRB alternative and runtime developer console}
18
- s.test_files = [%q{test/helper.rb}, %q{test/test_cli.rb}, %q{test/test_command.rb}, %q{test/test_command_helpers.rb}, %q{test/test_command_integration.rb}, %q{test/test_command_set.rb}, %q{test/test_completion.rb}, %q{test/test_default_commands.rb}, %q{test/test_default_commands/test_context.rb}, %q{test/test_default_commands/test_documentation.rb}, %q{test/test_default_commands/test_gems.rb}, %q{test/test_default_commands/test_input.rb}, %q{test/test_default_commands/test_introspection.rb}, %q{test/test_default_commands/test_ls.rb}, %q{test/test_default_commands/test_shell.rb}, %q{test/test_exception_whitelist.rb}, %q{test/test_history_array.rb}, %q{test/test_hooks.rb}, %q{test/test_indent.rb}, %q{test/test_input_stack.rb}, %q{test/test_method.rb}, %q{test/test_pry.rb}, %q{test/test_pry_defaults.rb}, %q{test/test_pry_history.rb}, %q{test/test_pry_output.rb}, %q{test/test_special_locals.rb}, %q{test/test_syntax_checking.rb}, %q{test/test_wrapped_module.rb}, %q{test/testrc}, %q{test/testrcbad}]
8
+ s.authors = ["John Mair (banisterfiend)"]
9
+ s.date = "2012-01-16"
10
+ s.description = "An IRB alternative and runtime developer console"
11
+ s.email = "jrmair@gmail.com"
12
+ s.executables = ["pry"]
13
+ s.files = [".document", ".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG", "CONTRIBUTORS", "Gemfile", "LICENSE", "README.markdown", "Rakefile", "TODO", "bin/pry", "examples/example_basic.rb", "examples/example_command_override.rb", "examples/example_commands.rb", "examples/example_hooks.rb", "examples/example_image_edit.rb", "examples/example_input.rb", "examples/example_input2.rb", "examples/example_output.rb", "examples/example_print.rb", "examples/example_prompt.rb", "examples/helper.rb", "lib/pry.rb", "lib/pry/cli.rb", "lib/pry/code.rb", "lib/pry/command.rb", "lib/pry/command_set.rb", "lib/pry/commands.rb", "lib/pry/completion.rb", "lib/pry/config.rb", "lib/pry/core_extensions.rb", "lib/pry/custom_completions.rb", "lib/pry/default_commands/basic.rb", "lib/pry/default_commands/context.rb", "lib/pry/default_commands/documentation.rb", "lib/pry/default_commands/easter_eggs.rb", "lib/pry/default_commands/gems.rb", "lib/pry/default_commands/input.rb", "lib/pry/default_commands/introspection.rb", "lib/pry/default_commands/ls.rb", "lib/pry/default_commands/shell.rb", "lib/pry/extended_commands/experimental.rb", "lib/pry/helpers.rb", "lib/pry/helpers/base_helpers.rb", "lib/pry/helpers/command_helpers.rb", "lib/pry/helpers/options_helpers.rb", "lib/pry/helpers/text.rb", "lib/pry/history.rb", "lib/pry/history_array.rb", "lib/pry/hooks.rb", "lib/pry/indent.rb", "lib/pry/method.rb", "lib/pry/plugins.rb", "lib/pry/pry_class.rb", "lib/pry/pry_instance.rb", "lib/pry/rbx_method.rb", "lib/pry/rbx_path.rb", "lib/pry/version.rb", "lib/pry/wrapped_module.rb", "man/pry.1", "man/pry.1.html", "man/pry.1.ronn", "pry.gemspec", "test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_special_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad", "wiki/Customizing-pry.md", "wiki/Home.md"]
14
+ s.homepage = "http://pry.github.com"
15
+ s.require_paths = ["lib"]
16
+ s.rubygems_version = "1.8.11"
17
+ s.summary = "An IRB alternative and runtime developer console"
18
+ s.test_files = ["test/helper.rb", "test/test_cli.rb", "test/test_code.rb", "test/test_command.rb", "test/test_command_helpers.rb", "test/test_command_integration.rb", "test/test_command_set.rb", "test/test_completion.rb", "test/test_default_commands.rb", "test/test_default_commands/test_context.rb", "test/test_default_commands/test_documentation.rb", "test/test_default_commands/test_gems.rb", "test/test_default_commands/test_input.rb", "test/test_default_commands/test_introspection.rb", "test/test_default_commands/test_ls.rb", "test/test_default_commands/test_shell.rb", "test/test_exception_whitelist.rb", "test/test_history_array.rb", "test/test_hooks.rb", "test/test_indent.rb", "test/test_input_stack.rb", "test/test_method.rb", "test/test_pry.rb", "test/test_pry_defaults.rb", "test/test_pry_history.rb", "test/test_pry_output.rb", "test/test_special_locals.rb", "test/test_syntax_checking.rb", "test/test_wrapped_module.rb", "test/testrc", "test/testrcbad"]
19
19
 
20
20
  if s.respond_to? :specification_version then
21
21
  s.specification_version = 3
22
22
 
23
23
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
24
24
  s.add_runtime_dependency(%q<coderay>, ["~> 1.0.5"])
25
- s.add_runtime_dependency(%q<slop>, ["< 3", ">= 2.4.1"])
25
+ s.add_runtime_dependency(%q<slop>, ["< 3", ">= 2.4.3"])
26
26
  s.add_runtime_dependency(%q<method_source>, ["~> 0.7"])
27
27
  s.add_development_dependency(%q<bacon>, ["~> 1.1"])
28
28
  s.add_development_dependency(%q<open4>, ["~> 1.3"])
29
29
  s.add_development_dependency(%q<rake>, ["~> 0.9"])
30
30
  else
31
31
  s.add_dependency(%q<coderay>, ["~> 1.0.5"])
32
- s.add_dependency(%q<slop>, ["< 3", ">= 2.4.1"])
32
+ s.add_dependency(%q<slop>, ["< 3", ">= 2.4.3"])
33
33
  s.add_dependency(%q<method_source>, ["~> 0.7"])
34
34
  s.add_dependency(%q<bacon>, ["~> 1.1"])
35
35
  s.add_dependency(%q<open4>, ["~> 1.3"])
@@ -37,7 +37,7 @@ Gem::Specification.new do |s|
37
37
  end
38
38
  else
39
39
  s.add_dependency(%q<coderay>, ["~> 1.0.5"])
40
- s.add_dependency(%q<slop>, ["< 3", ">= 2.4.1"])
40
+ s.add_dependency(%q<slop>, ["< 3", ">= 2.4.3"])
41
41
  s.add_dependency(%q<method_source>, ["~> 0.7"])
42
42
  s.add_dependency(%q<bacon>, ["~> 1.1"])
43
43
  s.add_dependency(%q<open4>, ["~> 1.3"])
@@ -30,23 +30,12 @@ class << Pry
30
30
  end
31
31
  end
32
32
 
33
- class MockPryException
34
- attr_accessor :bt_index
35
- attr_accessor :backtrace
36
-
37
- def initialize(*backtrace)
38
- @backtrace = backtrace
39
- @bt_index = 0
40
- end
41
-
42
- def message
43
- "mock exception"
44
- end
45
-
46
- def bt_source_location_for(index)
47
- backtrace[index] =~ /(.*):(\d+)/
48
- [$1, $2.to_i]
33
+ def mock_exception(*mock_backtrace)
34
+ e = StandardError.new("mock exception")
35
+ (class << e; self; end).class_eval do
36
+ define_method(:backtrace) { mock_backtrace }
49
37
  end
38
+ e
50
39
  end
51
40
 
52
41
  Pry.reset_defaults
@@ -132,15 +121,12 @@ end
132
121
 
133
122
  class InputTester
134
123
  def initialize(*actions)
135
- if actions.last.is_a?(Hash) && actions.last.keys == [:history]
136
- @hist = actions.pop[:history]
137
- end
138
124
  @orig_actions = actions.dup
139
125
  @actions = actions
140
126
  end
141
127
 
142
128
  def readline(*)
143
- @actions.shift.tap{ |line| @hist << line if @hist }
129
+ @actions.shift
144
130
  end
145
131
 
146
132
  def rewind
@@ -159,11 +145,11 @@ end
159
145
 
160
146
  # Open a temp file and yield it to the block, closing it after
161
147
  # @return [String] The path of the temp file
162
- def temp_file
163
- file = Tempfile.new('pry')
148
+ def temp_file(ext='.rb')
149
+ file = Tempfile.new(['pry', ext])
164
150
  yield file
165
151
  ensure
166
- file.close(true)
152
+ file.close(true) if file
167
153
  end
168
154
 
169
155
 
@@ -0,0 +1,201 @@
1
+ require 'helper'
2
+
3
+ describe Pry::Code do
4
+ describe '.from_file' do
5
+ should 'read lines from a file on disk' do
6
+ Pry::Code.from_file('lib/pry.rb').length.should > 0
7
+ end
8
+
9
+ should 'read lines from Pry\'s line buffer' do
10
+ mock_pry(':hay_guys')
11
+ Pry::Code.from_file('(pry)').grep(/:hay_guys/).length.should == 1
12
+ end
13
+
14
+ should 'default to Ruby' do
15
+ temp_file('') do |f|
16
+ Pry::Code.from_file(f.path).code_type.should == :ruby
17
+ end
18
+ end
19
+
20
+ should 'check the extension' do
21
+ temp_file('.c') do |f|
22
+ Pry::Code.from_file(f.path).code_type.should == :c
23
+ end
24
+ end
25
+
26
+ should 'raise an error if the file doesn\'t exist' do
27
+ proc do
28
+ Pry::Code.from_file('/knalkjsdnalsd/alkjdlkq')
29
+ end.should.raise(Pry::CommandError)
30
+ end
31
+ end
32
+
33
+ describe '.from_method' do
34
+ should 'read lines from a method\'s definition' do
35
+ m = Pry::Method.from_obj(Pry, :load_history)
36
+ Pry::Code.from_method(m).length.should > 0
37
+ end
38
+ end
39
+
40
+ describe '#initialize' do
41
+ before do
42
+ @str = Pry::Helpers::CommandHelpers.unindent <<-CODE
43
+ def hay
44
+ :guys
45
+ end
46
+ CODE
47
+
48
+ @array = ['def hay', ' :guys', 'end']
49
+ end
50
+
51
+ should 'break a string into lines' do
52
+ Pry::Code.new(@str).length.should == 3
53
+ end
54
+
55
+ should 'accept an array' do
56
+ Pry::Code.new(@array).length.should == 3
57
+ end
58
+
59
+ it 'an array or string should produce an equivalent object' do
60
+ Pry::Code.new(@str).should == Pry::Code.new(@array)
61
+ end
62
+ end
63
+
64
+ describe 'filters and formatters' do
65
+ before do
66
+ @code = Pry::Code(Pry::Helpers::CommandHelpers.unindent <<-STR)
67
+ class MyProgram
68
+ def self.main
69
+ puts 'Hello, world!'
70
+ end
71
+ end
72
+ STR
73
+ end
74
+
75
+ describe 'filters' do
76
+ describe '#between' do
77
+ should 'work with an inclusive range' do
78
+ @code = @code.between(1..3)
79
+ @code.length.should == 3
80
+ @code.should =~ /\Aclass MyProgram/
81
+ @code.should =~ /world!'\Z/
82
+ end
83
+
84
+ should 'default to an inclusive range' do
85
+ @code = @code.between(3, 5)
86
+ @code.length.should == 3
87
+ end
88
+
89
+ should 'work with an exclusive range' do
90
+ @code = @code.between(2...4)
91
+ @code.length.should == 2
92
+ @code.should =~ /\A def self/
93
+ @code.should =~ /world!'\Z/
94
+ end
95
+
96
+ should 'use real line numbers for positive indices' do
97
+ @code = @code.after(3, 3)
98
+ @code = @code.between(4, 4)
99
+ @code.length.should == 1
100
+ @code.should =~ /\A end\Z/
101
+ end
102
+ end
103
+
104
+ describe '#before' do
105
+ should 'work' do
106
+ @code = @code.before(3, 1)
107
+ @code.should =~ /\A def self\.main\Z/
108
+ end
109
+ end
110
+
111
+ describe '#around' do
112
+ should 'work' do
113
+ @code = @code.around(3, 1)
114
+ @code.length.should == 3
115
+ @code.should =~ /\A def self/
116
+ @code.should =~ / end\Z/
117
+ end
118
+ end
119
+
120
+ describe '#after' do
121
+ should 'work' do
122
+ @code = @code.after(3, 1)
123
+ @code.should =~ /\A end\Z/
124
+ end
125
+ end
126
+
127
+ describe '#grep' do
128
+ should 'work' do
129
+ @code = @code.grep(/end/)
130
+ @code.length.should == 2
131
+ end
132
+ end
133
+ end
134
+
135
+ describe 'formatters' do
136
+ describe '#with_line_numbers' do
137
+ should 'show line numbers' do
138
+ @code = @code.with_line_numbers
139
+ @code.should =~ /1:/
140
+ end
141
+
142
+ should 'disable line numbers when falsy' do
143
+ @code = @code.with_line_numbers
144
+ @code = @code.with_line_numbers(false)
145
+ @code.should.not =~ /1:/
146
+ end
147
+ end
148
+
149
+ describe '#with_marker' do
150
+ should 'show a marker in the right place' do
151
+ @code = @code.with_marker(2)
152
+ @code.should =~ /^ => def self/
153
+ end
154
+
155
+ should 'disable the marker when falsy' do
156
+ @code = @code.with_marker(2)
157
+ @code = @code.with_marker(false)
158
+ @code.should =~ /^ def self/
159
+ end
160
+ end
161
+
162
+ describe '#with_indentation' do
163
+ should 'indent the text' do
164
+ @code = @code.with_indentation(2)
165
+ @code.should =~ /^ def self/
166
+ end
167
+
168
+ should 'disable the indentation when falsy' do
169
+ @code = @code.with_indentation(2)
170
+ @code = @code.with_indentation(false)
171
+ @code.should =~ /^ def self/
172
+ end
173
+ end
174
+ end
175
+
176
+ describe 'composition' do
177
+ describe 'grep and with_line_numbers' do
178
+ should 'work' do
179
+ @code = @code.grep(/end/).with_line_numbers
180
+ @code.should =~ /\A4: end/
181
+ @code.should =~ /5: end\Z/
182
+ end
183
+ end
184
+
185
+ describe 'grep and before and with_line_numbers' do
186
+ should 'work' do
187
+ @code = @code.grep(/e/).before(5, 5).with_line_numbers
188
+ @code.should =~ /\A2: def self.main\n3:/
189
+ @code.should =~ /4: end\Z/
190
+ end
191
+ end
192
+
193
+ describe 'before and after' do
194
+ should 'work' do
195
+ @code = @code.before(4, 2).after(2)
196
+ @code.should == " puts 'Hello, world!'"
197
+ end
198
+ end
199
+ end
200
+ end
201
+ end
@@ -223,6 +223,16 @@ describe "Pry::Command" do
223
223
 
224
224
  mock_command(cmd, %w(--four 4 four))
225
225
  end
226
+
227
+ it 'should allow overriding options after definition' do
228
+ cmd = @set.command_class /number-(one|two)/, "Lieutenants of the Golgafrinchan Captain", :shellwords => false do
229
+
230
+ command_options :listing => 'number-one'
231
+ end
232
+
233
+ cmd.command_options[:shellwords].should == false
234
+ cmd.command_options[:listing].should == 'number-one'
235
+ end
226
236
  end
227
237
 
228
238
  describe 'tokenize' do
@@ -235,7 +235,7 @@ describe "Pry::DefaultCommands::Input" do
235
235
  @hist.push "hello"
236
236
  @hist.push "world"
237
237
  str_output = StringIO.new
238
- redirect_pry_io(InputTester.new("hist", "exit-all", :history => @hist), str_output) do
238
+ redirect_pry_io(InputTester.new("hist", "exit-all"), str_output) do
239
239
  pry
240
240
  end
241
241
  str_output.string.should =~ /hello\n.*world/
@@ -246,7 +246,7 @@ describe "Pry::DefaultCommands::Input" do
246
246
  @hist.push ":bucket"
247
247
  @hist.push ":ostrich"
248
248
  str_output = StringIO.new
249
- redirect_pry_io(InputTester.new("hist --replay -1", "exit-all", :history => @hist), str_output) do
249
+ redirect_pry_io(InputTester.new("hist --replay -1", "exit-all"), str_output) do
250
250
  pry
251
251
  end
252
252
  str_output.string.should =~ /ostrich/
@@ -256,7 +256,7 @@ describe "Pry::DefaultCommands::Input" do
256
256
  @hist.push ":hello"
257
257
  @hist.push ":carl"
258
258
  str_output = StringIO.new
259
- redirect_pry_io(InputTester.new("hist --replay 0..2", "exit-all", :history => @hist), str_output) do
259
+ redirect_pry_io(InputTester.new("hist --replay 0..2", "exit-all"), str_output) do
260
260
  pry
261
261
  end
262
262
  str_output.string.should =~ /:hello\n.*:carl/
@@ -274,21 +274,21 @@ describe "Pry::DefaultCommands::Input" do
274
274
  @hist.push "place holder"
275
275
 
276
276
  str_output = StringIO.new
277
- redirect_pry_io(InputTester.new("hist --grep o", "exit-all", :history => @hist), str_output) do
277
+ redirect_pry_io(InputTester.new("hist --grep o", "exit-all"), str_output) do
278
278
  pry
279
279
  end
280
280
  str_output.string.should =~ /\d:.*?box\n\d:.*?button\n\d:.*?orange/
281
281
 
282
282
  # test more than one word in a regex match (def blah)
283
283
  str_output = StringIO.new
284
- redirect_pry_io(InputTester.new("hist --grep def blah", "exit-all", :history => @hist), str_output) do
284
+ redirect_pry_io(InputTester.new("hist --grep def blah", "exit-all"), str_output) do
285
285
  pry
286
286
  end
287
287
  str_output.string.should =~ /def blah 1/
288
288
 
289
289
  # test more than one word with leading white space in a regex match (def boink)
290
290
  str_output = StringIO.new
291
- redirect_pry_io(InputTester.new("hist --grep def boink", "exit-all", :history => @hist), str_output) do
291
+ redirect_pry_io(InputTester.new("hist --grep def boink", "exit-all"), str_output) do
292
292
  pry
293
293
  end
294
294
  str_output.string.should =~ /def boink 2/
@@ -300,7 +300,7 @@ describe "Pry::DefaultCommands::Input" do
300
300
  end
301
301
 
302
302
  str_output = StringIO.new
303
- redirect_pry_io(InputTester.new("hist --tail 3", "exit-all", :history => @hist), str_output) do
303
+ redirect_pry_io(InputTester.new("hist --tail 3", "exit-all"), str_output) do
304
304
  pry
305
305
  end
306
306
 
@@ -316,7 +316,7 @@ describe "Pry::DefaultCommands::Input" do
316
316
  end
317
317
 
318
318
  str_output = StringIO.new
319
- redirect_pry_io(InputTester.new("hist --head 4", "exit-all", :history => @hist), str_output) do
319
+ redirect_pry_io(InputTester.new("hist --head 4", "exit-all"), str_output) do
320
320
  pry
321
321
  end
322
322
 
@@ -332,7 +332,7 @@ describe "Pry::DefaultCommands::Input" do
332
332
  end
333
333
 
334
334
  str_output = StringIO.new
335
- redirect_pry_io(InputTester.new("hist --show 1..4", "exit-all", :history => @hist), str_output) do
335
+ redirect_pry_io(InputTester.new("hist --show 1..4", "exit-all"), str_output) do
336
336
  pry
337
337
  end
338
338
 
@@ -342,7 +342,7 @@ describe "Pry::DefaultCommands::Input" do
342
342
 
343
343
  it "should not contain duplicated lines" do
344
344
  str_output = StringIO.new
345
- redirect_pry_io(InputTester.new("3", "_ += 1", "_ += 1", "hist", "exit-all", :history => @hist), str_output) do
345
+ redirect_pry_io(InputTester.new("3", "_ += 1", "_ += 1", "hist", "exit-all"), str_output) do
346
346
  pry
347
347
  end
348
348
 
@@ -351,7 +351,7 @@ describe "Pry::DefaultCommands::Input" do
351
351
 
352
352
  it "should not contain duplicated lines" do
353
353
  str_output = StringIO.new
354
- redirect_pry_io(InputTester.new(":place_holder", "2 + 2", "", "", "3 + 3", "hist", "exit-all", :history => @hist), str_output) do
354
+ redirect_pry_io(InputTester.new(":place_holder", "2 + 2", "", "", "3 + 3", "hist", "exit-all"), str_output) do
355
355
  pry
356
356
  end
357
357
 
@@ -133,7 +133,7 @@ describe "Pry::DefaultCommands::Introspection" do
133
133
 
134
134
  it 'should start editor on first level of backtrace when --ex used with no argument ' do
135
135
  pry_instance = Pry.new(:input => StringIO.new("edit -n --ex"), :output => StringIO.new)
136
- pry_instance.last_exception = MockPryException.new("a:1", "b:2", "c:3")
136
+ pry_instance.last_exception = mock_exception("a:1", "b:2", "c:3")
137
137
  pry_instance.rep(self)
138
138
  @__ex_file__.should == "a"
139
139
  @__ex_line__.should == 1
@@ -141,7 +141,7 @@ describe "Pry::DefaultCommands::Introspection" do
141
141
 
142
142
  it 'should start editor on first level of backtrace when --ex 0 used ' do
143
143
  pry_instance = Pry.new(:input => StringIO.new("edit -n --ex 0"), :output => StringIO.new)
144
- pry_instance.last_exception = MockPryException.new("a:1", "b:2", "c:3")
144
+ pry_instance.last_exception = mock_exception("a:1", "b:2", "c:3")
145
145
  pry_instance.rep(self)
146
146
  @__ex_file__.should == "a"
147
147
  @__ex_line__.should == 1
@@ -149,7 +149,7 @@ describe "Pry::DefaultCommands::Introspection" do
149
149
 
150
150
  it 'should start editor on second level of backtrace when --ex 1 used' do
151
151
  pry_instance = Pry.new(:input => StringIO.new("edit -n --ex 1"), :output => StringIO.new)
152
- pry_instance.last_exception = MockPryException.new("a:1", "b:2", "c:3")
152
+ pry_instance.last_exception = mock_exception("a:1", "b:2", "c:3")
153
153
  pry_instance.rep(self)
154
154
  @__ex_file__.should == "b"
155
155
  @__ex_line__.should == 2
@@ -157,7 +157,7 @@ describe "Pry::DefaultCommands::Introspection" do
157
157
 
158
158
  it 'should start editor on third level of backtrace when --ex 2 used' do
159
159
  pry_instance = Pry.new(:input => StringIO.new("edit -n --ex 2"), :output => StringIO.new)
160
- pry_instance.last_exception = MockPryException.new("a:1", "b:2", "c:3")
160
+ pry_instance.last_exception = mock_exception("a:1", "b:2", "c:3")
161
161
  pry_instance.rep(self)
162
162
  @__ex_file__.should == "c"
163
163
  @__ex_line__.should == 3
@@ -165,7 +165,7 @@ describe "Pry::DefaultCommands::Introspection" do
165
165
 
166
166
  it 'should display error message when backtrace level is out of bounds (using --ex 4)' do
167
167
  pry_instance = Pry.new(:input => StringIO.new("edit -n --ex 4"), :output => str_output = StringIO.new)
168
- pry_instance.last_exception = MockPryException.new("a:1", "b:2", "c:3")
168
+ pry_instance.last_exception = mock_exception("a:1", "b:2", "c:3")
169
169
  pry_instance.rep(self)
170
170
  str_output.string.should =~ /Exception has no associated file/
171
171
  end