1
Fork 0

Rustdoc-Json Tests: Use @is and @ismany more often.

This commit is contained in:
Nixon Enraght-Moony 2022-09-10 01:30:47 +01:00
parent 98f3001eec
commit 5634b26ed6
9 changed files with 61 additions and 55 deletions

View file

@ -3,25 +3,35 @@
pub struct Simple;
impl Simple {
// @has "$.index[*][?(@.name=='CONSTANT')].kind" \"assoc_const\"
// @is "$.index[*][?(@.name=='CONSTANT')].kind" \"assoc_const\"
pub const CONSTANT: usize = 0;
}
pub trait EasyToImpl {
// @has "$.index[*][?(@.name=='ToDeclare')].kind" \"assoc_type\"
// @has "$.index[*][?(@.name=='ToDeclare')].inner.default" null
// @is "$.index[*][?(@.docs=='ToDeclare trait')].kind" \"assoc_type\"
// @is "$.index[*][?(@.docs=='ToDeclare trait')].inner.default" null
// @is "$.index[*][?(@.docs=='ToDeclare trait')].inner.bounds" []
/// ToDeclare trait
type ToDeclare;
// @has "$.index[*][?(@.name=='AN_ATTRIBUTE')].kind" \"assoc_const\"
// @has "$.index[*][?(@.name=='AN_ATTRIBUTE')].inner.default" null
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE trait')].kind" \"assoc_const\"
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE trait')].inner.default" null
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE trait')].inner.type.kind" '"primitive"'
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE trait')].inner.type.inner" '"usize"'
/// AN_ATTRIBUTE trait
const AN_ATTRIBUTE: usize;
}
impl EasyToImpl for Simple {
// @has "$.index[*][?(@.name=='ToDeclare')].inner.default.kind" \"primitive\"
// @has "$.index[*][?(@.name=='ToDeclare')].inner.default.inner" \"usize\"
// @is "$.index[*][?(@.docs=='ToDeclare impl')].kind" '"assoc_type"'
// @is "$.index[*][?(@.docs=='ToDeclare impl')].inner.default.kind" \"primitive\"
// @is "$.index[*][?(@.docs=='ToDeclare impl')].inner.default.inner" \"usize\"
/// ToDeclare impl
type ToDeclare = usize;
// @has "$.index[*][?(@.name=='AN_ATTRIBUTE')].inner.type.kind" \"primitive\"
// @has "$.index[*][?(@.name=='AN_ATTRIBUTE')].inner.type.inner" \"usize\"
// @has "$.index[*][?(@.name=='AN_ATTRIBUTE')].inner.default" \"12\"
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE impl')].kind" '"assoc_const"'
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE impl')].inner.type.kind" \"primitive\"
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE impl')].inner.type.inner" \"usize\"
// @is "$.index[*][?(@.docs=='AN_ATTRIBUTE impl')].inner.default" \"12\"
/// AN_ATTRIBUTE impl
const AN_ATTRIBUTE: usize = 12;
}

View file

