Ejemplo n.º 1
0
    def test_dtd_to_dict_with_spaces(self):

        dtd_str = '''
            <!ELEMENT   Exercise   (question, test)  >
            <!ELEMENT empty  EMPTY 
            >
            <!ELEMENT question  ( #PCDATA )
            >
            <!ELEMENT test ( qcm | mqm)   >
            <!ELEMENT qcm (choice + ) >
            <!ELEMENT mqm  (choice + )>
            <!ELEMENT choice (
            #PCDATA   )
            >'''
        expected = {
            'Exercise': {'elts': 'question,test', 'attrs': []},
            'choice': {'elts': '#PCDATA', 'attrs': []},
            'empty': {'elts': 'EMPTY', 'attrs': []},
            'mqm': {'elts': 'choice+', 'attrs': []},
            'qcm': {'elts': 'choice+', 'attrs': []},
            'question': {'elts': '#PCDATA', 'attrs': []},
            'test': {'elts': 'qcm|mqm', 'attrs': []},
        }
        dic = dtd_parser.dtd_to_dict_v2(dtd_str)
        self.assertEqual(dic, expected)
Ejemplo n.º 2
0
 def test_dtd_to_dict(self):
     expected = {
         'name': {
             'elts': '#PCDATA',
             'attrs': []
         },
         'firstname': {
             'elts': '#PCDATA',
             'attrs': []
         },
         'is-publish': {
             'elts': 'EMPTY',
             'attrs': []
         },
         'resume': {
             'elts': '#PCDATA',
             'attrs': []
         },
         'Movie': {
             'elts': ('is-publish?,name,year,directors,'
                      'actors,resume?,critique*'),
             'attrs': []
         },
         'actor': {
             'elts': 'name,firstname',
             'attrs': []
         },
         'director': {
             'elts': 'name,firstname',
             'attrs': []
         },
         'directors': {
             'elts': 'director+',
             'attrs': []
         },
         'actors': {
             'elts': 'actor+',
             'attrs': []
         },
         'year': {
             'elts': '#PCDATA',
             'attrs': []
         },
         'critique': {
             'elts': '#PCDATA',
             'attrs': []
         },
     }
     dic = dtd_parser.dtd_to_dict_v2(MOVIE_DTD)
     self.assertEqual(dic, expected)
Ejemplo n.º 3
0
    def test_dtd_to_dict_with_spaces(self):

        dtd_str = '''
            <!ELEMENT   Exercise   (question, test)  >
            <!ELEMENT empty  EMPTY 
            >
            <!ELEMENT question  ( #PCDATA )
            >
            <!ELEMENT test ( qcm | mqm)   >
            <!ELEMENT qcm (choice + ) >
            <!ELEMENT mqm  (choice + )>
            <!ELEMENT choice (
            #PCDATA   )
            >'''
        expected = {
            'Exercise': {
                'elts': 'question,test',
                'attrs': []
            },
            'choice': {
                'elts': '#PCDATA',
                'attrs': []
            },
            'empty': {
                'elts': 'EMPTY',
                'attrs': []
            },
            'mqm': {
                'elts': 'choice+',
                'attrs': []
            },
            'qcm': {
                'elts': 'choice+',
                'attrs': []
            },
            'question': {
                'elts': '#PCDATA',
                'attrs': []
            },
            'test': {
                'elts': 'qcm|mqm',
                'attrs': []
            },
        }
        dic = dtd_parser.dtd_to_dict_v2(dtd_str)
        self.assertEqual(dic, expected)
Ejemplo n.º 4
0
 def test_dtd_to_dict(self):
     expected = {
         'name': {'elts': '#PCDATA', 'attrs': []},
         'firstname': {'elts': '#PCDATA', 'attrs': []},
         'is-publish': {'elts': 'EMPTY', 'attrs': []},
         'resume': {'elts': '#PCDATA', 'attrs': []},
         'Movie': {
             'elts': ('is-publish?,name,year,directors,'
                      'actors,resume?,critique*'), 'attrs': []},
         'actor': {'elts': 'name,firstname', 'attrs': []},
         'director': {'elts': 'name,firstname', 'attrs': []},
         'directors': {'elts': 'director+', 'attrs': []},
         'actors': {'elts': 'actor+', 'attrs': []},
         'year': {'elts': '#PCDATA', 'attrs': []},
         'critique': {'elts': '#PCDATA', 'attrs': []},
         }
     dic = dtd_parser.dtd_to_dict_v2(MOVIE_DTD)
     self.assertEqual(dic, expected)
Ejemplo n.º 5
0
 def test_dtd_to_dict_attrs(self):
     expected = {
         'comment': {
             'elts': '#PCDATA',
             'attrs': [('idcomment', 'ID', '#IMPLIED')]
         },
         'question': {
             'elts': '#PCDATA',
             'attrs': [('idquestion', 'ID', '#IMPLIED')]
         },
         'mqm': {
             'elts': 'choice+',
             'attrs': [('idmqm', 'ID', '#IMPLIED')]
         },
         'number': {
             'elts': '#PCDATA',
             'attrs': []
         },
         'comments': {
             'elts': 'comment+',
             'attrs': [('idcomments', 'ID', '#IMPLIED')]
         },
         'choice': {
             'elts': '#PCDATA',
             'attrs': [('idchoice', 'ID', '#IMPLIED')]
         },
         'Exercise': {
             'elts': 'number,test*',
             'attrs': [('idexercise', 'ID', '#IMPLIED')]
         },
         'test': {
             'elts':
             'question,(qcm|mqm)*,comments?',
             'attrs': [('idtest', 'ID', '#IMPLIED'),
                       ('name', 'PCDATA', '#IMPLIED')]
         },
         'qcm': {
             'elts': 'choice+',
             'attrs': [('idqcm', 'ID', '#IMPLIED')]
         }
     }
     dic = dtd_parser.dtd_to_dict_v2(EXERCISE_DTD_2)
     self.assertEqual(dic, expected)
Ejemplo n.º 6
0
 def test_dtd_to_dict_attrs(self):
     expected = {
         'comment': {'elts': '#PCDATA',
                     'attrs': [('idcomment', 'ID', '#IMPLIED')]},
         'question': {'elts': '#PCDATA',
                      'attrs': [('idquestion', 'ID', '#IMPLIED')]},
         'mqm': {'elts': 'choice+',
                 'attrs': [('idmqm', 'ID', '#IMPLIED')]},
         'number': {'elts': '#PCDATA', 'attrs': []},
         'comments': {'elts': 'comment+',
                      'attrs': [('idcomments', 'ID', '#IMPLIED')]},
         'choice': {'elts': '#PCDATA',
                    'attrs': [('idchoice', 'ID', '#IMPLIED')]},
         'Exercise': {'elts': 'number,test*',
                      'attrs': [('idexercise', 'ID', '#IMPLIED')]},
         'test': {'elts': 'question,(qcm|mqm)*,comments?',
                  'attrs': [('idtest', 'ID', '#IMPLIED'),
                            ('name', 'PCDATA', '#IMPLIED')]},
         'qcm': {'elts': 'choice+',
                 'attrs': [('idqcm', 'ID', '#IMPLIED')]}
         }
     dic = dtd_parser.dtd_to_dict_v2(EXERCISE_DTD_2)
     self.assertEqual(dic, expected)