summaryrefslogtreecommitdiff
path: root/spec/control_d_handler_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/control_d_handler_spec.rb')
-rw-r--r--spec/control_d_handler_spec.rb33
1 files changed, 21 insertions, 12 deletions
diff --git a/spec/control_d_handler_spec.rb b/spec/control_d_handler_spec.rb
index 5e21ccbe..030cefd6 100644
--- a/spec/control_d_handler_spec.rb
+++ b/spec/control_d_handler_spec.rb
@@ -1,48 +1,57 @@
RSpec.describe Pry::ControlDHandler do
context "when given eval string is non-empty" do
- let(:eval_string) { 'hello' }
- let(:pry_instance) { Pry.new }
+ let(:pry_instance) do
+ Pry.new.tap do |p|
+ p.eval_string = 'hello'
+ end
+ end
it "clears input buffer" do
- described_class.default(eval_string, pry_instance)
- expect(eval_string).to be_empty
+ described_class.default(pry_instance)
+ expect(pry_instance.eval_string).to be_empty
end
end
context "when given eval string is empty & pry instance has one binding" do
- let(:eval_string) { '' }
- let(:pry_instance) { Pry.new.tap { |p| p.binding_stack = [binding] } }
+ let(:pry_instance) do
+ Pry.new.tap do |p|
+ p.eval_string = ''
+ p.binding_stack = [binding]
+ end
+ end
it "throws :breakout" do
- expect { described_class.default(eval_string, pry_instance) }
+ expect { described_class.default(pry_instance) }
.to throw_symbol(:breakout)
end
it "clears binding stack" do
- expect { described_class.default(eval_string, pry_instance) }
+ expect { described_class.default(pry_instance) }
.to throw_symbol
expect(pry_instance.binding_stack).to be_empty
end
end
context "when given eval string is empty & pry instance has 2+ bindings" do
- let(:eval_string) { '' }
let(:binding1) { binding }
let(:binding2) { binding }
let(:binding_stack) { [binding1, binding2] }
let(:pry_instance) do
- Pry.new.tap { |p| p.binding_stack = binding_stack }
+ Pry.new.tap do |p|
+ p.eval_string = ''
+ p.binding_stack = binding_stack
+ end
end
it "saves a dup of the current binding stack in the 'cd' command" do
- described_class.default(eval_string, pry_instance)
+ described_class.default(pry_instance)
cd_state = pry_instance.commands['cd'].state
expect(cd_state.old_stack).to eq([binding1, binding2])
end
it "pops the binding off the stack" do
- described_class.default(eval_string, pry_instance)
+ described_class.default(pry_instance)
expect(pry_instance.binding_stack).to eq([binding1])
end
end