Пример #1
0
 def testSymbol(self):
     self.assertTreeEquals(
         parse('alpha'),
         element_factory(
             'math',
             element_factory('mstyle', element_factory('mi',
                                                       text=u'\u03b1'))))
Пример #2
0
 def testNumber(self):
     self.assertTreeEquals(
         parse('3.1415'),
         element_factory(
             'math',
             element_factory('mstyle', element_factory('mn',
                                                       text='3.1415'))))
Пример #3
0
 def testUnary4(self):
     self.assertTreeEquals(
         parse('text alpha'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mtext',
                                 element_factory('mi', text=u'\u03b1')))))
Пример #4
0
 def testUnary(self):
     self.assertTreeEquals(
         parse('sin alpha'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mrow', element_factory('mo', text='sin'),
                                 element_factory('mi', text=u'\u03b1')))))
Пример #5
0
 def testDivision(self):
     self.assertTreeEquals(
         parse('alpha // beta'),
         element_factory(
             'math',
             element_factory('mstyle', element_factory('mi',
                                                       text=u'\u03b1'),
                             element_factory('mo', text='/'),
                             element_factory('mi', text=u'\u03b2'))))
Пример #6
0
 def testFrac(self):
     self.assertTreeEquals(
         parse('alpha / beta'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mfrac',
                                 element_factory('mi', text=u'\u03b1'),
                                 element_factory('mi', text=u'\u03b2')))))
Пример #7
0
 def testColor(self):
     self.assertTreeEquals(
         parse('color (blue) x'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mstyle',
                                 element_factory('mi', text=u'x'),
                                 mathcolor='blue'))))
Пример #8
0
 def testText(self):
     self.assertTreeEquals(
         parse('text{undefined}'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mrow',
                                 element_factory('mtext',
                                                 text='undefined')))))
Пример #9
0
 def testUnary2(self):
     self.assertTreeEquals(
         parse('dot alpha'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mover',
                                 element_factory('mi', text=u'\u03b1'),
                                 element_factory('mo', text='.')))))
Пример #10
0
 def testSup(self):
     self.assertTreeEquals(
         parse('alpha ^ beta'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('msup',
                                 element_factory('mi', text=u'\u03b1'),
                                 element_factory('mi', text=u'\u03b2')))))
Пример #11
0
 def testIncompleteFrac(self):
     self.assertTreeEquals(
         parse('alpha /'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mfrac',
                                 element_factory('mi', text=u'\u03b1'),
                                 element_factory('mo')))))
Пример #12
0
 def tesRewriteLRNested(self):
     self.assertTreeEquals(
         parse('floor abs A'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory(
                     'mrow', element_factory('mo', u"\u230A"),
                     element_factory('mrow', element_factory('mo', '|'),
                                     element_factory('mi', 'A'),
                                     element_factory('mo', '|')),
                     element_factory('mo', u"\u230B")))))
Пример #13
0
 def testRewriteLRReplace(self):
     self.assertTreeEquals(
         parse('abs(xyz)'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory(
                     'mrow', element_factory('mo', u"|"),
                     element_factory(
                         'mrow',
                         element_factory('mi', 'x'),
                         element_factory('mi', 'y'),
                         element_factory('mi', 'z'),
                     ), element_factory('mo', u"|")))))
Пример #14
0
 def testParens(self):
     self.assertTreeEquals(
         parse('(alpha + beta) / gamma'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory(
                     'mfrac',
                     element_factory('mrow',
                                     element_factory('mi', text=u'\u03b1'),
                                     element_factory('mo', text='+'),
                                     element_factory('mi', text=u'\u03b2')),
                     element_factory('mi', text=u'\u03b3')))))
Пример #15
0
 def testQuotedText(self):
     self.assertTreeEquals(
         parse('"time" = "money"'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mrow',
                                 element_factory('mtext', text='time')),
                 element_factory('mo', text='='),
                 element_factory('mrow',
                                 element_factory('mtext', text='money')))))
Пример #16
0
 def testRewriteLRAdditive(self):
     self.assertTreeEquals(
         parse('floor A'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('mrow', element_factory('mo', u"\u230A"),
                                 element_factory('mi', 'A'),
                                 element_factory('mo', u"\u230B")))))
Пример #17
0
 def testUnderOver(self):
     self.assertTreeEquals(
         parse('sum_alpha^beta'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory('munderover',
                                 element_factory('mo', text=u'\u2211'),
                                 element_factory('mi', text=u'\u03b1'),
                                 element_factory('mi', text=u'\u03b2')))))
Пример #18
0
 def testQuotedSpaces(self):
     self.assertTreeEquals(
         parse('" a  b c   " x'),
         element_factory(
             'math',
             element_factory(
                 'mstyle',
                 element_factory(
                     'mrow',
                     element_factory('mspace', width='1ex'),
                     element_factory('mtext', text=' a  b c   '),
                     element_factory('mspace', width='1ex'),
                 ),
                 element_factory('mi', text='x'),
             )))
Пример #19
0
    def testTwoLines(self):
        self.maxDiff = None

        output = markdown.markdown(
            (
                'First line containing the formula $$f(x)=x^2$$.\n'
                'The second line should be here.'
            ),
            ["asciimathml"]
        )

        formula = element_factory('math',
            element_factory('mstyle',
                element_factory('mi', text='f'),
                element_factory('mrow',
                    element_factory('mo', text='('),
                    element_factory('mi', text='x'),
                    element_factory('mo', text=')')
                ),
                element_factory('mo', text='='),
                element_factory('msup',
                    element_factory('mi', text='x'),
                    element_factory('mn', text='2')
                )
            )
        )
        formula.set('xmlns', 'http://www.w3.org/1998/Math/MathML')

        enc = 'unicode' if sys.version_info.major >= 3 else 'utf-8'

        expected = (
            '<p>First line containing the formula {0}.\n'
            'The second line should be here.</p>'
        ).format(tostring(formula, encoding=enc).strip())

        self.assertEquals(
            output,
            expected
        )
Пример #20
0
 def testEmpty(self):
     self.assertTreeEquals(
         parse(''), element_factory('math', element_factory('mstyle')))