Exemplo n.º 1
0
    def testConstructionTypeError(self):
        """
        Test type error for reader/renderer arguments.
        """

        # Content
        with self.assertRaises(exceptions.MooseDocsException) as e:
            Translator(None, 'foo', HTMLRenderer(), [])
        self.assertIn("The argument 'content' must be", e.exception.message)

        # Reader
        content = page.PageNodeBase(None)
        with self.assertRaises(exceptions.MooseDocsException) as e:
            Translator(content, 'foo', HTMLRenderer(), [])
        self.assertIn("The argument 'reader' must be", e.exception.message)

        # Renderer
        with self.assertRaises(exceptions.MooseDocsException) as e:
            Translator(content, MarkdownReader(), 'foo', [])
        self.assertIn("The argument 'renderer' must be", e.exception.message)

        # Extensions
        with self.assertRaises(exceptions.MooseDocsException) as e:
            Translator(content, MarkdownReader(), HTMLRenderer(), ['foo'])
        self.assertIn("The argument 'extensions' must be", e.exception.message)
Exemplo n.º 2
0
 def testConstruction(self):
     """
     Test most basic construction.
     """
     content = page.PageNodeBase(None)
     translator = Translator(content, MarkdownReader(), HTMLRenderer(), [])
     self.assertIsInstance(translator.reader, MarkdownReader)
     self.assertIsInstance(translator.renderer, HTMLRenderer)
Exemplo n.º 3
0
 def testBasic(self):
     """
     Test correct use.
     """
     t = Translator(page.PageNodeBase(None), MarkdownReader(),
                    HTMLRenderer(), [])
     obj = mixins.TranslatorObject()
     self.assertFalse(obj.initialized())
     obj.init(t)
     self.assertTrue(obj.initialized())
     self.assertIs(obj.translator, t)
Exemplo n.º 4
0
 def testTokenizeException(self):
     root = tokens.Token(None)
     content = page.PageNodeBase(None)
     reader = readers.Reader(lexers.RecursiveLexer('foo'))
     translator = Translator(content, reader, HTMLRenderer(), [])
     translator.init('')
     reader.add('foo', WordComponent())
     reader.parse(root, u'throw bar')
     self.assertIsInstance(root(0), tokens.ExceptionToken)
     self.assertIsInstance(root(1), tokens.Word)
     self.assertEqual(root(1).content, u'bar')
Exemplo n.º 5
0
    def testBasic(self):
        root = tokens.Token(None)
        content = page.PageNodeBase(None)
        reader = readers.Reader(lexers.RecursiveLexer('block', 'inline'))
        translator = Translator(content, reader, HTMLRenderer(), [])
        translator.init('')
        reader.add('block', BlockComponent())
        reader.add('inline', WordComponent())
        reader.parse(root, u'foo bar')

        self.assertIsInstance(root(0), tokens.Token)
        self.assertIsInstance(root(0)(0), tokens.Word)
        self.assertEqual(root(0)(0).content, u'foo')
        self.assertIsInstance(root(0)(1), tokens.Word)
        self.assertEqual(root(0)(1).content, u'bar')
Exemplo n.º 6
0
    def testExceptions(self):
        """
        Test Exceptions.
        """
        t = Translator(page.PageNodeBase(None), MarkdownReader(),
                       HTMLRenderer(), [])
        obj = mixins.TranslatorObject()
        with self.assertRaises(exceptions.MooseDocsException) as e:
            obj.init('')
        self.assertIn("The argument 'translator'", e.exception.message)

        with self.assertRaises(exceptions.MooseDocsException) as e:
            obj.translator
        self.assertIn("The init() method of", e.exception.message)

        obj.init(t)
        with self.assertRaises(exceptions.MooseDocsException) as e:
            obj.init(t)
        self.assertIn("already been initialized", e.exception.message)