Skip to content

Commit 7441228

Browse files
authored
Update custom_types.rs
1 parent 849cc47 commit 7441228

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

tests/custom_types.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use diesel::expression::{AsExpression, IntoSql};
44
use diesel::pg::{Pg, PgValue};
55
use diesel::query_builder::QueryId;
66
use diesel::serialize::{self, IsNull, Output, ToSql};
7-
use diesel::sql_types::SqlType;
7+
use diesel::sql_types::{Array, Integer, SqlType};
88
use diesel::*;
99
use diesel_async::{RunQueryDsl, SimpleAsyncConnection};
1010
use std::io::Write;
@@ -70,13 +70,6 @@ async fn custom_types_round_trip() {
7070
];
7171
let connection = &mut connection().await;
7272

73-
// Try encoding an array to test type metadata lookup
74-
let selected = select(vec![MyEnum::Foo, MyEnum::Bar].into_sql::<sql_types::Array<MyType>>())
75-
.get_result::<Vec<MyEnum>>(connection)
76-
.await
77-
.unwrap();
78-
assert_eq!(vec![MyEnum::Foo, MyEnum::Bar], selected);
79-
8073
connection
8174
.batch_execute(
8275
r#"
@@ -90,6 +83,16 @@ async fn custom_types_round_trip() {
9083
.await
9184
.unwrap();
9285

86+
// Try encoding arrays to test type metadata lookup
87+
let selected_data = (vec![MyEnum::Foo, MyEnum::Bar], vec![0i32], vec![vec![MyEnum::Foo]]);
88+
let selected = select(
89+
selected_data.as_sql::<(Array<MyType>, Array<Integer>, Array<Array<MyType>>)>(),
90+
)
91+
.get_result::<(Vec<MyEnum>, Vec<i32>, Vec<Vec<MyEnum>>)>(connection)
92+
.await
93+
.unwrap();
94+
assert_eq!(selected_data, selected);
95+
9396
let inserted = insert_into(custom_types::table)
9497
.values(&data)
9598
.get_results(connection)

0 commit comments

Comments
 (0)