mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
move test
This commit is contained in:
parent
e55797f59d
commit
6253213a6e
@ -477,3 +477,59 @@ __cfg_if_items! {
|
||||
"##]],
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_proptest_arbitrary() {
|
||||
// From <https://github.com/AltSysrq/proptest/blob/d1c4b049337d2f75dd6f49a095115f7c532e5129/proptest/src/arbitrary/macros.rs#L16>.
|
||||
check(
|
||||
r#"
|
||||
macro_rules! arbitrary {
|
||||
([$($bounds : tt)*] $typ: ty, $strat: ty, $params: ty;
|
||||
$args: ident => $logic: expr) => {
|
||||
impl<$($bounds)*> $crate::arbitrary::Arbitrary for $typ {
|
||||
type Parameters = $params;
|
||||
type Strategy = $strat;
|
||||
fn arbitrary_with($args: Self::Parameters) -> Self::Strategy {
|
||||
$logic
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
arbitrary!(
|
||||
[A:Arbitrary]
|
||||
Vec<A> ,
|
||||
VecStrategy<A::Strategy>,
|
||||
RangedParams1<A::Parameters>;
|
||||
args => {
|
||||
let product_unpack![range, a] = args;
|
||||
vec(any_with::<A>(a), range)
|
||||
}
|
||||
);
|
||||
"#,
|
||||
expect![[r#"
|
||||
macro_rules! arbitrary {
|
||||
([$($bounds : tt)*] $typ: ty, $strat: ty, $params: ty;
|
||||
$args: ident => $logic: expr) => {
|
||||
impl<$($bounds)*> $crate::arbitrary::Arbitrary for $typ {
|
||||
type Parameters = $params;
|
||||
type Strategy = $strat;
|
||||
fn arbitrary_with($args: Self::Parameters) -> Self::Strategy {
|
||||
$logic
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
impl <A: Arbitrary> $crate::arbitrary::Arbitrary for Vec<A> {
|
||||
type Parameters = RangedParams1<A::Parameters>;
|
||||
type Strategy = VecStrategy<A::Strategy>;
|
||||
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy { {
|
||||
let product_unpack![range, a] = args;
|
||||
vec(any_with::<A>(a), range)
|
||||
}
|
||||
}
|
||||
}
|
||||
"#]],
|
||||
);
|
||||
}
|
||||
|
@ -98,34 +98,6 @@ fn test_attr_to_token_tree() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_proptest_arbitrary() {
|
||||
// from https://github.com/AltSysrq/proptest/blob/d1c4b049337d2f75dd6f49a095115f7c532e5129/proptest/src/arbitrary/macros.rs#L16
|
||||
parse_macro(
|
||||
r#"
|
||||
macro_rules! arbitrary {
|
||||
([$($bounds : tt)*] $typ: ty, $strat: ty, $params: ty;
|
||||
$args: ident => $logic: expr) => {
|
||||
impl<$($bounds)*> $crate::arbitrary::Arbitrary for $typ {
|
||||
type Parameters = $params;
|
||||
type Strategy = $strat;
|
||||
fn arbitrary_with($args: Self::Parameters) -> Self::Strategy {
|
||||
$logic
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}"#,
|
||||
).assert_expand_items(r#"arbitrary ! ( [ A : Arbitrary ]
|
||||
Vec < A > ,
|
||||
VecStrategy < A :: Strategy > ,
|
||||
RangedParams1 < A :: Parameters > ;
|
||||
args => { let product_unpack ! [ range , a ] = args ; vec ( any_with :: < A > ( a ) , range ) }
|
||||
) ;"#,
|
||||
"impl <A : Arbitrary > $crate :: arbitrary :: Arbitrary for Vec < A > {type Parameters = RangedParams1 < A :: Parameters > ; type Strategy = VecStrategy < A :: Strategy > ; fn arbitrary_with (args : Self :: Parameters) -> Self :: Strategy {{let product_unpack ! [range , a] = args ; vec (any_with :: < A > (a) , range)}}}"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_old_ridl() {
|
||||
// This is from winapi 2.8, which do not have a link from github
|
||||
|
Loading…
Reference in New Issue
Block a user