Ejemplo n.º 1
0
 def read_fixture(self, _name_header, _read_name_text):
     name_table = _NameTable(None, None, None, None)
     bufr, idx, strs_offset, platform_id, name_id = "buffer", 3, 47, 0, 1
     encoding_id, name_str_offset, length, name = 7, 36, 12, "Arial"
     _name_header.return_value = (
         platform_id,
         encoding_id,
         666,
         name_id,
         length,
         name_str_offset,
     )
     _read_name_text.return_value = name
     expected_value = (platform_id, name_id, name)
     return (
         name_table,
         bufr,
         idx,
         strs_offset,
         platform_id,
         encoding_id,
         name_str_offset,
         length,
         expected_value,
     )
 def read_fixture(self, _name_header, _read_name_text):
     name_table = _NameTable(None, None, None, None)
     bufr, idx, strs_offset, platform_id, name_id = "buffer", 3, 47, 0, 1
     encoding_id, name_str_offset, length, name = 7, 36, 12, "Arial"
     _name_header.return_value = (
         platform_id,
         encoding_id,
         666,
         name_id,
         length,
         name_str_offset,
     )
     _read_name_text.return_value = name
     expected_value = (platform_id, name_id, name)
     return (
         name_table,
         bufr,
         idx,
         strs_offset,
         platform_id,
         encoding_id,
         name_str_offset,
         length,
         expected_value,
     )
 def raw_fixture(self):
     name_table = _NameTable(None, None, None, None)
     bufr = b"xXxFoobarxXx"
     strings_offset, str_offset, length = 1, 2, 6
     expected_bytes = b"Foobar"
     return (name_table, bufr, strings_offset, str_offset, length,
             expected_bytes)
Ejemplo n.º 4
0
 def iter_fixture(self, _table_header_, _table_bytes_, _read_name):
     name_table = _NameTable(None, None, None, None)
     _table_header_.return_value = (0, 3, 42)
     _table_bytes_.return_value = "xXx"
     _read_name.side_effect = [(0, 1, "Foobar"), (3, 1, "Barfoo"), (9, 9, None)]
     expected_calls = [call("xXx", 0, 42), call("xXx", 1, 42), call("xXx", 2, 42)]
     expected_names = [((0, 1), "Foobar"), ((3, 1), "Barfoo")]
     return name_table, expected_calls, expected_names
Ejemplo n.º 5
0
 def names_fixture(self, _iter_names_):
     name_table = _NameTable(None, None, None, None)
     _iter_names_.return_value = iter([
         ((0, 1), 'Foobar'),
         ((3, 1), 'Barfoo'),
     ])
     names_dict = {(0, 1): 'Foobar', (3, 1): 'Barfoo'}
     return name_table, names_dict
Ejemplo n.º 6
0
 def name_text_fixture(self, _raw_name_string_, _decode_name_):
     name_table = _NameTable(None, None, None, None)
     bufr, platform_id, encoding_id, strings_offset = 'xXx', 6, 7, 8
     name_str_offset, length, raw_name = 9, 10, 'Foobar'
     _raw_name_string_.return_value = raw_name
     name_ = _decode_name_.return_value
     return (name_table, bufr, platform_id, encoding_id, strings_offset,
             name_str_offset, length, raw_name, name_)
Ejemplo n.º 7
0
 def names_fixture(self, _iter_names_):
     name_table = _NameTable(None, None, None, None)
     _iter_names_.return_value = iter([
         ((0, 1), 'Foobar'),
         ((3, 1), 'Barfoo'),
     ])
     names_dict = {(0, 1): 'Foobar', (3, 1): 'Barfoo'}
     return name_table, names_dict
Ejemplo n.º 8
0
 def raw_fixture(self):
     name_table = _NameTable(None, None, None, None)
     bufr = b'xXxFoobarxXx'
     strings_offset, str_offset, length = 1, 2, 6
     expected_bytes = b'Foobar'
     return (
         name_table, bufr, strings_offset, str_offset, length,
         expected_bytes
     )
Ejemplo n.º 9
0
 def name_hdr_fixture(self):
     name_table = _NameTable(None, None, None, None)
     bufr = (
         b'123456' b'123456789012'
         b'\x00\x00' b'\x00\x01' b'\x00\x02'
         b'\x00\x03' b'\x00\x04' b'\x00\x05'
     )
     idx = 1
     expected_value = (0, 1, 2, 3, 4, 5)
     return name_table, bufr, idx, expected_value
