33 lines
		
	
	
		
			830 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			830 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| describe Hbc::DSL::StanzaProxy, :cask do
 | |
|   let(:stanza_proxy) {
 | |
|     described_class.new(Array) { [:foo, :bar, :cake] }
 | |
|   }
 | |
| 
 | |
|   subject { stanza_proxy }
 | |
|   it { is_expected.to be_a_proxy }
 | |
|   it { is_expected.to respond_to(:pop) }
 | |
|   its(:pop) { is_expected.to eq(:cake) }
 | |
|   its(:type) { is_expected.to eq(Array) }
 | |
|   its(:to_s) { is_expected.to eq("[:foo, :bar, :cake]") }
 | |
| 
 | |
|   describe "when initialized" do
 | |
|     let(:initializing) {
 | |
|       proc { |b| described_class.new(Array, &b) }
 | |
|     }
 | |
| 
 | |
|     it "does not evaluate the block" do
 | |
|       expect(&initializing).not_to yield_control
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   describe "when receiving a message" do
 | |
|     let(:receiving_a_message) {
 | |
|       proc { |b| described_class.new(Array, &b).to_s }
 | |
|     }
 | |
| 
 | |
|     it "evaluates the block" do
 | |
|       expect(&receiving_a_message).to yield_with_no_args
 | |
|     end
 | |
|   end
 | |
| end
 | 
