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
/*!
Rust testing library that provides a set of assertions that are similar to built in `assert` and `assert_eq`
but provide more context about the failure and use ANSI terminal colors to format the error messages.

It also includes `assert_matches_snapshot!` macro. When first run with `K9_UPDATE_SNAPSHOTS=1` it will
save the contents of the passed argument into a `__k9_snapshots__/my_test_file/my_test.snap` file, and
for every next run it will compare the passed value with the existing snapshot and fail if the values
are different.

```rust
use k9::{assert_equal, assert_matches_regex, assert_err_matches_regex, assert_matches_snapshot};

assert_equal!(1, 1);
assert_equal!("one", "one");


#[derive(Debug, PartialEq)]
struct A {
    name: &'static str,
    age: u32,
}

let a1 = A { name: "Susan", age: 44 };
let a2 = A { name: "Susan", age: 22 + 22 };

assert_equal!(&a1, &a2);


assert_matches_regex!(a1.name, "Su\\w{3}");

assert_matches_snapshot!(format!("{:#?}", a1));

let result: Result<(), &str> = Err("http request fail. code 123");
assert_err_matches_regex!(result, "code 123");

```
*/

pub mod assertions;
pub mod config;
pub mod string_diff;

mod utils;

// re-export things so macros have access to them
pub mod __macros__ {
    pub use colored;
}