Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

86 lines (74 sloc) 2.271 kb
# 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
Jump to Line
Something went wrong with that request. Please try again.