Ejemplo n.º 10
0
 def name_text_fixture(self, _raw_name_string_, _decode_name_):
     name_table = _NameTable(None, None, None, None)
     bufr, platform_id, encoding_id, strings_offset = 'xXx', 6, 7, 8
     name_str_offset, length, raw_name = 9, 10, 'Foobar'
     _raw_name_string_.return_value = raw_name
     name_ = _decode_name_.return_value
     return (
         name_table, bufr, platform_id, encoding_id, strings_offset,
         name_str_offset, length, raw_name, name_
     )
Ejemplo n.º 11
0
 def name_hdr_fixture(self):
     name_table = _NameTable(None, None, None, None)
     bufr = (b'123456'
             b'123456789012'
             b'\x00\x00'
             b'\x00\x01'
             b'\x00\x02'
             b'\x00\x03'
             b'\x00\x04'
             b'\x00\x05')
     idx = 1
     expected_value = (0, 1, 2, 3, 4, 5)
     return name_table, bufr, idx, expected_value
Ejemplo n.º 12
0
 def iter_fixture(self, _table_header_, _table_bytes_, _read_name):
     name_table = _NameTable(None, None, None, None)
     _table_header_.return_value = (0, 3, 42)
     _table_bytes_.return_value = "xXx"
     _read_name.side_effect = [(0, 1, "Foobar"), (3, 1, "Barfoo"),
                               (9, 9, None)]
     expected_calls = [
         call("xXx", 0, 42),
         call("xXx", 1, 42),
         call("xXx", 2, 42)
     ]
     expected_names = [((0, 1), "Foobar"), ((3, 1), "Barfoo")]
     return name_table, expected_calls, expected_names
Ejemplo n.º 13
0
 def name_hdr_fixture(self):
     name_table = _NameTable(None, None, None, None)
     bufr = (b"123456"
             b"123456789012"
             b"\x00\x00"
             b"\x00\x01"
             b"\x00\x02"
             b"\x00\x03"
             b"\x00\x04"
             b"\x00\x05")
     idx = 1
     expected_value = (0, 1, 2, 3, 4, 5)
     return name_table, bufr, idx, expected_value
Ejemplo n.º 14
0
    def it_provides_access_to_its_names_to_help_props(self, request):
        _iter_names_ = method_mock(
            request,
            _NameTable,
            "_iter_names",
            return_value=iter([((0, 1), "Foobar"), ((3, 1), "Barfoo")]),
        )
        name_table = _NameTable(None, None, None, None)

        names = name_table._names

        _iter_names_.assert_called_once_with(name_table)
        assert names == {(0, 1): "Foobar", (3, 1): "Barfoo"}
Ejemplo n.º 15
0
 def name_hdr_fixture(self):
     name_table = _NameTable(None, None, None, None)
     bufr = (
         b"123456"
         b"123456789012"
         b"\x00\x00"
         b"\x00\x01"
         b"\x00\x02"
         b"\x00\x03"
         b"\x00\x04"
         b"\x00\x05"
     )
     idx = 1
     expected_value = (0, 1, 2, 3, 4, 5)
     return name_table, bufr, idx, expected_value
Ejemplo n.º 16
0
 def iter_fixture(self, _table_header_, _table_bytes_, _read_name):
     name_table = _NameTable(None, None, None, None)
     _table_header_.return_value = (0, 3, 42)
     _table_bytes_.return_value = 'xXx'
     _read_name.side_effect = [
         (0, 1, 'Foobar'),
         (3, 1, 'Barfoo'),
         (9, 9, None),
     ]
     expected_calls = [
         call('xXx', 0, 42),
         call('xXx', 1, 42),
         call('xXx', 2, 42),
     ]
     expected_names = [((0, 1), 'Foobar'), ((3, 1), 'Barfoo')]
     return name_table, expected_calls, expected_names
Ejemplo n.º 17
0
 def iter_fixture(self, _table_header_, _table_bytes_, _read_name):
     name_table = _NameTable(None, None, None, None)
     _table_header_.return_value = (0, 3, 42)
     _table_bytes_.return_value = 'xXx'
     _read_name.side_effect = [
         (0, 1, 'Foobar'),
         (3, 1, 'Barfoo'),
         (9, 9, None),
     ]
     expected_calls = [
         call('xXx', 0, 42),
         call('xXx', 1, 42),
         call('xXx', 2, 42),
     ]
     expected_names = [
         ((0, 1), 'Foobar'),
         ((3, 1), 'Barfoo')
     ]
     return name_table, expected_calls, expected_names
