diff options
Diffstat (limited to 'spec/prompt_spec.rb')
-rw-r--r-- | spec/prompt_spec.rb | 37 |
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 |