| 256 | #[allow(clippy::reversed_empty_ranges)] |
| 257 | #[test] |
| 258 | fn get_range() { |
| 259 | let ptr = Pointer::from_static("/foo/bar/qux"); |
| 260 | let s = ptr.get(0..3); |
| 261 | assert_eq!(s, Some(ptr)); |
| 262 | let s = ptr.get(0..2); |
| 263 | assert_eq!(s, Some(Pointer::from_static("/foo/bar"))); |
| 264 | let s = ptr.get(0..1); |
| 265 | assert_eq!(s, Some(Pointer::from_static("/foo"))); |
| 266 | let s = ptr.get(0..0); |
| 267 | assert_eq!(s, Some(Pointer::from_static(""))); |
| 268 | let s = ptr.get(1..3); |
| 269 | assert_eq!(s, Some(Pointer::from_static("/bar/qux"))); |
| 270 | let s = ptr.get(1..2); |
| 271 | assert_eq!(s, Some(Pointer::from_static("/bar"))); |
| 272 | let s = ptr.get(1..1); |
| 273 | assert_eq!(s, Some(Pointer::from_static(""))); |
| 274 | let s = ptr.get(1..0); |
| 275 | assert_eq!(s, None); |
| 276 | let s = ptr.get(0..4); |
| 277 | assert_eq!(s, None); |
| 278 | let s = ptr.get(2..4); |
| 279 | assert_eq!(s, None); |
| 280 | |
| 281 | let ptr = Pointer::from_static("/"); |
| 282 | let s = ptr.get(0..1); |
| 283 | assert_eq!(s, Some(ptr)); |
| 284 | let s = ptr.get(0..0); |
| 285 | assert_eq!(s, Some(Pointer::root())); |
| 286 | let s = ptr.get(1..0); |
| 287 | assert_eq!(s, None); |
| 288 | let s = ptr.get(0..2); |
| 289 | assert_eq!(s, None); |
| 290 | let s = ptr.get(1..2); |
| 291 | assert_eq!(s, None); |
| 292 | let s = ptr.get(1..1); |
| 293 | assert_eq!(s, None); |
| 294 | |
| 295 | let ptr = Pointer::root(); |
| 296 | let s = ptr.get(0..1); |
| 297 | assert_eq!(s, None); |
| 298 | let s = ptr.get(0..0); |
| 299 | assert_eq!(s, None); |
| 300 | let s = ptr.get(1..0); |
| 301 | assert_eq!(s, None); |
| 302 | let s = ptr.get(1..1); |
| 303 | assert_eq!(s, None); |
| 304 | } |
| 305 | |
| 306 | #[test] |
| 307 | fn get_from_range() { |