diff options
author | Francis Irving <francis@mysociety.org> | 2009-12-02 17:51:30 +0000 |
---|---|---|
committer | Francis Irving <francis@mysociety.org> | 2009-12-02 17:51:30 +0000 |
commit | 5f3139b538d1ff58b719a72d7c7cf05a5b6136b5 (patch) | |
tree | 13597cf6751df3122bfb1f1e5b1699e5c7ec5f93 /vendor/plugins/rspec/examples/ruby1.9.compatibility | |
parent | dcf788cab6268a5c9830178d1bdff606f84132ce (diff) |
Part of upgrade to rails 2.3.2
Diffstat (limited to 'vendor/plugins/rspec/examples/ruby1.9.compatibility')
-rw-r--r-- | vendor/plugins/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/vendor/plugins/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb b/vendor/plugins/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb new file mode 100644 index 000000000..b34b8ba6d --- /dev/null +++ b/vendor/plugins/rspec/examples/ruby1.9.compatibility/access_to_constants_spec.rb @@ -0,0 +1,85 @@ +# courtesy of Matthias Hennemeyer +# +# The following should pass against ruby 1.8 and 1.9. It currently only passes +# 1.8 (as of 1/2/2009) +# +# Once cucumber supports ruby 1.9, this should be moved to cucumber scenarios instead. +module Foo + module Bar + + module ModuleInEnclosingModule;end + class ClassInEnclosingModule;end + def method_in_enclosing_module;end + CONSTANT_IN_ENCLOSING_MODULE = 0 + + describe "Examples trying to access constants defined in an enclosing module" do + + it "can access Modules" do + ModuleInEnclosingModule + end + it "can access Classes" do + ClassInEnclosingModule.new + end + it "can access CONSTANTS" do + CONSTANT_IN_ENCLOSING_MODULE + end + it "can NOT access methods" do + lambda {method_in_enclosing_module}.should raise_error(/undefined/) + end + + describe "from a nested example group" do + + it "can access Modules" do + ModuleInEnclosingModule + end + it "can access Classes" do + ClassInEnclosingModule.new + end + it "can access CONSTANTS" do + CONSTANT_IN_ENCLOSING_MODULE + end + it "can NOT access methods" do + lambda {method_in_enclosing_module}.should raise_error(/undefined/) + end + + end + + end + + describe "Examples trying to access constants defined in the example group" do + + module ModuleDefinedInGroup;end + class ClassDefinedInGroup; end + def method_defined_in_group; end + CONSTANT_DEFINED_IN_GROUP = 0 + + it "can access Modules" do + ModuleDefinedInGroup + end + it "can access Classes" do + ClassDefinedInGroup.new + end + it "can access CONSTANTS" do + CONSTANT_DEFINED_IN_GROUP + end + it "can access methods" do + method_defined_in_group + end + + describe "that live inside a nested group" do + it "can access Modules" do + ModuleDefinedInGroup + end + it "can access Classes" do + ClassDefinedInGroup.new + end + it "can access CONSTANTS" do + CONSTANT_DEFINED_IN_GROUP + end + it "can access methods" do + method_defined_in_group + end + end + end + end +end |