Exemple #1
0
    def test_parse_child_table_cell(self):
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        from hwp5.binmodel import TableCell
        record = self.tablecontrol_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        context['seen_table_body'] = True

        child_record = self.tablecell_record
        child_context = init_record_parsing_context(testcontext, child_record)
        child_model = child_record
        child_context['parent'] = context, model
        parse_model(child_context, child_model)
        self.assertEquals(TableCell, child_model['type'])
        self.assertEquals(TableCell, child_model['type'])
        self.assertEquals(dict(padding=dict(top=141, right=141, bottom=141,
                                            left=141),
                               rowspan=1,
                               colspan=1,
                               borderfill_id=1,
                               height=282,
                               listflags=32L,
                               width=20227,
                               unknown1=0,
                               unknown_width=20227,
                               paragraphs=1,
                               col=0,
                               row=0), child_model['content'])
        self.assertEquals('', child_context['stream'].read())
Exemple #2
0
    def test_parse_child_table_caption(self):
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        from hwp5.binmodel import TableCaption
        record = self.tablecontrol_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        context['seen_table_body'] = False

        child_record = self.tablecaption_record
        child_context = init_record_parsing_context(testcontext, child_record)
        child_context['parent'] = context, model
        child_model = child_record
        parse_model(child_context, child_model)
        self.assertEquals(TableCaption, child_model['type'])
        self.assertEquals(
            dict(listflags=0,
                 width=8504,
                 maxsize=40454,
                 unknown1=0,
                 flags=3L,
                 separation=850,
                 paragraphs=2), child_model['content'])
        self.assertEquals('', child_context['stream'].read())
Exemple #3
0
    def test_parse_child_table_caption(self):
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        from hwp5.binmodel import TableCaption
        record = self.tablecontrol_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        context['seen_table_body'] = False

        child_record = self.tablecaption_record
        child_context = init_record_parsing_context(testcontext, child_record)
        child_context['parent'] = context, model
        child_model = child_record
        parse_model(child_context, child_model)
        self.assertEquals(TableCaption, child_model['type'])
        self.assertEquals(dict(listflags=0,
                               width=8504,
                               max_width=40454,
                               unknown1=0,
                               flags=3L,
                               separation=850,
                               paragraphs=2), child_model['content'])
        self.assertEquals('', child_context['stream'].read())
Exemple #4
0
    def test_parse_child_table_cell(self):
        record = self.tablecontrol_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        context['seen_table_body'] = True

        child_record = self.tablecell_record
        child_context = init_record_parsing_context(testcontext, child_record)
        child_model = child_record
        child_context['parent'] = context, model
        parse_model(child_context, child_model)
        self.assertEqual(TableCell, child_model['type'])
        self.assertEqual(TableCell, child_model['type'])
        self.assertEqual(
            dict(padding=dict(top=141, right=141, bottom=141, left=141),
                 rowspan=1,
                 colspan=1,
                 borderfill_id=1,
                 height=282,
                 listflags=32,
                 width=20227,
                 unknown1=0,
                 unknown_width=20227,
                 paragraphs=1,
                 col=0,
                 row=0), child_model['content'])
        self.assertEqual(b'', child_context['stream'].read())
