コード例 #1
0
ファイル: types.py プロジェクト: neelsenc/synapse
    def indxByEq(self, valu):
        if isinstance(valu, str) and valu.endswith('*'):
            valu = valu.rstrip('*')
            norm = s_chop.hexstr(valu)
            return (('pref', self.indx(norm)), )

        return Type.indxByEq(self, valu)
コード例 #2
0
ファイル: types.py プロジェクト: neelsenc/synapse
 def _normPyStr(self, valu):
     valu = s_chop.hexstr(valu)
     if self._size and len(valu) != self._size:
         raise s_exc.BadTypeValu(valu=valu,
                                 reqwidth=self._size,
                                 name=self.name,
                                 mesg='invalid width')
     return valu, {}
コード例 #3
0
    def test_chop_hexstr(self):
        testvectors = [('0C', '0c'), ('10', '10'), ('0xffff', 'ffff'),
                       ('0x0001', '0001'), ('C', s_exc.BadTypeValu),
                       ('0xfff', s_exc.BadTypeValu),
                       ('10001', s_exc.BadTypeValu), ('', s_exc.BadTypeValu),
                       ('0x', s_exc.BadTypeValu), ('newp', s_exc.BadTypeValu)]

        for v, e in testvectors:
            if isinstance(e, str):
                self.eq(s_chop.hexstr(v), e)
            else:
                self.raises(e, s_chop.hexstr, v)
コード例 #4
0
ファイル: test_lib_chop.py プロジェクト: vivisect/synapse
    def test_chop_hexstr(self):
        testvectors = [
            ('0C', '0c'),
            ('10', '10'),
            ('0xffff', 'ffff'),
            ('0x0001', '0001'),
            ('C', s_exc.BadTypeValu),
            ('0xfff', s_exc.BadTypeValu),
            ('10001', s_exc.BadTypeValu),
            ('', s_exc.BadTypeValu),
            ('0x', s_exc.BadTypeValu),
            ('newp', s_exc.BadTypeValu)
        ]

        for v, e in testvectors:
            if isinstance(e, str):
                self.eq(s_chop.hexstr(v), e)
            else:
                self.raises(e, s_chop.hexstr, v)