Skip to content

Commit 7d1a4ce

Browse files
authored
Improve inspection of Module (#263)
A module's inspection (used e.g. generate a description of an RSpec example) has been improved to now include the module's name, which identifies the module better than the previous string. Old: `#<Module:0x0000000107f7a0a0>` New (e.g.): `SuperDiff::Test`. Closes #255.
1 parent 02ab80d commit 7d1a4ce

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

lib/super_diff.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def self.date_like?(value)
113113

114114
def self.primitive?(value)
115115
case value
116-
when true, false, nil, Symbol, Numeric, Regexp, Class, String
116+
when true, false, nil, Symbol, Numeric, Regexp, Class, Module, String
117117
true
118118
else
119119
false

spec/unit/super_diff_spec.rb

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,6 +1124,37 @@
11241124
end
11251125
end
11261126

1127+
context "given a module" do
1128+
context "given as_lines: false" do
1129+
it "returns the module's name" do
1130+
string =
1131+
described_class.inspect_object(SuperDiff::Test, as_lines: false)
1132+
expect(string).to eq("SuperDiff::Test")
1133+
end
1134+
end
1135+
1136+
context "given as_lines: true" do
1137+
it "returns the module's name as value" do
1138+
tiered_lines =
1139+
described_class.inspect_object(
1140+
SuperDiff::Test,
1141+
as_lines: true,
1142+
type: :delete,
1143+
indentation_level: 1
1144+
)
1145+
expect(tiered_lines).to match(
1146+
[
1147+
an_object_having_attributes(
1148+
type: :delete,
1149+
indentation_level: 1,
1150+
value: "SuperDiff::Test"
1151+
)
1152+
]
1153+
)
1154+
end
1155+
end
1156+
end
1157+
11271158
# TODO: Add when empty
11281159
context "given a custom object" do
11291160
context "containing only primitive values" do

0 commit comments

Comments
 (0)