Skip to content

Commit 6ca1ee3

Browse files
committed
Rustdoc-Json: Add more tests for enums and hidden fields
1 parent cf6ed31 commit 6ca1ee3

File tree

4 files changed

+62
-0
lines changed

4 files changed

+62
-0
lines changed

Diff for: src/test/rustdoc-json/enums/kind.rs

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#![feature(no_core)]
2+
#![no_core]
3+
4+
pub enum Foo {
5+
// @is "$.index[*][?(@.name=='Unit')].inner.kind" '"unit"'
6+
// @set Unit = "$.index[*][?(@.name=='Unit')].id"
7+
// @is "$.index[*][?(@.name=='Unit')].inner.fields" []
8+
Unit,
9+
// @is "$.index[*][?(@.name=='Named')].inner.kind" '"named_fields"'
10+
// @set Named = "$.index[*][?(@.name=='Named')].id"
11+
// @is "$.index[*][?(@.name=='Named')].inner.fields" []
12+
Named {},
13+
// @is "$.index[*][?(@.name=='Tuple')].inner.kind" '"tuple"'
14+
// @set Tuple = "$.index[*][?(@.name=='Tuple')].id"
15+
// @is "$.index[*][?(@.name=='Tuple')].inner.fields" []
16+
Tuple(),
17+
// @is "$.index[*][?(@.name=='NamedField')].inner.kind" '"named_fields"'
18+
// @set NamedField = "$.index[*][?(@.name=='NamedField')].id"
19+
// @set x = "$.index[*][?(@.name=='x' && @.kind=='field')].id"
20+
// @is "$.index[*][?(@.name=='NamedField')].inner.fields[*]" $x
21+
NamedField { x: i32 },
22+
// @is "$.index[*][?(@.name=='TupleField')].inner.kind" '"tuple"'
23+
// @set TupleField = "$.index[*][?(@.name=='TupleField')].id"
24+
// @set tup_field = "$.index[*][?(@.name=='0' && @.kind=='field')].id"
25+
// @is "$.index[*][?(@.name=='TupleField')].inner.fields[*]" $tup_field
26+
TupleField(i32),
27+
}
28+
29+
// @is "$.index[*][?(@.name=='Foo')].inner.variants[0]" $Unit
30+
// @is "$.index[*][?(@.name=='Foo')].inner.variants[1]" $Named
31+
// @is "$.index[*][?(@.name=='Foo')].inner.variants[2]" $Tuple
32+
// @is "$.index[*][?(@.name=='Foo')].inner.variants[3]" $NamedField
33+
// @is "$.index[*][?(@.name=='Foo')].inner.variants[4]" $TupleField
34+
// @count "$.index[*][?(@.name=='Foo')].inner.variants[*]" 5

Diff for: src/test/rustdoc-json/enums/some_fields_hidden.rs

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#![feature(no_core)]
2+
#![no_core]
3+
4+
pub enum Foo {
5+
// @set i8 = "$.index[*][?(@.docs=='i8' && @.kind=='field')].id"
6+
// @is "$.index[*][?(@.docs=='i8' && @.kind=='field')].name" '"0"'
7+
// @is "$.index[*][?(@.name=='V1')].inner.fields[*]" $i8
8+
// @is "$.index[*][?(@.name=='V1')].inner.fields_stripped" false
9+
V1(
10+
/// i8
11+
i8,
12+
),
13+
// @set u8 = "$.index[*][?(@.docs=='u8' && @.kind=='field')].id"
14+
// @is "$.index[*][?(@.docs=='u8' && @.kind=='field')].name" '"1"'
15+
// @is "$.index[*][?(@.name=='V2')].inner.fields[*]" $u8
16+
// @is "$.index[*][?(@.name=='V2')].inner.fields_stripped" true
17+
V2(
18+
#[doc(hidden)] u8,
19+
/// u8
20+
u8,
21+
),
22+
}

Diff for: src/test/rustdoc-json/structs/empty_kinds.rs

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @is "$.index[*][?(@.name == 'Unit')].inner.kind" '"unit"'
2+
pub struct Unit;
3+
// @is "$.index[*][?(@.name == 'Tuple')].inner.kind" '"tuple"'
4+
pub struct Tuple();
5+
// @is "$.index[*][?(@.name == 'NamedFields')].inner.kind" '"named_fields"'
6+
pub struct NamedFields {}

0 commit comments

Comments
 (0)