Skip to content

Commit 0698777

Browse files
committed
Improve specs for rb_path_to_class()
1 parent 0b18cb1 commit 0698777

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

optional/capi/class_spec.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
describe :rb_path_to_class, shared: true do
1313
it "returns a class or module from a scoped String" do
1414
@s.send(@method, "CApiClassSpecs::A::B").should equal(CApiClassSpecs::A::B)
15+
@s.send(@method, "CApiClassSpecs::A::M").should equal(CApiClassSpecs::A::M)
1516
end
1617

1718
it "resolves autoload constants" do
@@ -27,7 +28,9 @@
2728
end
2829

2930
it "raises a TypeError if the constant is not a class or module" do
30-
-> { @s.send(@method, "CApiClassSpecs::A::C") }.should raise_error(TypeError)
31+
-> {
32+
@s.send(@method, "CApiClassSpecs::A::C")
33+
}.should raise_error(TypeError, 'CApiClassSpecs::A::C does not refer to class/module')
3134
end
3235

3336
it "raises an ArgumentError even if a constant in the path exists on toplevel" do

optional/capi/fixtures/class.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,5 +87,8 @@ class A
8787

8888
class B
8989
end
90+
91+
module M
92+
end
9093
end
9194
end

0 commit comments

Comments
 (0)