-
Notifications
You must be signed in to change notification settings - Fork 1
/
tests.rs
57 lines (46 loc) 路 1.36 KB
/
tests.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
extern crate domain_lookup_tree;
use domain_lookup_tree::DomainLookupTree;
#[test]
fn matches_wildcard_upper_level() {
let mut tree = DomainLookupTree::new();
tree.insert(".test.com");
assert_eq!(tree.lookup("123.test.com"), Some(".test.com".to_string()))
}
#[test]
fn matches_wildcard_direct() {
let mut tree = DomainLookupTree::new();
tree.insert(".test.com");
assert_eq!(tree.lookup("test.com"), Some(".test.com".to_string()))
}
#[test]
fn does_not_match_noninserted() {
let mut tree = DomainLookupTree::new();
tree.insert(".test.com");
assert_eq!(tree.lookup("google.com"), None)
}
#[test]
fn matches_direct() {
let mut tree = DomainLookupTree::new();
tree.insert("test.com");
assert_eq!(tree.lookup("test.com"), Some("test.com".to_string()))
}
#[test]
fn matches_wildcard_n_upper_level() {
let mut tree = DomainLookupTree::new();
tree.insert(".test.com");
assert_eq!(
tree.lookup("a.b.c.123.test.com"),
Some(".test.com".to_string())
)
}
#[test]
fn matches_multiple_inserts_under_common_gtld() {
let mut tree = DomainLookupTree::new();
tree.insert(".test.com");
tree.insert("google.com");
tree.insert("abc.com");
tree.insert("phineas.io");
assert_eq!(tree.lookup("google.com"), Some("google.com".to_string()));
assert_eq!(tree.lookup("phineas.io"), Some("phineas.io".to_string()));
assert_eq!(tree.lookup("test.com"), Some(".test.com".to_string()))
}