rustdoc-json: Add tests for field/variant ordering.

This commit is contained in:
Alona Enraght-Moony 2023-04-16 23:16:52 +00:00
parent f525bb4e2a
commit 31ddea6e98
4 changed files with 154 additions and 0 deletions

View File

@ -0,0 +1,40 @@
// Check that the order of fields is preserved.
pub enum Whatever {
Foo {
// Important: random prefixes are used here to ensure that
// sorting fields by name would cause this test to fail.
ews_0: i32,
dik_1: i32,
hsk_2: i32,
djt_3: i32,
jnr_4: i32,
dfs_5: i32,
bja_6: i32,
lyc_7: i32,
yqd_8: i32,
vll_9: i32,
},
}
// @set 0 = '$.index[*][?(@.name == "ews_0")].id'
// @set 1 = '$.index[*][?(@.name == "dik_1")].id'
// @set 2 = '$.index[*][?(@.name == "hsk_2")].id'
// @set 3 = '$.index[*][?(@.name == "djt_3")].id'
// @set 4 = '$.index[*][?(@.name == "jnr_4")].id'
// @set 5 = '$.index[*][?(@.name == "dfs_5")].id'
// @set 6 = '$.index[*][?(@.name == "bja_6")].id'
// @set 7 = '$.index[*][?(@.name == "lyc_7")].id'
// @set 8 = '$.index[*][?(@.name == "yqd_8")].id'
// @set 9 = '$.index[*][?(@.name == "vll_9")].id'
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[0]' $0
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[1]' $1
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[2]' $2
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[3]' $3
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[4]' $4
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[5]' $5
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[6]' $6
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[7]' $7
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[8]' $8
// @is '$.index[*][?(@.name == "Foo")].inner.variant.kind.struct.fields[9]' $9

View File

@ -0,0 +1,38 @@
// Check that the order of variants is preserved.
pub enum Foo {
// Important: random prefixes are used here to ensure that
// sorting fields by name would cause this test to fail.
Ews0,
Dik1,
Hsk2,
Djt3,
Jnr4,
Dfs5,
Bja6,
Lyc7,
Yqd8,
Vll9,
}
// @set 0 = '$.index[*][?(@.name == "Ews0")].id'
// @set 1 = '$.index[*][?(@.name == "Dik1")].id'
// @set 2 = '$.index[*][?(@.name == "Hsk2")].id'
// @set 3 = '$.index[*][?(@.name == "Djt3")].id'
// @set 4 = '$.index[*][?(@.name == "Jnr4")].id'
// @set 5 = '$.index[*][?(@.name == "Dfs5")].id'
// @set 6 = '$.index[*][?(@.name == "Bja6")].id'
// @set 7 = '$.index[*][?(@.name == "Lyc7")].id'
// @set 8 = '$.index[*][?(@.name == "Yqd8")].id'
// @set 9 = '$.index[*][?(@.name == "Vll9")].id'
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[0]' $0
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[1]' $1
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[2]' $2
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[3]' $3
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[4]' $4
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[5]' $5
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[6]' $6
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[7]' $7
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[8]' $8
// @is '$.index[*][?(@.name == "Foo")].inner.enum.variants[9]' $9

View File

@ -0,0 +1,38 @@
// Check that the order of fields is preserved.
pub struct Foo {
// Important: random prefixes are used here to ensure that
// sorting fields by name would cause this test to fail.
pub ews_0: i32,
pub dik_1: i32,
pub hsk_2: i32,
pub djt_3: i32,
pub jnr_4: i32,
pub dfs_5: i32,
pub bja_6: i32,
pub lyc_7: i32,
pub yqd_8: i32,
pub vll_9: i32,
}
// @set 0 = '$.index[*][?(@.name == "ews_0")].id'
// @set 1 = '$.index[*][?(@.name == "dik_1")].id'
// @set 2 = '$.index[*][?(@.name == "hsk_2")].id'
// @set 3 = '$.index[*][?(@.name == "djt_3")].id'
// @set 4 = '$.index[*][?(@.name == "jnr_4")].id'
// @set 5 = '$.index[*][?(@.name == "dfs_5")].id'
// @set 6 = '$.index[*][?(@.name == "bja_6")].id'
// @set 7 = '$.index[*][?(@.name == "lyc_7")].id'
// @set 8 = '$.index[*][?(@.name == "yqd_8")].id'
// @set 9 = '$.index[*][?(@.name == "vll_9")].id'
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[0]' $0
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[1]' $1
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[2]' $2
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[3]' $3
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[4]' $4
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[5]' $5
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[6]' $6
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[7]' $7
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[8]' $8
// @is '$.index[*][?(@.name == "Foo")].inner.struct.kind.plain.fields[9]' $9

View File

@ -0,0 +1,38 @@
// Check that the order of fields is preserved.
pub union Foo {
// Important: random prefixes are used here to ensure that
// sorting fields by name would cause this test to fail.
pub ews_0: i32,
pub dik_1: i32,
pub hsk_2: i32,
pub djt_3: i32,
pub jnr_4: i32,
pub dfs_5: i32,
pub bja_6: i32,
pub lyc_7: i32,
pub yqd_8: i32,
pub vll_9: i32,
}
// @set 0 = '$.index[*][?(@.name == "ews_0")].id'
// @set 1 = '$.index[*][?(@.name == "dik_1")].id'
// @set 2 = '$.index[*][?(@.name == "hsk_2")].id'
// @set 3 = '$.index[*][?(@.name == "djt_3")].id'
// @set 4 = '$.index[*][?(@.name == "jnr_4")].id'
// @set 5 = '$.index[*][?(@.name == "dfs_5")].id'
// @set 6 = '$.index[*][?(@.name == "bja_6")].id'
// @set 7 = '$.index[*][?(@.name == "lyc_7")].id'
// @set 8 = '$.index[*][?(@.name == "yqd_8")].id'
// @set 9 = '$.index[*][?(@.name == "vll_9")].id'
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[0]' $0
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[1]' $1
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[2]' $2
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[3]' $3
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[4]' $4
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[5]' $5
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[6]' $6
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[7]' $7
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[8]' $8
// @is '$.index[*][?(@.name == "Foo")].inner.union.fields[9]' $9