Skip to content

Commit da78e16

Browse files
authored
Merge pull request #612 from Shopify/02-27-rewrite_assert_def_superclass_ref_eq_to_support_full_paths
Rewrite assert_def_superclass_ref_eq! to support full paths
2 parents 82977b9 + 2c2b066 commit da78e16

3 files changed

Lines changed: 7 additions & 26 deletions

File tree

rust/rubydex/src/indexing/rbs_indexer.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,6 @@ mod tests {
342342

343343
assert_definition_at!(&context, "1:1-2:4", Class, |def| {
344344
assert_def_name_eq!(&context, def, "Foo");
345-
assert!(def.superclass_ref().is_some());
346345
assert_def_superclass_ref_eq!(&context, def, "Bar");
347346
});
348347
}

rust/rubydex/src/indexing/ruby_indexer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4519,7 +4519,7 @@ mod tests {
45194519
refs.sort_by_key(|a| (a.offset().start(), a.offset().end()));
45204520

45214521
assert_definition_at!(&context, "1:1-1:26", Class, |def| {
4522-
assert_def_superclass_ref_eq!(&context, def, "Baz");
4522+
assert_def_superclass_ref_eq!(&context, def, "Bar::Baz");
45234523
assert_def_name_offset_eq!(&context, def, "1:7-1:10");
45244524
});
45254525
}

rust/rubydex/src/test_utils/local_graph_test.rs

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -254,36 +254,18 @@ macro_rules! assert_def_name_eq {
254254
/// Asserts that a definition's superclass reference matches the expected name.
255255
///
256256
/// Usage:
257-
/// - `assert_def_superclass_ref_eq!(ctx, def, "Bar::Baz")`
257+
/// - `assert_def_superclass_ref_eq!(ctx, def, "Bar::Baz")` - asserts the full path `Bar::Baz`
258258
#[cfg(test)]
259259
#[macro_export]
260260
macro_rules! assert_def_superclass_ref_eq {
261261
($context:expr, $def:expr, $expected_name:expr) => {{
262-
let name = $context
262+
let name_id = *$context
263263
.graph()
264-
.strings()
265-
.get(
266-
$context
267-
.graph()
268-
.names()
269-
.get(
270-
$context
271-
.graph()
272-
.constant_references()
273-
.get($def.superclass_ref().unwrap())
274-
.unwrap()
275-
.name_id(),
276-
)
277-
.unwrap()
278-
.str(),
279-
)
264+
.constant_references()
265+
.get($def.superclass_ref().unwrap())
280266
.unwrap()
281-
.as_str();
282-
assert_eq!(
283-
$expected_name, name,
284-
"superclass reference mismatch: expected `{}`, got `{name}`",
285-
$expected_name,
286-
);
267+
.name_id();
268+
$crate::assert_name_path_eq!($context, $expected_name, name_id);
287269
}};
288270
}
289271

0 commit comments

Comments
 (0)