11import typing as ty
22import pytest
3+ import sys
34from fileformats .application import Cdfx___Xml
45from fileformats .core import DataType
56from fileformats .core .identification import to_mime , from_mime
@@ -28,6 +29,9 @@ def test_mimelike_roundtrip() -> None:
2829 assert reloaded is klass
2930
3031
32+ UNION_TYPE = U | V if sys .version_info >= (3 , 10 ) else ty .Union [U , V ]
33+
34+
3135@pytest .mark .parametrize (
3236 ["klass" , "expected_mime" ],
3337 [
@@ -44,17 +48,20 @@ def test_mimelike_roundtrip() -> None:
4448 [Zip [Classified [U ]], "testing/u+classified+zip" ],
4549 [Zip [Classified [U , X ]], "testing/[u..v]+classified+zip" ],
4650 [Classified [U , Zip [MyFormat ]], "testing/[u..my-format+zip]+classified" ],
47- [Classified [U , MyFormat [A , B ]], "testing/[u..[a..b]+my-format]+classified" ],
51+ [
52+ Classified [Theta , MyFormat [A , B ]],
53+ "testing/[vnd.testing.theta..[a..b]+my-format]+classified" ,
54+ ],
4855 [
4956 Wordprocessingml_Document ,
5057 "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ,
5158 ],
5259 [
5360 DirectoryOf [Wordprocessingml_Document ],
54- "application/vnd.openxmlformats-officedocument.wordprocessingml.document+directory" ,
61+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document+directory-of " ,
5562 ],
5663 [Cdfx___Xml , "application/vnd.ms-cdfx+xml" ],
57- [U | V , "testing/u,testing/v" ],
64+ [UNION_TYPE , "testing/u,testing/v" ],
5865 ],
5966)
6067def test_compound_mime_roundtrip (klass : ty .Type [DataType ], expected_mime : str ) -> None :
0 commit comments