Skip to content

Commit 3fb0929

Browse files
committed
enums/discriminant/ is done
1 parent 948e71e commit 3fb0929

File tree

7 files changed

+96
-66
lines changed

7 files changed

+96
-66
lines changed
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
#[repr(i8)]
22
pub enum Ordering {
3-
//@ is "$.index[?(@.name=='Less')].inner.variant.discriminant.expr" '"-1"'
4-
//@ is "$.index[?(@.name=='Less')].inner.variant.discriminant.value" '"-1"'
3+
//@ arg less .index[] | select(.name == "Less").inner.variant.discriminant?
4+
//@ jq $less.expr? == "-1"
5+
//@ jq $less.value? == "-1"
56
Less = -1,
6-
//@ is "$.index[?(@.name=='Equal')].inner.variant.discriminant.expr" '"0"'
7-
//@ is "$.index[?(@.name=='Equal')].inner.variant.discriminant.value" '"0"'
7+
//@ arg equal .index[] | select(.name == "Equal").inner.variant.discriminant?
8+
//@ jq $equal.expr? == "0"
9+
//@ jq $equal.value? == "0"
810
Equal = 0,
9-
//@ is "$.index[?(@.name=='Greater')].inner.variant.discriminant.expr" '"1"'
10-
//@ is "$.index[?(@.name=='Greater')].inner.variant.discriminant.value" '"1"'
11+
//@ arg greater .index[] | select(.name == "Greater").inner.variant.discriminant?
12+
//@ jq $greater.expr? == "1"
13+
//@ jq $greater.value? == "1"
1114
Greater = 1,
1215
}

tests/rustdoc-json/enums/discriminant/expr.rs

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,39 @@
11
pub enum Foo {
2-
//@ is "$.index[?(@.name=='Addition')].inner.variant.discriminant.value" '"0"'
3-
//@ is "$.index[?(@.name=='Addition')].inner.variant.discriminant.expr" '"{ _ }"'
2+
//@ arg addition .index[] | select(.name == "Addition").inner.variant.discriminant?
3+
//@ jq $addition.value? == "0"
4+
//@ jq $addition.expr? == "{ _ }"
45
Addition = 0 + 0,
5-
//@ is "$.index[?(@.name=='Bin')].inner.variant.discriminant.value" '"1"'
6-
//@ is "$.index[?(@.name=='Bin')].inner.variant.discriminant.expr" '"0b1"'
6+
//@ arg bin .index[] | select(.name == "Bin").inner.variant.discriminant?
7+
//@ jq $bin.value? == "1"
8+
//@ jq $bin.expr? == "0b1"
79
Bin = 0b1,
8-
//@ is "$.index[?(@.name=='Oct')].inner.variant.discriminant.value" '"2"'
9-
//@ is "$.index[?(@.name=='Oct')].inner.variant.discriminant.expr" '"0o2"'
10+
//@ arg oct .index[] | select(.name == "Oct").inner.variant.discriminant?
11+
//@ jq $oct.value? == "2"
12+
//@ jq $oct.expr? == "0o2"
1013
Oct = 0o2,
11-
//@ is "$.index[?(@.name=='PubConst')].inner.variant.discriminant.value" '"3"'
12-
//@ is "$.index[?(@.name=='PubConst')].inner.variant.discriminant.expr" '"THREE"'
14+
//@ arg pub_const .index[] | select(.name == "PubConst").inner.variant.discriminant?
15+
//@ jq $pub_const.value? == "3"
16+
//@ jq $pub_const.expr? == "THREE"
1317
PubConst = THREE,
14-
//@ is "$.index[?(@.name=='Hex')].inner.variant.discriminant.value" '"4"'
15-
//@ is "$.index[?(@.name=='Hex')].inner.variant.discriminant.expr" '"0x4"'
18+
//@ arg hex .index[] | select(.name == "Hex").inner.variant.discriminant?
19+
//@ jq $hex.value? == "4"
20+
//@ jq $hex.expr? == "0x4"
1621
Hex = 0x4,
17-
//@ is "$.index[?(@.name=='Cast')].inner.variant.discriminant.value" '"5"'
18-
//@ is "$.index[?(@.name=='Cast')].inner.variant.discriminant.expr" '"{ _ }"'
22+
//@ arg cast .index[] | select(.name == "Cast").inner.variant.discriminant?
23+
//@ jq $cast.value? == "5"
24+
//@ jq $cast.expr? == "{ _ }"
1925
Cast = 5 as isize,
20-
//@ is "$.index[?(@.name=='PubCall')].inner.variant.discriminant.value" '"6"'
21-
//@ is "$.index[?(@.name=='PubCall')].inner.variant.discriminant.expr" '"{ _ }"'
26+
//@ arg pub_call .index[] | select(.name == "PubCall").inner.variant.discriminant?
27+
//@ jq $pub_call.value? == "6"
28+
//@ jq $pub_call.expr? == "{ _ }"
2229
PubCall = six(),
23-
//@ is "$.index[?(@.name=='PrivCall')].inner.variant.discriminant.value" '"7"'
24-
//@ is "$.index[?(@.name=='PrivCall')].inner.variant.discriminant.expr" '"{ _ }"'
30+
//@ arg priv_call .index[] | select(.name == "PrivCall").inner.variant.discriminant?
31+
//@ jq $priv_call.value? == "7"
32+
//@ jq $priv_call.expr? == "{ _ }"
2533
PrivCall = seven(),
26-
//@ is "$.index[?(@.name=='PrivConst')].inner.variant.discriminant.value" '"8"'
27-
//@ is "$.index[?(@.name=='PrivConst')].inner.variant.discriminant.expr" '"EIGHT"'
34+
//@ arg priv_const .index[] | select(.name == "PrivConst").inner.variant.discriminant?
35+
//@ jq $priv_const.value? == "8"
36+
//@ jq $priv_const.expr? == "EIGHT"
2837
PrivConst = EIGHT,
2938
}
3039

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,47 @@
11
#[repr(u64)]
22
pub enum U64 {
3-
//@ is "$.index[?(@.name=='U64Min')].inner.variant.discriminant.value" '"0"'
4-
//@ is "$.index[?(@.name=='U64Min')].inner.variant.discriminant.expr" '"u64::MIN"'
3+
//@ arg u64min .index[] | select(.name == "U64Min").inner.variant.discriminant?
4+
//@ jq $u64min.value? == "0"
5+
//@ jq $u64min.expr? == "u64::MIN"
56
U64Min = u64::MIN,
6-
//@ is "$.index[?(@.name=='U64Max')].inner.variant.discriminant.value" '"18446744073709551615"'
7-
//@ is "$.index[?(@.name=='U64Max')].inner.variant.discriminant.expr" '"u64::MAX"'
7+
//@ arg u64max .index[] | select(.name == "U64Max").inner.variant.discriminant?
8+
//@ jq $u64max.value? == "18446744073709551615"
9+
//@ jq $u64max.expr? == "u64::MAX"
810
U64Max = u64::MAX,
911
}
1012

