changelog shortlog tags changeset manifest revisions annotate raw

vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb

changeset 16: 01fd3f10ae84
author: moriq@moriq.com
date: Mon Mar 10 10:13:18 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: add plugins rspec_on_rails
1require File.dirname(__FILE__) + '/../../spec_helper'
2
3describe "An AssignsHashProxy" do
4 before(:each) do
5 @object = Object.new
6 @assigns = Hash.new
7 @object.stub!(:assigns).and_return(@assigns)
8 @proxy = Spec::Rails::Example::AssignsHashProxy.new(@object)
9 end
10
11 it "has [] accessor" do
12 @proxy['foo'] = 'bar'
13 @assigns['foo'].should == 'bar'
14 @proxy['foo'].should == 'bar'
15 end
16
17 it "works for symbol key" do
18 @assigns[:foo] = 2
19 @proxy[:foo].should == 2
20 end
21
22 it "checks for string key before symbol key" do
23 @assigns['foo'] = false
24 @assigns[:foo] = 2
25 @proxy[:foo].should == false
26 end
27
28 it "each method iterates through each element like a Hash" do
29 values = {
30 'foo' => 1,
31 'bar' => 2,
32 'baz' => 3
33 }
34 @proxy['foo'] = values['foo']
35 @proxy['bar'] = values['bar']
36 @proxy['baz'] = values['baz']
37
38 @proxy.each do |key, value|
39 key.should == key
40 value.should == values[key]
41 end
42 end
43
44 it "delete method deletes the element of passed in key" do
45 @proxy['foo'] = 'bar'
46 @proxy.delete('foo').should == 'bar'
47 @proxy['foo'].should be_nil
48 end
49
50 it "has_key? detects the presence of a key" do
51 @proxy['foo'] = 'bar'
52 @proxy.has_key?('foo').should == true
53 @proxy.has_key?('bar').should == false
54 end
55end