@ -1,9 +1,9 @@
// @has "$.index[*][?(@.name=='EnumStruct')].visibility" \"public\"
// @has "$.index[*][?(@.name=='EnumStruct')].kind" \"enum\"
// @is "$.index[*][?(@.name=='EnumStruct')].visibility" \"public\"
// @is "$.index[*][?(@.name=='EnumStruct')].kind" \"enum\"
pub enum EnumStruct {
// @has "$.index[*][?(@.name=='VariantS')].inner.variant_kind" \"struct\"
// @has "$.index[*][?(@.name=='x')].kind" \"struct_field\"
// @has "$.index[*][?(@.name=='y')].kind" \"struct_field\"
// @is "$.index[*][?(@.name=='VariantS')].inner.variant_kind" \"struct\"
// @is "$.index[*][?(@.name=='x')].kind" \"struct_field\"
// @is "$.index[*][?(@.name=='y')].kind" \"struct_field\"
VariantS {
x: u32,
y: String,

View file

@ -1,8 +1,8 @@
// @has "$.index[*][?(@.name=='EnumTupleStruct')].visibility" \"public\"
// @has "$.index[*][?(@.name=='EnumTupleStruct')].kind" \"enum\"
// @is "$.index[*][?(@.name=='EnumTupleStruct')].visibility" \"public\"
// @is "$.index[*][?(@.name=='EnumTupleStruct')].kind" \"enum\"
pub enum EnumTupleStruct {
// @has "$.index[*][?(@.name=='VariantA')].inner.variant_kind" \"tuple\"
// @has "$.index[*][?(@.name=='0')].kind" \"struct_field\"
// @has "$.index[*][?(@.name=='1')].kind" \"struct_field\"
// @is "$.index[*][?(@.name=='VariantA')].inner.variant_kind" \"tuple\"
// @is "$.index[*][?(@.name=='0')].kind" \"struct_field\"
// @is "$.index[*][?(@.name=='1')].kind" \"struct_field\"
VariantA(u32, String),
}

View file

@ -9,16 +9,16 @@ pub trait Wham {}
// @is "$.index[*][?(@.name=='one_generic_param_fn')].inner.generics.where_predicates" []
// @count "$.index[*][?(@.name=='one_generic_param_fn')].inner.generics.params[*]" 1
// @is "$.index[*][?(@.name=='one_generic_param_fn')].inner.generics.params[0].name" '"T"'
// @has "$.index[*][?(@.name=='one_generic_param_fn')].inner.generics.params[0].kind.type.synthetic" false
// @has "$.index[*][?(@.name=='one_generic_param_fn')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.id" $wham_id
// @is "$.index[*][?(@.name=='one_generic_param_fn')].inner.generics.params[0].kind.type.synthetic" false
// @is "$.index[*][?(@.name=='one_generic_param_fn')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.id" $wham_id
// @is "$.index[*][?(@.name=='one_generic_param_fn')].inner.decl.inputs" '[["w", {"inner": "T", "kind": "generic"}]]'
pub fn one_generic_param_fn<T: Wham>(w: T) {}
// @is "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.generics.where_predicates" []
// @count "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.generics.params[*]" 1
// @is "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.generics.params[0].name" '"impl Wham"'
// @has "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.generics.params[0].kind.type.synthetic" true
// @has "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.id" $wham_id
// @is "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.generics.params[0].kind.type.synthetic" true
// @is "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.generics.params[0].kind.type.bounds[0].trait_bound.trait.id" $wham_id
// @count "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.decl.inputs[*]" 1
// @is "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.decl.inputs[0][0]" '"w"'
// @is "$.index[*][?(@.name=='one_synthetic_generic_param_fn')].inner.decl.inputs[0][1].kind" '"impl_trait"'

View file

@ -16,9 +16,7 @@ mod bar {
// @set import = "$.index[*][?(@.kind=='import')].id"
pub use bar::Baz;
// FIXME(adotinthevoid): Use hasexact once #99474 lands
// @has "$.index[*][?(@.kind=='module')].inner.items[*]" $import
// @is "$.index[*][?(@.kind=='import')].inner.id" $baz
// @has "$.index[*][?(@.kind=='struct')].inner.impls[*]" $impl
// @has "$.index[*][?(@.kind=='impl')].inner.items[*]" $doit
// @is "$.index[*][?(@.kind=='module')].inner.items[*]" $import
// @is "$.index[*][?(@.kind=='import')].inner.id" $baz
// @is "$.index[*][?(@.kind=='struct')].inner.impls[*]" $impl
// @is "$.index[*][?(@.kind=='impl')].inner.items[*]" $doit

View file

@ -1,22 +1,22 @@
#![feature(never_type)]
// @has "$.index[*][?(@.name=='PrimNever')].visibility" \"public\"
// @has "$.index[*][?(@.name=='PrimNever')].inner.type.kind" \"primitive\"
// @has "$.index[*][?(@.name=='PrimNever')].inner.type.inner" \"never\"
// @is "$.index[*][?(@.name=='PrimNever')].visibility" \"public\"
// @is "$.index[*][?(@.name=='PrimNever')].inner.type.kind" \"primitive\"
// @is "$.index[*][?(@.name=='PrimNever')].inner.type.inner" \"never\"
pub type PrimNever = !;
// @has "$.index[*][?(@.name=='PrimStr')].inner.type.kind" \"primitive\"
// @has "$.index[*][?(@.name=='PrimStr')].inner.type.inner" \"str\"
// @is "$.index[*][?(@.name=='PrimStr')].inner.type.kind" \"primitive\"
// @is "$.index[*][?(@.name=='PrimStr')].inner.type.inner" \"str\"
pub type PrimStr = str;
// @has "$.index[*][?(@.name=='PrimBool')].inner.type.kind" \"primitive\"
// @has "$.index[*][?(@.name=='PrimBool')].inner.type.inner" \"bool\"
// @is "$.index[*][?(@.name=='PrimBool')].inner.type.kind" \"primitive\"
// @is "$.index[*][?(@.name=='PrimBool')].inner.type.inner" \"bool\"
pub type PrimBool = bool;
// @has "$.index[*][?(@.name=='PrimChar')].inner.type.kind" \"primitive\"
// @has "$.index[*][?(@.name=='PrimChar')].inner.type.inner" \"char\"
// @is "$.index[*][?(@.name=='PrimChar')].inner.type.kind" \"primitive\"
// @is "$.index[*][?(@.name=='PrimChar')].inner.type.inner" \"char\"
pub type PrimChar = char;
// @has "$.index[*][?(@.name=='PrimU8')].inner.type.kind" \"primitive\"
// @has "$.index[*][?(@.name=='PrimU8')].inner.type.inner" \"u8\"
// @is "$.index[*][?(@.name=='PrimU8')].inner.type.kind" \"primitive\"
// @is "$.index[*][?(@.name=='PrimU8')].inner.type.inner" \"u8\"
pub type PrimU8 = u8;

View file

@ -1,21 +1,21 @@
// @has "$.index[*][?(@.name=='Foo')]"
pub trait Foo {
// @has "$.index[*][?(@.name=='no_self')].inner.has_body" false
// @is "$.index[*][?(@.name=='no_self')].inner.has_body" false
fn no_self();
// @has "$.index[*][?(@.name=='move_self')].inner.has_body" false
// @is "$.index[*][?(@.name=='move_self')].inner.has_body" false
fn move_self(self);
// @has "$.index[*][?(@.name=='ref_self')].inner.has_body" false
// @is "$.index[*][?(@.name=='ref_self')].inner.has_body" false
fn ref_self(&self);
// @has "$.index[*][?(@.name=='no_self_def')].inner.has_body" true
// @is "$.index[*][?(@.name=='no_self_def')].inner.has_body" true
fn no_self_def() {}
// @has "$.index[*][?(@.name=='move_self_def')].inner.has_body" true
// @is "$.index[*][?(@.name=='move_self_def')].inner.has_body" true
fn move_self_def(self) {}
// @has "$.index[*][?(@.name=='ref_self_def')].inner.has_body" true
// @is "$.index[*][?(@.name=='ref_self_def')].inner.has_body" true
fn ref_self_def(&self) {}
}
pub trait Bar: Clone {
// @has "$.index[*][?(@.name=='method')].inner.has_body" false
// @is "$.index[*][?(@.name=='method')].inner.has_body" false
fn method(&self, param: usize);
}

View file

@ -5,9 +5,7 @@ use std::fmt::Debug;
// @set sync_int_gen = "$.index[*][?(@.name=='SyncIntGen')].id"
// @set ref_fn = "$.index[*][?(@.name=='RefFn')].id"
// @set weird_order = "$.index[*][?(@.name=='WeirdOrder')].id"
// @has "$.index[*][?(@.name=='dyn')].inner.items[*]" $sync_int_gen
// @has "$.index[*][?(@.name=='dyn')].inner.items[*]" $ref_fn
// @has "$.index[*][?(@.name=='dyn')].inner.items[*]" $weird_order
// @ismany "$.index[*][?(@.name=='dyn')].inner.items[*]" $sync_int_gen $ref_fn $weird_order
// @is "$.index[*][?(@.name=='SyncIntGen')].kind" \"typedef\"
// @is "$.index[*][?(@.name=='SyncIntGen')].inner.generics" '{"params": [], "where_predicates": []}'

View file

@ -1,14 +1,14 @@
#![no_std]
// @has "$.index[*][?(@.name=='Ux')].visibility" \"public\"
// @has "$.index[*][?(@.name=='Ux')].kind" \"union\"
// @is "$.index[*][?(@.name=='Ux')].visibility" \"public\"
// @is "$.index[*][?(@.name=='Ux')].kind" \"union\"
pub union Ux {
a: u32,
b: u64
}
// @has "$.index[*][?(@.name=='Num')].visibility" \"public\"
// @has "$.index[*][?(@.name=='Num')].kind" \"trait\"
// @is "$.index[*][?(@.name=='Num')].visibility" \"public\"
// @is "$.index[*][?(@.name=='Num')].kind" \"trait\"
pub trait Num {}
// @count "$.index[*][?(@.name=='Ux')].inner.impls" 1