Skip to content

Commit cac52f7

Browse files
adriangbfundon
andauthored
Add failing tests (#26)
* chore: allow empty str * chore(tree): dont replace pieces * chore: clean * add failing tests * fmt * chore: name and value should be overwritten * simplify test * chore: allow insert empty str Co-authored-by: Fangdun Tsai <cfddream@gmail.com>
1 parent ba27ec5 commit cac52f7

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

tests/tree.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ use rand::seq::SliceRandom;
33

44
#[test]
55
fn statics() {
6-
const ROUTES: [&str; 11] = [
6+
const ROUTES: [&str; 13] = [
7+
"",
8+
"/",
79
"/hi",
810
"/contact",
911
"/co",
@@ -128,6 +130,19 @@ fn single_named_parameter() {
128130
}
129131
}
130132

133+
#[test]
134+
fn repeated_single_named_param() {
135+
let mut tree = PathTree::new();
136+
137+
tree.insert("/users/:id", 0);
138+
tree.insert("/users/:user_id", 1);
139+
140+
let r = tree.find("/users/gordon");
141+
let path = r.unwrap();
142+
assert_eq!(*path.value, 1);
143+
assert_eq!(path.params(), vec![("user_id", "gordon")]);
144+
}
145+
131146
#[test]
132147
fn static_and_named_parameter() {
133148
// Pattern: /a/b/c

0 commit comments

Comments
 (0)