Exemplo n.º 1
0
 def test_input_output(self, filename):
     """test parsing a file while retaining the doctype"""
     with open(sample_xml(filename), "rb") as xml_file:
         xml_output_expected = xml_file.read()
     root, doctype_dict = xmlio.parse(sample_xml(filename),
                                      return_doctype_dict=True)
     self.assertEqual(xmlio.output(root, None, doctype_dict),
                      xml_output_expected)
Exemplo n.º 2
0
 def test_convert_xlink_href(self, name_map, xml_input_filename,
                             xml_expected_filename):
     xmlio.register_xmlns()
     root = xmlio.parse(sample_xml(xml_input_filename))
     xlink_count = xmlio.convert_xlink_href(root, name_map)
     xml_output = xmlio.output(root)
     xml_output_expected = None
     with open(sample_xml(xml_expected_filename), "rb") as xml_file:
         xml_output_expected = xml_file.read()
     self.assertEqual(xml_output, xml_output_expected)
Exemplo n.º 3
0
    def setUp(self):
        kitchen_sink_xml = sample_xml('elife-kitchen-sink.xml')

        # all of these methods are equivalent:
        #self.soup = bss(open(kitchen_sink_xml, 'r').read())
        #self.soup = parser.parse_xml(open(kitchen_sink_xml, 'r'))
        self.soup = parser.parse_document(kitchen_sink_xml)
Exemplo n.º 4
0
 def test_table_wrap_foot(self, filename, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.table_wrap_foot(soup)), expected_len)
Exemplo n.º 5
0
 def test_input_output_forcing_jats_doctype(self, filename):
     with open(sample_xml(filename), "rb") as xml_file:
         xml_output_expected = xml_file.read()
     root, doctype_dict = xmlio.parse(sample_xml(filename),
                                      return_doctype_dict=True)
     self.assertEqual(xmlio.output(root, 'JATS'), xml_output_expected)
Exemplo n.º 6
0
 def test_author_response(self, filename, expected_type):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(type(raw_parser.author_response(soup)), expected_type)
Exemplo n.º 7
0
 def test_parse(self, filename):
     root = xmlio.parse(sample_xml(filename))
     self.assertEqual(type(root), Element)
Exemplo n.º 8
0
 def test_sub_article(self, filename, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.sub_article(soup)), expected_len)
Exemplo n.º 9
0
 def test_decision_letter(self, filename, expected_type):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(type(raw_parser.decision_letter(soup)), expected_type)
Exemplo n.º 10
0
for filename in xml_filenames:
    if not os.path.exists(json_expected_folder(filename)):
        os.mkdir(json_expected_folder(filename))

    # Output json files for testing expected output
    for function_attrs in json_functions:
        if type(function_attrs) == str:
            function_name = function_attrs
            function_arguments = None
        elif type(function_attrs) == tuple:
            function_name = function_attrs[0]
            if type(function_attrs[1]) == tuple:
                function_arguments = function_attrs[1]
            else:
                print "arguments for function " + function_name + " must be a tuple"


        soup = parser.parse_document(sample_xml(filename))

        if function_arguments:
            result = getattr(parser, function_name)(soup, *function_arguments)
        else:
            result = getattr(parser, function_name)(soup)

        if result is not None:
            print "writing " + json_expected_file(filename, function_name)
            with open(json_expected_file(filename, function_name), "wb") as json_file_fp:
                json_file_fp.write(json.dumps(result, indent=4))

Exemplo n.º 11
0
 def setUp(self):
     self.kitchen_sink_xml = sample_xml('elife-kitchen-sink.xml')
     self.xml = sample_xml('elife00013.xml')
     self.soup = parser.parse_document(self.kitchen_sink_xml)
Exemplo n.º 12
0
 def test_principal_award_recipient(self, filename, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.principal_award_recipient(soup)),
                      expected_len)
Exemplo n.º 13
0
 def test_mixed_citations(self):
     self.soup = parser.parse_document(sample_xml('elife-kitchen-sink.xml'))
     self.assertEqual(1, len(raw_parser.mixed_citations(self.soup)))
Exemplo n.º 14
0
 def test_funding_group(self, filename, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.funding_group(soup)), expected_len)
Exemplo n.º 15
0
 def test_fn_group(self, filename, content_type, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.fn_group(soup, content_type)),
                      expected_len)
Exemplo n.º 16
0
 def test_pub_id_uri(self, filename, ext_link_type, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.ext_link(soup, ext_link_type)),
                      expected_len)
Exemplo n.º 17
0
 def test_get_first_element_index(self, filename, tag_name, index):
     root = xmlio.parse(sample_xml(filename))
     self.assertEqual(xmlio.get_first_element_index(root, tag_name), index)
Exemplo n.º 18
0
 def test_article_body(self, filename, expected_type):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(type(raw_parser.article_body(soup)), expected_type)
Exemplo n.º 19
0
 def test_abstract(self, filename, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.abstract(soup)), expected_len)
Exemplo n.º 20
0
 def test_disp_formula(self, filename, expected_len):
     soup = parser.parse_document(sample_xml(filename))
     self.assertEqual(len(raw_parser.disp_formula(soup)), expected_len)