diff --git a/arrow-ipc/src/reader.rs b/arrow-ipc/src/reader.rs
index fd7d6be3af44..b219821086a5 100644
--- a/arrow-ipc/src/reader.rs
+++ b/arrow-ipc/src/reader.rs
@@ -1801,6 +1801,113 @@ mod tests {
assert_eq!(input_batch, output_batch);
}
+ const LONG_TEST_STRING: &str =
+ "This is a long string to make sure binary view array handles it";
+
+ #[test]
+ fn test_roundtrip_view_types() {
+ let schema = Schema::new(vec![
+ Field::new("field_1", DataType::BinaryView, true),
+ Field::new("field_2", DataType::Utf8, true),
+ Field::new("field_3", DataType::Utf8View, true),
+ ]);
+ let bin_values: Vec