Add transformation block support
[normand.git] / tests / test_trans_gz_bz2.py
CommitLineData
cd33dfe6
PP
1# The MIT License (MIT)
2#
3# Copyright (c) 2023 Philippe Proulx <eeppeliteloop@gmail.com>
4#
5# Permission is hereby granted, free of charge, to any person obtaining
6# a copy of this software and associated documentation files (the
7# "Software"), to deal in the Software without restriction, including
8# without limitation the rights to use, copy, modify, merge, publish,
9# distribute, sublicense, and/or sell copies of the Software, and to
10# permit persons to whom the Software is furnished to do so, subject to
11# the following conditions:
12#
13# The above copyright notice and this permission notice shall be
14# included in all copies or substantial portions of the Software.
15#
16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
24import bz2
25import gzip
26import typing
27
28import normand
29
30
31def _test_comp(type: str, dec_func: typing.Callable[[bytes], bytes]):
32 data = b"bonjour tout le monde \x00\x23\x42 \x17" + b"\x7b" * 500
33 ntext = "!t {} {} !end".format(type, data.hex())
34 res = normand.parse(ntext)
35 assert dec_func(res.data) == data
36
37
38def test_gz():
39 _test_comp("gz", gzip.decompress)
40
41
42def test_bz2():
43 _test_comp("bz2", bz2.decompress)
This page took 0.025137 seconds and 4 git commands to generate.