We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 4b13aff + c0744b7 commit c17a55dCopy full SHA for c17a55d
1 file changed
src/pointer.rs
@@ -204,6 +204,9 @@ impl Pointer {
204
}
205
/// Returns the last `Token` in the `Pointer`.
206
pub fn back(&self) -> Option<Token> {
207
+ if self.is_root() {
208
+ return None;
209
+ }
210
self.inner[1..]
211
.rsplit_once('/')
212
.map_or(Some((&self.inner[1..], "")), Option::Some)
@@ -1398,7 +1401,14 @@ mod tests {
1398
1401
1399
1402
let ptr = Pointer::try_from("/-").unwrap();
1400
1403
assert_eq!(ptr.last(), Some("-".into()));
1404
+
1405
+ let ptr = Pointer::default();
1406
+ assert_eq!(ptr.last(), None);
1407
1408
+ let ptr = Pointer::try_from("/bar").unwrap();
1409
+ assert_eq!(ptr.last(), Some("bar".into()));
1410
1411
1412
#[test]
1413
fn test_first() {
1414
let ptr = Pointer::try_from("/foo/bar").unwrap();
0 commit comments