mirror of
https://seed.radicle.dev/rad:z6cFWeWpnZNHh9rUW8phgA3b5yGt.git
synced 2026-11-13 23:10:47 +08:00
This patch focuses on the front page of `cargo doc` output. Signed-off-by: Han Xu <keepsimple@gmail.com>
33 lines
885 B
Rust
33 lines
885 B
Rust
use std::str::FromStr;
|
|
|
|
use proptest::prelude::*;
|
|
use radicle_git_ext::Oid;
|
|
use radicle_surf::{Author, Commit, Time};
|
|
use test_helpers::roundtrip;
|
|
|
|
proptest! {
|
|
#[test]
|
|
fn prop_test_commits(commit in commits_strategy()) {
|
|
roundtrip::json(commit)
|
|
}
|
|
}
|
|
|
|
fn commits_strategy() -> impl Strategy<Value = Commit> {
|
|
("[a-fA-F0-9]{40}", any::<String>(), any::<i64>()).prop_map(|(id, text, time)| Commit {
|
|
id: Oid::from_str(&id).unwrap(),
|
|
author: Author {
|
|
name: text.clone(),
|
|
email: text.clone(),
|
|
time: Time::new(time, 0),
|
|
},
|
|
committer: Author {
|
|
name: text.clone(),
|
|
email: text.clone(),
|
|
time: Time::new(time, 0),
|
|
},
|
|
message: text.clone(),
|
|
summary: text,
|
|
parents: vec![Oid::from_str(&id).unwrap(), Oid::from_str(&id).unwrap()],
|
|
})
|
|
}
|