Ejemplo n.º 18
0
    def it_reads_a_name_to_help_read_names(self, request):
        bufr, idx, strs_offset, platform_id, name_id = "buffer", 3, 47, 0, 1
        encoding_id, name_str_offset, length, name = 7, 36, 12, "Arial"
        _name_header_ = method_mock(
            request,
            _NameTable,
            "_name_header",
            autospec=False,
            return_value=(
                platform_id,
                encoding_id,
                666,
                name_id,
                length,
                name_str_offset,
            ),
        )
        _read_name_text_ = method_mock(request,
                                       _NameTable,
                                       "_read_name_text",
                                       return_value=name)
        name_table = _NameTable(None, None, None, None)

        actual = name_table._read_name(bufr, idx, strs_offset)

        _name_header_.assert_called_once_with(bufr, idx)
        _read_name_text_.assert_called_once_with(
            name_table,
            bufr,
            platform_id,
            encoding_id,
            strs_offset,
            name_str_offset,
            length,
        )
        assert actual == (platform_id, name_id, name)
Ejemplo n.º 19
0
    def it_iterates_over_its_names_to_help_read_names(self, request,
                                                      _table_bytes_prop_):
        property_mock(request,
                      _NameTable,
                      "_table_header",
                      return_value=(0, 3, 42))
        _table_bytes_prop_.return_value = "xXx"
        _read_name_ = method_mock(
            request,
            _NameTable,
            "_read_name",
            side_effect=iter([(0, 1, "Foobar"), (3, 1, "Barfoo"),
                              (9, 9, None)]),
        )
        name_table = _NameTable(None, None, None, None)

        names = list(name_table._iter_names())

        assert _read_name_.call_args_list == [
            call(name_table, "xXx", 0, 42),
            call(name_table, "xXx", 1, 42),
            call(name_table, "xXx", 2, 42),
        ]
        assert names == [((0, 1), "Foobar"), ((3, 1), "Barfoo")]
Ejemplo n.º 20
0
 def names_fixture(self, _iter_names_):
     name_table = _NameTable(None, None, None, None)
     _iter_names_.return_value = iter([((0, 1), "Foobar"), ((3, 1), "Barfoo")])
     names_dict = {(0, 1): "Foobar", (3, 1): "Barfoo"}
     return name_table, names_dict
Ejemplo n.º 21
0
 def names_fixture(self, _iter_names_):
     name_table = _NameTable(None, None, None, None)
     _iter_names_.return_value = iter([((0, 1), "Foobar"),
                                       ((3, 1), "Barfoo")])
     names_dict = {(0, 1): "Foobar", (3, 1): "Barfoo"}
     return name_table, names_dict
Ejemplo n.º 22
0
 def bytes_fixture(self, stream_):
     name_table = _NameTable(None, stream_, 42, 360)
     bytes_ = "\x00\x01\x02\x03\x04\x05"
     stream_.read.return_value = bytes_
     expected_value = bytes_
     return name_table, expected_value
Ejemplo n.º 23
0
 def family_fixture(self, request, _names_):
     names, expected_value = request.param
     name_table = _NameTable(None, None, None, None)
     _names_.return_value = names
     return name_table, expected_value
Ejemplo n.º 24
0
 def header_fixture(self, _table_bytes_):
     name_table = _NameTable(None, None, None, None)
     _table_bytes_.return_value = b"\x00\x00\x00\x02\x00\x2A"
     expected_value = (0, 2, 42)
     return name_table, expected_value
Ejemplo n.º 25
0
 def decode_fixture(self, request):
     platform_id, encoding_id, raw_name, expected_value = request.param
     name_table = _NameTable(None, None, None, None)
     return name_table, raw_name, platform_id, encoding_id, expected_value
Ejemplo n.º 26
0
 def bytes_fixture(self, stream_):
     name_table = _NameTable(None, stream_, 42, 360)
     bytes_ = "\x00\x01\x02\x03\x04\x05"
     stream_.read.return_value = bytes_
     expected_value = bytes_
     return name_table, expected_value
Ejemplo n.º 27
0
 def decode_fixture(self, request):
     platform_id, encoding_id, raw_name, expected_value = request.param
     name_table = _NameTable(None, None, None, None)
     return name_table, raw_name, platform_id, encoding_id, expected_value
Ejemplo n.º 28
0
 def family_fixture(self, request, _names_):
     names, expected_value = request.param
     name_table = _NameTable(None, None, None, None)
     _names_.return_value = names
     return name_table, expected_value
Ejemplo n.º 29
0
 def header_fixture(self, _table_bytes_):
     name_table = _NameTable(None, None, None, None)
     _table_bytes_.return_value = b"\x00\x00\x00\x02\x00\x2A"
     expected_value = (0, 2, 42)
     return name_table, expected_value