1113
#[repr(i64)]
1214
pub enum I64 {
13-
//@ is "$.index[?(@.name=='I64Min')].inner.variant.discriminant.value" '"-9223372036854775808"'
14-
//@ is "$.index[?(@.name=='I64Min')].inner.variant.discriminant.expr" '"i64::MIN"'
15+
//@ arg i64min .index[] | select(.name == "I64Min").inner.variant.discriminant?
16+
//@ jq $i64min.value? == "-9223372036854775808"
17+
//@ jq $i64min.expr? == "i64::MIN"
1518
I64Min = i64::MIN,
16-
//@ is "$.index[?(@.name=='I64Max')].inner.variant.discriminant.value" '"9223372036854775807"'
17-
//@ is "$.index[?(@.name=='I64Max')].inner.variant.discriminant.expr" '"i64::MAX"'
19+
//@ arg i64max .index[] | select(.name == "I64Max").inner.variant.discriminant?
20+
//@ jq $i64max.value? == "9223372036854775807"
21+
//@ jq $i64max.expr? == "i64::MAX"
1822
I64Max = i64::MAX,
1923
}
2024

2125
#[repr(u128)]
2226
pub enum U128 {
23-
//@ is "$.index[?(@.name=='U128Min')].inner.variant.discriminant.value" '"0"'
24-
//@ is "$.index[?(@.name=='U128Min')].inner.variant.discriminant.expr" '"u128::MIN"'
27+
//@ arg u128min .index[] | select(.name == "U128Min").inner.variant.discriminant?
28+
//@ jq $u128min.value? == "0"
29+
//@ jq $u128min.expr? == "u128::MIN"
2530
U128Min = u128::MIN,
26-
//@ is "$.index[?(@.name=='U128Max')].inner.variant.discriminant.value" '"340282366920938463463374607431768211455"'
27-
//@ is "$.index[?(@.name=='U128Max')].inner.variant.discriminant.expr" '"u128::MAX"'
31+
//@ arg u128max .index[] | select(.name == "U128Max").inner.variant.discriminant?
32+
//@ jq $u128max.value? == "340282366920938463463374607431768211455"
33+
//@ jq $u128max.expr? == "u128::MAX"
2834
U128Max = u128::MAX,
2935
}
3036

