Skip to content

Commit

Permalink
Rustdoc-Json: Add more tests for enums and hidden fields
Browse files Browse the repository at this point in the history
  • Loading branch information
aDotInTheVoid committed Aug 23, 2022
1 parent cf6ed31 commit 6ca1ee3
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 0 deletions.
File renamed without changes.
34 changes: 34 additions & 0 deletions src/test/rustdoc-json/enums/kind.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#![feature(no_core)]
#![no_core]

pub enum Foo {
// @is "$.index[*][?(@.name=='Unit')].inner.kind" '"unit"'
// @set Unit = "$.index[*][?(@.name=='Unit')].id"
// @is "$.index[*][?(@.name=='Unit')].inner.fields" []
Unit,
// @is "$.index[*][?(@.name=='Named')].inner.kind" '"named_fields"'
// @set Named = "$.index[*][?(@.name=='Named')].id"
// @is "$.index[*][?(@.name=='Named')].inner.fields" []
Named {},
// @is "$.index[*][?(@.name=='Tuple')].inner.kind" '"tuple"'
// @set Tuple = "$.index[*][?(@.name=='Tuple')].id"
// @is "$.index[*][?(@.name=='Tuple')].inner.fields" []
Tuple(),
// @is "$.index[*][?(@.name=='NamedField')].inner.kind" '"named_fields"'
// @set NamedField = "$.index[*][?(@.name=='NamedField')].id"
// @set x = "$.index[*][?(@.name=='x' && @.kind=='field')].id"
// @is "$.index[*][?(@.name=='NamedField')].inner.fields[*]" $x
NamedField { x: i32 },
// @is "$.index[*][?(@.name=='TupleField')].inner.kind" '"tuple"'
// @set TupleField = "$.index[*][?(@.name=='TupleField')].id"
// @set tup_field = "$.index[*][?(@.name=='0' && @.kind=='field')].id"
// @is "$.index[*][?(@.name=='TupleField')].inner.fields[*]" $tup_field
TupleField(i32),
}

// @is "$.index[*][?(@.name=='Foo')].inner.variants[0]" $Unit
// @is "$.index[*][?(@.name=='Foo')].inner.variants[1]" $Named
// @is "$.index[*][?(@.name=='Foo')].inner.variants[2]" $Tuple
// @is "$.index[*][?(@.name=='Foo')].inner.variants[3]" $NamedField
// @is "$.index[*][?(@.name=='Foo')].inner.variants[4]" $TupleField
// @count "$.index[*][?(@.name=='Foo')].inner.variants[*]" 5
22 changes: 22 additions & 0 deletions src/test/rustdoc-json/enums/some_fields_hidden.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#![feature(no_core)]
#![no_core]

pub enum Foo {
// @set i8 = "$.index[*][?(@.docs=='i8' && @.kind=='field')].id"
// @is "$.index[*][?(@.docs=='i8' && @.kind=='field')].name" '"0"'
// @is "$.index[*][?(@.name=='V1')].inner.fields[*]" $i8
// @is "$.index[*][?(@.name=='V1')].inner.fields_stripped" false
V1(
/// i8
i8,
),
// @set u8 = "$.index[*][?(@.docs=='u8' && @.kind=='field')].id"
// @is "$.index[*][?(@.docs=='u8' && @.kind=='field')].name" '"1"'
// @is "$.index[*][?(@.name=='V2')].inner.fields[*]" $u8
// @is "$.index[*][?(@.name=='V2')].inner.fields_stripped" true
V2(
#[doc(hidden)] u8,
/// u8
u8,
),
}
6 changes: 6 additions & 0 deletions src/test/rustdoc-json/structs/empty_kinds.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// @is "$.index[*][?(@.name == 'Unit')].inner.kind" '"unit"'
pub struct Unit;
// @is "$.index[*][?(@.name == 'Tuple')].inner.kind" '"tuple"'
pub struct Tuple();
// @is "$.index[*][?(@.name == 'NamedFields')].inner.kind" '"named_fields"'
pub struct NamedFields {}

0 comments on commit 6ca1ee3

Please sign in to comment.