MCPcopy Create free account
hub / github.com/PHPantom-dev/phpantom_lsp / ranges_are_nested

Function ranges_are_nested

src/selection_range.rs:1056–1083  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1054
1055 #[test]
1056 fn ranges_are_nested() {
1057 let content = r#"<?php
1058function test() {
1059 $x = [1, 2, 3];
1060}
1061"#;
1062 // Cursor on `2` in the array (line 2, char 13).
1063 let results = selection_ranges(content, &[Position::new(2, 13)]);
1064 assert_eq!(results.len(), 1);
1065 let ranges = flatten(&results[0]);
1066
1067 // Verify that each range is contained within or equal to its parent.
1068 for window in ranges.windows(2) {
1069 let inner = &window[0];
1070 let outer = &window[1];
1071 assert!(
1072 (inner.start.line > outer.start.line
1073 || (inner.start.line == outer.start.line
1074 && inner.start.character >= outer.start.character))
1075 && (inner.end.line < outer.end.line
1076 || (inner.end.line == outer.end.line
1077 && inner.end.character <= outer.end.character)),
1078 "Inner range {:?} should be contained within outer range {:?}",
1079 inner,
1080 outer,
1081 );
1082 }
1083 }
1084
1085 /// Helper: assert every range in the chain is contained within its parent.
1086 fn assert_nested(ranges: &[Range]) {

Callers

nothing calls this directly

Calls 2

selection_rangesFunction · 0.85
flattenFunction · 0.85

Tested by

no test coverage detected