77use assert_cmd:: Command ;
88use assert_fs:: { NamedTempFile , fixture:: FileWriteStr } ;
99use hugr:: builder:: { DataflowSubContainer , ModuleBuilder } ;
10- use hugr:: envelope:: { EnvelopeConfig , EnvelopeFormat , read_envelope } ;
10+ use hugr:: envelope:: { EnvelopeConfig , EnvelopeFormat , read_described_envelope } ;
1111use hugr:: package:: Package ;
1212use hugr:: types:: Type ;
1313use hugr:: {
@@ -77,7 +77,9 @@ fn test_convert_to_json(test_envelope_file: NamedTempFile, mut convert_cmd: Comm
7777 let output_content = std:: fs:: read ( output_file. path ( ) ) . expect ( "Failed to read output file" ) ;
7878 let reader = BufReader :: new ( output_content. as_slice ( ) ) ;
7979 let registry = ExtensionRegistry :: default ( ) ;
80- let ( config, _) = read_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
80+ let ( desc, _) =
81+ read_described_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
82+ let config = desc. header . config ( ) ;
8183
8284 // Verify the format is correct
8385 assert_eq ! ( config. format, EnvelopeFormat :: PackageJson ) ;
@@ -102,8 +104,9 @@ fn test_convert_to_model(test_envelope_file: NamedTempFile, mut convert_cmd: Com
102104 let output_content = std:: fs:: read ( output_file. path ( ) ) . expect ( "Failed to read output file" ) ;
103105 let reader = BufReader :: new ( output_content. as_slice ( ) ) ;
104106 let registry = ExtensionRegistry :: default ( ) ;
105- let ( config, _) = read_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
106-
107+ let ( desc, _) =
108+ read_described_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
109+ let config = desc. header . config ( ) ;
107110 // Verify the format is correct
108111 assert_eq ! ( config. format, EnvelopeFormat :: Model ) ;
109112}
@@ -174,7 +177,9 @@ fn test_convert_model_text_format(test_envelope_file: NamedTempFile, mut convert
174177 let output_content = std:: fs:: read ( output_file. path ( ) ) . expect ( "Failed to read output file" ) ;
175178 let reader = BufReader :: new ( output_content. as_slice ( ) ) ;
176179 let registry = ExtensionRegistry :: default ( ) ;
177- let ( config, _) = read_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
180+ let ( desc, _) =
181+ read_described_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
182+ let config = desc. header . config ( ) ;
178183
179184 // Verify the format is correct
180185 assert_eq ! ( config. format, EnvelopeFormat :: ModelText ) ;
@@ -192,14 +197,14 @@ fn test_format_roundtrip(test_package: Package) {
192197 let config_model = EnvelopeConfig :: new ( EnvelopeFormat :: Model ) ;
193198 let reader = BufReader :: new ( json_data. as_slice ( ) ) ;
194199 let registry = ExtensionRegistry :: default ( ) ;
195- let ( _, package) = read_envelope ( reader, & registry) . unwrap ( ) ;
200+ let ( _, package) = read_described_envelope ( reader, & registry) . unwrap ( ) ;
196201
197202 let mut model_data = Vec :: new ( ) ;
198203 hugr:: envelope:: write_envelope ( & mut model_data, & package, config_model) . unwrap ( ) ;
199204
200205 // Convert back to JSON
201206 let reader = BufReader :: new ( model_data. as_slice ( ) ) ;
202- let ( _, package_back) = read_envelope ( reader, & registry) . unwrap ( ) ;
207+ let ( _, package_back) = read_described_envelope ( reader, & registry) . unwrap ( ) ;
203208
204209 // Package should be the same after roundtrip conversion
205210 assert_eq ! ( test_package, package_back) ;
@@ -215,7 +220,9 @@ fn test_convert_text_flag(test_envelope_text: (String, Package), mut convert_cmd
215220
216221 let reader = BufReader :: new ( stdout. as_slice ( ) ) ;
217222 let registry = ExtensionRegistry :: default ( ) ;
218- let ( config, _) = read_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
223+ let ( desc, _) =
224+ read_described_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
225+ let config = desc. header . config ( ) ;
219226
220227 // Verify it's a text-based format
221228 assert ! ( config. format. ascii_printable( ) ) ;
@@ -231,7 +238,9 @@ fn test_convert_binary_flag(test_envelope_text: (String, Package), mut convert_c
231238
232239 let reader = BufReader :: new ( stdout. as_slice ( ) ) ;
233240 let registry = ExtensionRegistry :: default ( ) ;
234- let ( config, _) = read_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
241+ let ( desc, _) =
242+ read_described_envelope ( reader, & registry) . expect ( "Failed to read output envelope" ) ;
243+ let config = desc. header . config ( ) ;
235244
236245 // Verify it's a binary format (not ASCII printable)
237246 assert ! ( !config. format. ascii_printable( ) ) ;
0 commit comments