3137
#[repr(i128)]
3238
pub enum I128 {
33-
//@ is "$.index[?(@.name=='I128Min')].inner.variant.discriminant.value" '"-170141183460469231731687303715884105728"'
34-
//@ is "$.index[?(@.name=='I128Min')].inner.variant.discriminant.expr" '"i128::MIN"'
39+
//@ arg i128min .index[] | select(.name == "I128Min").inner.variant.discriminant?
40+
//@ jq $i128min.value? == "-170141183460469231731687303715884105728"
41+
//@ jq $i128min.expr? == "i128::MIN"
3542
I128Min = i128::MIN,
36-
//@ is "$.index[?(@.name=='I128Max')].inner.variant.discriminant.value" '"170141183460469231731687303715884105727"'
37-
//@ is "$.index[?(@.name=='I128Max')].inner.variant.discriminant.expr" '"i128::MAX"'
43+
//@ arg i128max .index[] | select(.name == "I128Max").inner.variant.discriminant?
44+
//@ jq $i128max.value? == "170141183460469231731687303715884105727"
45+
//@ jq $i128max.expr? == "i128::MAX"
3846
I128Max = i128::MAX,
3947
}
Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
#[repr(u32)]
22
pub enum Foo {
3-
//@ is "$.index[?(@.name=='Basic')].inner.variant.discriminant.value" '"0"'
4-
//@ is "$.index[?(@.name=='Basic')].inner.variant.discriminant.expr" '"0"'
3+
//@ arg basic .index[] | select(.name == "Basic").inner.variant.discriminant?
4+
//@ jq $basic.value? == "0"
5+
//@ jq $basic.expr? == "0"
56
Basic = 0,
6-
//@ is "$.index[?(@.name=='Suffix')].inner.variant.discriminant.value" '"10"'
7-
//@ is "$.index[?(@.name=='Suffix')].inner.variant.discriminant.expr" '"10u32"'
7+
//@ arg suffix .index[] | select(.name == "Suffix").inner.variant.discriminant?
8+
//@ jq $suffix.value? == "10"
9+
//@ jq $suffix.expr? == "10u32"
810
Suffix = 10u32,
9-
//@ is "$.index[?(@.name=='Underscore')].inner.variant.discriminant.value" '"100"'
10-
//@ is "$.index[?(@.name=='Underscore')].inner.variant.discriminant.expr" '"1_0_0"'
11+
//@ arg underscore .index[] | select(.name == "Underscore").inner.variant.discriminant?
12+
//@ jq $underscore.value? == "100"
13+
//@ jq $underscore.expr? == "1_0_0"
1114
Underscore = 1_0_0,
12-
//@ is "$.index[?(@.name=='SuffixUnderscore')].inner.variant.discriminant.value" '"1000"'
13-
//@ is "$.index[?(@.name=='SuffixUnderscore')].inner.variant.discriminant.expr" '"1_0_0_0u32"'
15+
//@ arg suffix_underscore .index[] | select(.name == "SuffixUnderscore").inner.variant.discriminant?
16+
//@ jq $suffix_underscore.value? == "1000"
17+
//@ jq $suffix_underscore.expr? == "1_0_0_0u32"
1418
SuffixUnderscore = 1_0_0_0u32,
1519
}
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
pub enum Foo {
2-
//@ is "$.index[?(@.name=='Has')].inner.variant.discriminant" '{"expr":"0", "value":"0"}'
2+
//@ jq .index[] | select(.name == "Has").inner.variant.discriminant? == {"expr":"0", "value":"0"}
33
Has = 0,
4-
//@ is "$.index[?(@.name=='Doesnt')].inner.variant.discriminant" null
4+
//@ jq .index[] | select(.name == "Doesnt").inner.variant.discriminant? == null
55
Doesnt,
6-
//@ is "$.index[?(@.name=='AlsoDoesnt')].inner.variant.discriminant" null
6+
//@ jq .index[] | select(.name == "AlsoDoesnt").inner.variant.discriminant? == null
77
AlsoDoesnt,
8-
//@ is "$.index[?(@.name=='AlsoHas')].inner.variant.discriminant" '{"expr":"44", "value":"44"}'
8+
//@ jq .index[] | select(.name == "AlsoHas").inner.variant.discriminant? == {"expr":"44", "value":"44"}
99
AlsoHas = 44,
1010
}
Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
#[repr(i32)]
2-
//@ is "$.index[?(@.name=='Foo')].attrs" '["#[repr(i32)]"]'
2+
//@ jq .index[] | select(.name == "Foo").attrs == ["#[repr(i32)]"]
33
pub enum Foo {
4-
//@ is "$.index[?(@.name=='Struct')].inner.variant.discriminant" null
5-
//@ count "$.index[?(@.name=='Struct')].inner.variant.kind.struct.fields[*]" 0
4+
//@ arg struct .index[] | select(.name == "Struct").inner.variant
5+
//@ jq $struct.discriminant? == null
6+
//@ jq $struct.kind?.struct.fields? | length == 0
67
Struct {},
7-
//@ is "$.index[?(@.name=='StructWithDiscr')].inner.variant.discriminant" '{"expr": "42", "value": "42"}'
8-
//@ count "$.index[?(@.name=='StructWithDiscr')].inner.variant.kind.struct.fields[*]" 1
8+
//@ arg struct_with_discr .index[] | select(.name == "StructWithDiscr").inner.variant
9+
//@ jq $struct_with_discr.discriminant? == {"expr": "42", "value": "42"}
10+
//@ jq $struct_with_discr.kind?.struct.fields? | length == 1
911
StructWithDiscr { x: i32 } = 42,
10-
//@ is "$.index[?(@.name=='StructWithHexDiscr')].inner.variant.discriminant" '{"expr": "0x42", "value": "66"}'
11-
//@ count "$.index[?(@.name=='StructWithHexDiscr')].inner.variant.kind.struct.fields[*]" 2
12+
//@ arg struct_with_hex_discr .index[] | select(.name == "StructWithHexDiscr").inner.variant
13+
//@ jq $struct_with_hex_discr.discriminant? == {"expr": "0x42", "value": "66"}
14+
//@ jq $struct_with_hex_discr.kind?.struct.fields? | length == 2
1215
StructWithHexDiscr { x: i32, y: bool } = 0x42,
1316
}
Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
#[repr(u32)]
2-
//@ is "$.index[?(@.name=='Foo')].attrs" '["#[repr(u32)]"]'
2+
//@ jq .index[] | select(.name == "Foo").attrs == ["#[repr(u32)]"]
33
pub enum Foo {
4-
//@ is "$.index[?(@.name=='Tuple')].inner.variant.discriminant" null
5-
//@ count "$.index[?(@.name=='Tuple')].inner.variant.kind.tuple[*]" 0
4+
//@ arg tuple .index[] | select(.name == "Tuple").inner.variant
5+
//@ jq $tuple.discriminant? == null
6+
//@ jq $tuple.kind?.tuple | length == 0
67
Tuple(),
7-
//@ is "$.index[?(@.name=='TupleWithDiscr')].inner.variant.discriminant" '{"expr": "1", "value": "1"}'
8-
//@ count "$.index[?(@.name=='TupleWithDiscr')].inner.variant.kind.tuple[*]" 1
8+
//@ arg tuple_with_discr .index[] | select(.name == "TupleWithDiscr").inner.variant
9+
//@ jq $tuple_with_discr.discriminant? == {"expr": "1", "value": "1"}
10+
//@ jq $tuple_with_discr.kind?.tuple | length == 1
911
TupleWithDiscr(i32) = 1,
10-
//@ is "$.index[?(@.name=='TupleWithBinDiscr')].inner.variant.discriminant" '{"expr": "0b10", "value": "2"}'
11-
//@ count "$.index[?(@.name=='TupleWithBinDiscr')].inner.variant.kind.tuple[*]" 2
12+
//@ arg tuple_with_bin_discr .index[] | select(.name == "TupleWithBinDiscr").inner.variant
13+
//@ jq $tuple_with_bin_discr.discriminant? == {"expr": "0b10", "value": "2"}
14+
//@ jq $tuple_with_bin_discr.kind?.tuple | length == 2
1215
TupleWithBinDiscr(i32, i32) = 0b10,
1316
}

0 commit comments

Comments
 (0)