Exemple #5
0
    def testParse(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertEqual(ListHeader, model['type'])
        self.assertEqual(1, model['content']['paragraphs'])
        self.assertEqual(0x20, model['content']['listflags'])
        self.assertEqual(0, model['content']['unknown1'])
        self.assertEqual(8, context['stream'].tell())
Exemple #6
0
    def testParse(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertTrue(BinData, model['type'])
        self.assertEqual(BinData.StorageType.EMBEDDING,
                         BinData.Flags(model['content']['flags']).storage)
        self.assertEqual(2, model['content']['bindata']['storage_id'])
        self.assertEqual('jpg', model['content']['bindata']['ext'])
Exemple #7
0
    def testParse(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertEqual(ListHeader, model['type'])
        self.assertEqual(1, model['content']['paragraphs'])
        self.assertEqual(0x20, model['content']['listflags'])
        self.assertEqual(0, model['content']['unknown1'])
        self.assertEqual(8, context['stream'].tell())
Exemple #8
0
    def testParse(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertTrue(BinData, model['type'])
        self.assertEqual(BinData.StorageType.EMBEDDING,
                         BinData.Flags(model['content']['flags']).storage)
        self.assertEqual(2, model['content']['bindata']['storage_id'])
        self.assertEqual('jpg', model['content']['bindata']['ext'])
Exemple #9
0
 def test_parse(self):
     f = self.open_fixture('5006-controldata.record', 'r')
     try:
         record = pickle.load(f)
     finally:
         f.close()
     context = init_record_parsing_context(dict(), record)
     model = record
     parse_model(context, model)
     self.assertEquals(ControlData, model['type'])
     self.assertEquals(dict(), model['content'])
Exemple #10
0
    def test_read_paracharshape(self):
        parent_context = dict()
        parent_model = dict(content=dict(charshapes=5))

        record = self.paracharshape_record
        context = init_record_parsing_context(dict(), record)
        context['parent'] = parent_context, parent_model
        model = record
        parse_model(context, model)
        self.assertEqual(dict(charshapes=[(0, 7), (19, 8), (23, 7), (24, 9),
                                          (26, 7)]),
                         model['content'])
Exemple #11
0
    def test_read_paracharshape(self):
        parent_context = dict()
        parent_model = dict(content=dict(charshapes=5))

        record = self.paracharshape_record
        context = init_record_parsing_context(dict(), record)
        context['parent'] = parent_context, parent_model
        model = record
        parse_model(context, model)
        self.assertEqual(
            dict(charshapes=[(0, 7), (19, 8), (23, 7), (24, 9), (26, 7)]),
            model['content'])
Exemple #12
0
 def test_parse(self):
     # 5006-controldata.record
     record = \
         {'level': 2,
          'payload': b'\x1b\x02\x01\x00\x00\x00\x00@\x01\x00\x03\x00X\xc7H\xc5\x85\xba',  # noqa
          'seqno': 27,
          'size': 18,
          'tagid': 87,
          'tagname': 'HWPTAG_CTRL_DATA'}
     context = init_record_parsing_context(dict(), record)
     model = record
     parse_model(context, model)
     self.assertEqual(ControlData, model['type'])
     self.assertEqual(dict(), model['content'])
Exemple #13
0
    def testParse(self):
        from hwp5.binmodel import ListHeader
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        record = read_records(self.stream).next()
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertEquals(ListHeader, model['type'])
        self.assertEquals(1, model['content']['paragraphs'])
        self.assertEquals(0x20L, model['content']['listflags'])
        self.assertEquals(0, model['content']['unknown1'])
        self.assertEquals(8, context['stream'].tell())
Exemple #14
0
    def testParse(self):
        from hwp5.binmodel import BinData
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        record = read_records(self.stream).next()
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertTrue(BinData, model['type'])
        self.assertEquals(BinData.StorageType.EMBEDDING,
                          BinData.Flags(model['content']['flags']).storage)
        self.assertEquals(2, model['content']['bindata']['storage_id'])
        self.assertEquals('jpg', model['content']['bindata']['ext'])
Exemple #15
0
    def testParse(self):
        from hwp5.binmodel import BinData
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        record = read_records(self.stream).next()
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertTrue(BinData, model['type'])
        self.assertEquals(BinData.StorageType.EMBEDDING,
                          BinData.Flags(model['content']['flags']).storage)
        self.assertEquals(2, model['content']['bindata']['storage_id'])
        self.assertEquals('jpg', model['content']['bindata']['ext'])
Exemple #16
0
    def testParse(self):
        from hwp5.binmodel import ListHeader
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        record = read_records(self.stream).next()
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertEquals(ListHeader, model['type'])
        self.assertEquals(1, model['content']['paragraphs'])
        self.assertEquals(0x20L, model['content']['listflags'])
        self.assertEquals(0, model['content']['unknown1'])
        self.assertEquals(8, context['stream'].tell())
Exemple #17
0
 def test_parse(self):
     # 5006-controldata.record
     record = \
         {'level': 2,
          'payload': b'\x1b\x02\x01\x00\x00\x00\x00@\x01\x00\x03\x00X\xc7H\xc5\x85\xba',  # noqa
          'seqno': 27,
          'size': 18,
          'tagid': 87,
          'tagname': 'HWPTAG_CTRL_DATA'}
     context = init_record_parsing_context(dict(), record)
     model = record
     parse_model(context, model)
     self.assertEqual(ControlData, model['type'])
     self.assertEqual(dict(), model['content'])
Exemple #18
0
    def test_parse(self):

        # parent_record = self.control_gso_record

        # if parent model is GShapeObjectControl
        parent_model = dict(type=GShapeObjectControl)

        record = self.shapecomponent_record
        context = init_record_parsing_context(testcontext, record)
        context['parent'] = dict(), parent_model
        model = record
        parse_model(context, model)

        self.assertEqual(model['type'], ShapeComponent)
        self.assertTrue('chid0' in model['content'])
Exemple #19
0
    def test_parse(self):

        # parent_record = self.control_gso_record

        # if parent model is GShapeObjectControl
        parent_model = dict(type=GShapeObjectControl)

        record = self.shapecomponent_record
        context = init_record_parsing_context(testcontext, record)
        context['parent'] = dict(), parent_model
        model = record
        parse_model(context, model)

        self.assertEqual(model['type'], ShapeComponent)
        self.assertTrue('chid0' in model['content'])
Exemple #20
0
 def test_parse(self):
     import pickle
     f = self.open_fixture('5006-controldata.record', 'r')
     try:
         record = pickle.load(f)
     finally:
         f.close()
     from hwp5.binmodel import init_record_parsing_context
     from hwp5.binmodel import parse_model
     from hwp5.binmodel import ControlData
     context = init_record_parsing_context(dict(), record)
     model = record
     parse_model(context, model)
     self.assertEquals(ControlData, model['type'])
     self.assertEquals(dict(), model['content'])
Exemple #21
0
    def testParsePass1(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertTrue(TableControl, model['type'])
        self.assertEqual(1453501933, model['content']['instance_id'])
        self.assertEqual(0x0, model['content']['x'])
        self.assertEqual(0x0, model['content']['y'])
        self.assertEqual(0x1044, model['content']['height'])
        self.assertEqual(0x9e06, model['content']['width'])
        self.assertEqual(0, model['content']['unknown1'])
        self.assertEqual(0x82a2311, model['content']['flags'])
        self.assertEqual(0, model['content']['z_order'])
        self.assertEqual(dict(left=283, right=283, top=283, bottom=283),
                         model['content']['margin'])
        self.assertEqual('tbl ', model['content']['chid'])
Exemple #22
0
    def testParsePass1(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        self.assertTrue(TableControl, model['type'])
        self.assertEqual(1453501933, model['content']['instance_id'])
        self.assertEqual(0x0, model['content']['x'])
        self.assertEqual(0x0, model['content']['y'])
        self.assertEqual(0x1044, model['content']['height'])
        self.assertEqual(0x9e06, model['content']['width'])
        self.assertEqual(0, model['content']['unknown1'])
        self.assertEqual(0x82a2311, model['content']['flags'])
        self.assertEqual(0, model['content']['z_order'])
        self.assertEqual(dict(left=283, right=283, top=283, bottom=283),
                         model['content']['margin'])
        self.assertEqual('tbl ', model['content']['chid'])
Exemple #23
0
    def test_parse_model(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(self.ctx, record)
        model = record

        parse_model(context, model)
        model_type = model['type']
        model_content = model['content']

        self.assertEqual(TableBody, model_type)
        self.assertEqual(dict(left=141, right=141, top=141, bottom=141),
                         model_content['padding'])
        self.assertEqual(0x4000006, model_content['flags'])
        self.assertEqual(2, model_content['cols'])
        self.assertEqual(2, model_content['rows'])
        self.assertEqual(1, model_content['borderfill_id'])
        self.assertEqual([2, 2], model_content['rowcols'])
        self.assertEqual(0, model_content['cellspacing'])
        self.assertEqual([], model_content['validZones'])
Exemple #24
0
    def test_parse_shapecomponent_textbox_paragraph_list(self):
        record = self.shapecomponent_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        model['type'] = ShapeComponent

        child_record = self.textbox_paragraph_list_record
        child_context = init_record_parsing_context(testcontext, child_record)
        child_context['parent'] = context, model
        child_model = child_record
        parse_model(child_context, child_model)
        self.assertEqual(TextboxParagraphList, child_model['type'])
        self.assertEqual(
            dict(listflags=32,
                 padding=dict(top=283, right=283, bottom=283, left=283),
                 unknown1=0,
                 maxwidth=11763,
                 paragraphs=1), child_model['content'])
        self.assertEqual(b'', child_context['stream'].read())
Exemple #25
0
    def test_parse_model(self):
        record = next(read_records(self.stream))
        context = init_record_parsing_context(self.ctx, record)
        model = record

        parse_model(context, model)
        model_type = model['type']
        model_content = model['content']

        self.assertEqual(TableBody, model_type)
        self.assertEqual(dict(left=141, right=141, top=141, bottom=141),
                         model_content['padding'])
        self.assertEqual(0x4000006, model_content['flags'])
        self.assertEqual(2, model_content['cols'])
        self.assertEqual(2, model_content['rows'])
        self.assertEqual(1, model_content['borderfill_id'])
        self.assertEqual([2, 2], model_content['rowcols'])
        self.assertEqual(0, model_content['cellspacing'])
        self.assertEqual([], model_content['validZones'])
Exemple #26
0
    def test_parse_shapecomponent_textbox_paragraph_list(self):
        record = self.shapecomponent_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        model['type'] = ShapeComponent

        child_record = self.textbox_paragraph_list_record
        child_context = init_record_parsing_context(testcontext,
                                                    child_record)
        child_context['parent'] = context, model
        child_model = child_record
        parse_model(child_context, child_model)
        self.assertEqual(TextboxParagraphList, child_model['type'])
        self.assertEqual(dict(listflags=32,
                              padding=dict(top=283, right=283, bottom=283,
                                           left=283),
                              unknown1=0,
                              maxwidth=11763,
                              paragraphs=1), child_model['content'])
        self.assertEqual(b'', child_context['stream'].read())
Exemple #27
0
    def test_parse_child(self):
        record = self.header_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        child_record = self.header_paragraph_list_record
        child_context = init_record_parsing_context(testcontext,
                                                    child_record)
        child_context['parent'] = context, model
        child_model = child_record
        parse_model(child_context, child_model)
        self.assertEqual(HeaderParagraphList, child_model['type'])
        self.assertEqual(dict(textrefsbitmap=0,
                              numberrefsbitmap=0,
                              height=4252,
                              listflags=0,
                              width=42520,
                              unknown1=0,
                              paragraphs=1), child_model['content'])
Exemple #28
0
    def test_parse_child(self):
        record = self.header_record
        context = init_record_parsing_context(testcontext, record)
        model = record
        parse_model(context, model)

        child_record = self.header_paragraph_list_record
        child_context = init_record_parsing_context(testcontext, child_record)
        child_context['parent'] = context, model
        child_model = child_record
        parse_model(child_context, child_model)
        self.assertEqual(HeaderParagraphList, child_model['type'])
        self.assertEqual(
            dict(textrefsbitmap=0,
                 numberrefsbitmap=0,
                 height=4252,
                 listflags=0,
                 width=42520,
                 unknown1=0,
                 paragraphs=1), child_model['content'])
Exemple #29
0
    def test_parse_model(self):
        from hwp5.binmodel import TableBody
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        record = read_records(self.stream).next()
        context = init_record_parsing_context(self.ctx, record)
        model = record

        parse_model(context, model)
        model_type = model['type']
        model_content = model['content']

        self.assertEquals(TableBody, model_type)
        self.assertEquals(dict(left=141, right=141, top=141, bottom=141),
                          model_content['padding'])
        self.assertEquals(0x4000006L, model_content['flags'])
        self.assertEquals(2, model_content['cols'])
        self.assertEquals(2, model_content['rows'])
        self.assertEquals(1, model_content['borderfill_id'])
        self.assertEquals([2, 2], model_content['rowcols'])
        self.assertEquals(0, model_content['cellspacing'])
        self.assertEquals([], model_content['validZones'])
Exemple #30
0
    def test_parse_model(self):
        from hwp5.binmodel import TableBody
        from hwp5.binmodel import init_record_parsing_context
        from hwp5.binmodel import parse_model
        record = read_records(self.stream).next()
        context = init_record_parsing_context(self.ctx, record)
        model = record

        parse_model(context, model)
        model_type = model['type']
        model_content = model['content']

        self.assertEquals(TableBody, model_type)
        self.assertEquals(dict(left=141, right=141, top=141, bottom=141),
                          model_content['padding'])
        self.assertEquals(0x4000006L, model_content['flags'])
        self.assertEquals(2, model_content['cols'])
        self.assertEquals(2, model_content['rows'])
        self.assertEquals(1, model_content['borderfill_id'])
        self.assertEquals([2, 2], model_content['rowcols'])
        self.assertEquals(0, model_content['cellspacing'])
        self.assertEquals([], model_content['validZones'])