diff --git a/test_suite/tests/test_macros.rs b/test_suite/tests/test_macros.rs index 0c38fc39..0594d8d4 100644 --- a/test_suite/tests/test_macros.rs +++ b/test_suite/tests/test_macros.rs @@ -1086,34 +1086,6 @@ fn test_adjacently_tagged_enum() { ], ); - // unit with no content (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(0), // tag field - Token::Str("Unit"), - Token::StructEnd, - ], - ); - - // unit with no content (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::StructEnd, - ], - ); - // unit with tag first assert_de_tokens( &AdjacentlyTagged::Unit::, @@ -1130,38 +1102,6 @@ fn test_adjacently_tagged_enum() { ], ); - // unit with tag first (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(0), // tag field - Token::Str("Unit"), - Token::U64(1), // content field - Token::Unit, - Token::StructEnd, - ], - ); - - // unit with tag first (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::Bytes(b"c"), - Token::Unit, - Token::StructEnd, - ], - ); - // unit with content first assert_de_tokens( &AdjacentlyTagged::Unit::, @@ -1178,38 +1118,6 @@ fn test_adjacently_tagged_enum() { ], ); - // unit with content first (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(1), // content field - Token::Unit, - Token::U64(0), // tag field - Token::Str("Unit"), - Token::StructEnd, - ], - ); - - // unit with content first (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"c"), - Token::Unit, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::StructEnd, - ], - ); - // unit with excess content (f, g, h) assert_de_tokens( &AdjacentlyTagged::Unit::, @@ -1232,50 +1140,6 @@ fn test_adjacently_tagged_enum() { ], ); - // unit with excess content (f, g, 3) (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Str("f"), - Token::Unit, - Token::U64(0), // tag field - Token::Str("Unit"), - Token::Str("g"), - Token::Unit, - Token::U64(1), // content field - Token::Unit, - Token::U64(3), // unknown field - Token::Unit, - Token::StructEnd, - ], - ); - - // unit with excess content (f, b"g", 3) (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Unit::, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Str("f"), - Token::Unit, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::Bytes(b"g"), - Token::Unit, - Token::Str("c"), - Token::Unit, - Token::U64(3), - Token::Unit, - Token::StructEnd, - ], - ); - // newtype with tag first assert_tokens( &AdjacentlyTagged::Newtype::(1), @@ -1292,38 +1156,6 @@ fn test_adjacently_tagged_enum() { ], ); - // newtype with tag first (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Newtype::(1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(0), // tag field - Token::Str("Newtype"), - Token::U64(1), // content field - Token::U8(1), - Token::StructEnd, - ], - ); - - // newtype with tag first (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Newtype::(1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Newtype"), - Token::Bytes(b"c"), - Token::U8(1), - Token::StructEnd, - ], - ); - // newtype with content first assert_de_tokens( &AdjacentlyTagged::Newtype::(1), @@ -1340,38 +1172,6 @@ fn test_adjacently_tagged_enum() { ], ); - // newtype with content first (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Newtype::(1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(1), // content field - Token::U8(1), - Token::U64(0), // tag field - Token::Str("Newtype"), - Token::StructEnd, - ], - ); - - // newtype with content first (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Newtype::(1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"c"), - Token::U8(1), - Token::Bytes(b"t"), - Token::Str("Newtype"), - Token::StructEnd, - ], - ); - // optional newtype with no content field assert_de_tokens( &AdjacentlyTagged::Newtype::>(None), @@ -1386,34 +1186,6 @@ fn test_adjacently_tagged_enum() { ], ); - // optional newtype with no content field (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Newtype::>(None), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 1, - }, - Token::U64(0), // tag field - Token::Str("Newtype"), - Token::StructEnd, - ], - ); - - // optional newtype with no content field (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Newtype::>(None), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 1, - }, - Token::Bytes(b"t"), - Token::Str("Newtype"), - Token::StructEnd, - ], - ); - // tuple with tag first assert_tokens( &AdjacentlyTagged::Tuple::(1, 1), @@ -1433,44 +1205,6 @@ fn test_adjacently_tagged_enum() { ], ); - // tuple with tag first (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Tuple::(1, 1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(0), // tag field - Token::Str("Tuple"), - Token::U64(1), // content field - Token::Tuple { len: 2 }, - Token::U8(1), - Token::U8(1), - Token::TupleEnd, - Token::StructEnd, - ], - ); - - // tuple with tag first (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Tuple::(1, 1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Tuple"), - Token::Bytes(b"c"), - Token::Tuple { len: 2 }, - Token::U8(1), - Token::U8(1), - Token::TupleEnd, - Token::StructEnd, - ], - ); - // tuple with content first assert_de_tokens( &AdjacentlyTagged::Tuple::(1, 1), @@ -1490,44 +1224,6 @@ fn test_adjacently_tagged_enum() { ], ); - // tuple with content first (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Tuple::(1, 1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(1), // content field - Token::Tuple { len: 2 }, - Token::U8(1), - Token::U8(1), - Token::TupleEnd, - Token::U64(0), // tag field - Token::Str("Tuple"), - Token::StructEnd, - ], - ); - - // tuple with content first (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Tuple::(1, 1), - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"c"), - Token::Tuple { len: 2 }, - Token::U8(1), - Token::U8(1), - Token::TupleEnd, - Token::Bytes(b"t"), - Token::Str("Tuple"), - Token::StructEnd, - ], - ); - // struct with tag first assert_tokens( &AdjacentlyTagged::Struct:: { f: 1 }, @@ -1550,50 +1246,6 @@ fn test_adjacently_tagged_enum() { ], ); - // struct with tag first (integer tag) - assert_de_tokens( - &AdjacentlyTagged::Struct:: { f: 1 }, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(0), // tag field - Token::Str("Struct"), - Token::U64(1), // content field - Token::Struct { - name: "Struct", - len: 1, - }, - Token::Str("f"), - Token::U8(1), - Token::StructEnd, - Token::StructEnd, - ], - ); - - // struct with tag first (bytes tag) - assert_de_tokens( - &AdjacentlyTagged::Struct:: { f: 1 }, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Struct"), - Token::Bytes(b"c"), - Token::Struct { - name: "Struct", - len: 1, - }, - Token::Str("f"), - Token::U8(1), - Token::StructEnd, - Token::StructEnd, - ], - ); - // struct with content first assert_de_tokens( &AdjacentlyTagged::Struct:: { f: 1 }, @@ -1616,46 +1268,34 @@ fn test_adjacently_tagged_enum() { ], ); - // struct with content first (integer tag) + // integer field keys assert_de_tokens( - &AdjacentlyTagged::Struct:: { f: 1 }, + &AdjacentlyTagged::Newtype::(1), &[ Token::Struct { name: "AdjacentlyTagged", len: 2, }, Token::U64(1), // content field - Token::Struct { - name: "Struct", - len: 1, - }, - Token::Str("f"), Token::U8(1), - Token::StructEnd, Token::U64(0), // tag field - Token::Str("Struct"), + Token::Str("Newtype"), Token::StructEnd, ], ); - // struct with content first (bytes tag) + // byte-array field keys assert_de_tokens( - &AdjacentlyTagged::Struct:: { f: 1 }, + &AdjacentlyTagged::Newtype::(1), &[ Token::Struct { name: "AdjacentlyTagged", len: 2, }, Token::Bytes(b"c"), - Token::Struct { - name: "Struct", - len: 1, - }, - Token::Str("f"), Token::U8(1), - Token::StructEnd, Token::Bytes(b"t"), - Token::Str("Struct"), + Token::Str("Newtype"), Token::StructEnd, ], ); @@ -1684,126 +1324,6 @@ fn test_adjacently_tagged_enum_deny_unknown_fields() { ], ); - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(0), // tag field - Token::Str("Unit"), - Token::U64(1), // content field - Token::Unit, - Token::StructEnd, - ], - ); - - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::Bytes(b"c"), - Token::Unit, - Token::StructEnd, - ], - ); - - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Str("t"), - Token::Str("Unit"), - Token::U64(1), // content field - Token::Unit, - Token::StructEnd, - ], - ); - - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(0), // tag field - Token::Str("Unit"), - Token::Str("c"), - Token::Unit, - Token::StructEnd, - ], - ); - - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::U64(1), // content field - Token::Unit, - Token::StructEnd, - ], - ); - - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::Str("c"), - Token::Unit, - Token::StructEnd, - ], - ); - - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Str("c"), - Token::Unit, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::StructEnd, - ], - ); - - assert_de_tokens( - &AdjacentlyTagged::Unit, - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Str("c"), - Token::Unit, - Token::Bytes(b"t"), - Token::Str("Unit"), - Token::StructEnd, - ], - ); - assert_de_tokens_error::( &[ Token::Struct { @@ -1843,17 +1363,6 @@ fn test_adjacently_tagged_enum_deny_unknown_fields() { r#"invalid value: string "h", expected "t" or "c""#, ); - assert_de_tokens_error::( - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::U64(2), - ], - r#"invalid value: integer `2`, expected "t" or "c""#, - ); - assert_de_tokens_error::( &[ Token::Struct { @@ -1867,17 +1376,6 @@ fn test_adjacently_tagged_enum_deny_unknown_fields() { r#"invalid value: integer `3`, expected "t" or "c""#, ); - assert_de_tokens_error::( - &[ - Token::Struct { - name: "AdjacentlyTagged", - len: 2, - }, - Token::Bytes(b"h"), - ], - r#"invalid value: byte array, expected "t" or "c""#, - ); - assert_de_tokens_error::( &[ Token::Struct {