1require_relative '../../spec_helper' 2require_relative 'fixtures/classes' 3 4describe "Module#>" do 5 it "returns false if self is a subclass of or includes the given module" do 6 (ModuleSpecs::Child > ModuleSpecs::Parent).should be_false 7 (ModuleSpecs::Child > ModuleSpecs::Basic).should be_false 8 (ModuleSpecs::Child > ModuleSpecs::Super).should be_false 9 (ModuleSpecs::Super > ModuleSpecs::Basic).should be_false 10 end 11 12 it "returns true if self is a superclass of or included by the given module" do 13 (ModuleSpecs::Parent > ModuleSpecs::Child).should == true 14 (ModuleSpecs::Basic > ModuleSpecs::Child).should == true 15 (ModuleSpecs::Super > ModuleSpecs::Child).should == true 16 (ModuleSpecs::Basic > ModuleSpecs::Super).should == true 17 end 18 19 it "returns false if self is the same as the given module" do 20 (ModuleSpecs::Child > ModuleSpecs::Child).should == false 21 (ModuleSpecs::Parent > ModuleSpecs::Parent).should == false 22 (ModuleSpecs::Basic > ModuleSpecs::Basic).should == false 23 (ModuleSpecs::Super > ModuleSpecs::Super).should == false 24 end 25 26 it "returns nil if self is not related to the given module" do 27 (ModuleSpecs::Parent > ModuleSpecs::Basic).should == nil 28 (ModuleSpecs::Parent > ModuleSpecs::Super).should == nil 29 (ModuleSpecs::Basic > ModuleSpecs::Parent).should == nil 30 (ModuleSpecs::Super > ModuleSpecs::Parent).should == nil 31 end 32 33 it "raises a TypeError if the argument is not a class/module" do 34 lambda { ModuleSpecs::Parent > mock('x') }.should raise_error(TypeError) 35 end 36end 37