Skip to content

Commit 3242b4f

Browse files
committed
rustdoc-json: Add tests for field ordering.
1 parent fd57c6b commit 3242b4f

File tree

3 files changed

+116
-0
lines changed

3 files changed

+116
-0
lines changed
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Check that the order of fields is preserved.
2+
3+
pub enum Whatever {
4+
Foo {
5+
// Important: random prefixes are used here to ensure that
6+
// sorting fields by name would cause this test to fail.
7+
ews_0: i32,
8+
dik_1: i32,
9+
hsk_2: i32,
10+
djt_3: i32,
11+
jnr_4: i32,
12+
dfs_5: i32,
13+
bja_6: i32,
14+
lyc_7: i32,
15+
yqd_8: i32,
16+
vll_9: i32,
17+
},
18+
}
19+
20+
// @set 0 = '$.index[*][?(@.name == "ews_0")].id'
21+
// @set 1 = '$.index[*][?(@.name == "dik_1")].id'
22+
// @set 2 = '$.index[*][?(@.name == "hsk_2")].id'
23+
// @set 3 = '$.index[*][?(@.name == "djt_3")].id'
24+
// @set 4 = '$.index[*][?(@.name == "jnr_4")].id'
25+
// @set 5 = '$.index[*][?(@.name == "dfs_5")].id'
26+
// @set 6 = '$.index[*][?(@.name == "bja_6")].id'
27+
// @set 7 = '$.index[*][?(@.name == "lyc_7")].id'
28+
// @set 8 = '$.index[*][?(@.name == "yqd_8")].id'
29+
// @set 9 = '$.index[*][?(@.name == "vll_9")].id'
30+
31+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[0]' $0
32+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[1]' $1
33+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[2]' $2
34+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[3]' $3
35+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[4]' $4
36+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[5]' $5
37+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[6]' $6
38+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[7]' $7
39+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[8]' $8
40+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.struct.fields[9]' $9
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Check that the order of fields is preserved.
2+
3+
pub struct Foo {
4+
// Important: random prefixes are used here to ensure that
5+
// sorting fields by name would cause this test to fail.
6+
pub ews_0: i32,
7+
pub dik_1: i32,
8+
pub hsk_2: i32,
9+
pub djt_3: i32,
10+
pub jnr_4: i32,
11+
pub dfs_5: i32,
12+
pub bja_6: i32,
13+
pub lyc_7: i32,
14+
pub yqd_8: i32,
15+
pub vll_9: i32,
16+
}
17+
18+
// @set 0 = '$.index[*][?(@.name == "ews_0")].id'
19+
// @set 1 = '$.index[*][?(@.name == "dik_1")].id'
20+
// @set 2 = '$.index[*][?(@.name == "hsk_2")].id'
21+
// @set 3 = '$.index[*][?(@.name == "djt_3")].id'
22+
// @set 4 = '$.index[*][?(@.name == "jnr_4")].id'
23+
// @set 5 = '$.index[*][?(@.name == "dfs_5")].id'
24+
// @set 6 = '$.index[*][?(@.name == "bja_6")].id'
25+
// @set 7 = '$.index[*][?(@.name == "lyc_7")].id'
26+
// @set 8 = '$.index[*][?(@.name == "yqd_8")].id'
27+
// @set 9 = '$.index[*][?(@.name == "vll_9")].id'
28+
29+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[0]' $0
30+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[1]' $1
31+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[2]' $2
32+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[3]' $3
33+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[4]' $4
34+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[5]' $5
35+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[6]' $6
36+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[7]' $7
37+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[8]' $8
38+
// @is '$.index[*][?(@.name == "Foo")].inner.kind.plain.fields[9]' $9
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Check that the order of fields is preserved.
2+
3+
pub union Foo {
4+
// Important: random prefixes are used here to ensure that
5+
// sorting fields by name would cause this test to fail.
6+
pub ews_0: i32,
7+
pub dik_1: i32,
8+
pub hsk_2: i32,
9+
pub djt_3: i32,
10+
pub jnr_4: i32,
11+
pub dfs_5: i32,
12+
pub bja_6: i32,
13+
pub lyc_7: i32,
14+
pub yqd_8: i32,
15+
pub vll_9: i32,
16+
}
17+
18+
// @set 0 = '$.index[*][?(@.name == "ews_0")].id'
19+
// @set 1 = '$.index[*][?(@.name == "dik_1")].id'
20+
// @set 2 = '$.index[*][?(@.name == "hsk_2")].id'
21+
// @set 3 = '$.index[*][?(@.name == "djt_3")].id'
22+
// @set 4 = '$.index[*][?(@.name == "jnr_4")].id'
23+
// @set 5 = '$.index[*][?(@.name == "dfs_5")].id'
24+
// @set 6 = '$.index[*][?(@.name == "bja_6")].id'
25+
// @set 7 = '$.index[*][?(@.name == "lyc_7")].id'
26+
// @set 8 = '$.index[*][?(@.name == "yqd_8")].id'
27+
// @set 9 = '$.index[*][?(@.name == "vll_9")].id'
28+
29+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[0]' $0
30+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[1]' $1
31+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[2]' $2
32+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[3]' $3
33+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[4]' $4
34+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[5]' $5
35+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[6]' $6
36+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[7]' $7
37+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[8]' $8
38+
// @is '$.index[*][?(@.name == "Foo")].inner.fields[9]' $9

0 commit comments

Comments
 (0)