summaryrefslogtreecommitdiff
path: root/spec/prompt_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/prompt_spec.rb')
-rw-r--r--spec/prompt_spec.rb37
1 files changed, 36 insertions, 1 deletions
diff --git a/spec/prompt_spec.rb b/spec/prompt_spec.rb
index d376e5ec..f026c667 100644
--- a/spec/prompt_spec.rb
+++ b/spec/prompt_spec.rb
@@ -1,6 +1,41 @@
require_relative 'helper'
describe Pry::Prompt do
+ describe ".[]" do
+ it "accesses prompts" do
+ expect(subject[:default]).not_to be_nil
+ end
+ end
+
+ describe ".all" do
+ it "returns a hash with prompts" do
+ expect(subject.all).to be_a(Hash)
+ end
+
+ it "returns a duplicate of original prompts" do
+ subject.all[:foobar] = Object.new
+ expect(subject[:foobar]).to be_nil
+ end
+ end
+
+ describe ".add" do
+ after { described_class.instance_variable_get(:@prompts).delete(:my_prompt) }
+
+ it "adds a new prompt" do
+ subject.add(:my_prompt)
+ expect(subject[:my_prompt]).to be_a(Hash)
+ end
+
+ it "raises error when separators.size != 2" do
+ expect { subject.add(:my_prompt, '', [1, 2, 3]) }
+ .to raise_error(ArgumentError)
+ end
+
+ it "returns nil" do
+ expect(subject.add(:my_prompt)).to be_nil
+ end
+ end
+
describe "one-parameter prompt proc" do
it 'should get full config object' do
config = nil
@@ -80,7 +115,7 @@ describe Pry::Prompt do
end
config._pry_.config.prompt_name = Pry.lazy { enum.next }
- proc = subject::DEFAULT.first
+ proc = subject[:default][:value].first
expect(proc.call(Object.new, 1, config._pry_)).to eq('[1] 101(#<Object>):1> ')
expect(proc.call(Object.new, 1, config._pry_)).to eq('[1] 102(#<Object>):1> ')
end