All Downloads are FREE. Search and download functionalities are using the official Maven repository.

build.test.test_parsers.test_rst.test_interpreted.py Maven / Gradle / Ivy

There is a newer version: 2.4
Show newest version
#! /usr/bin/env python

# $Id: test_interpreted.py 6424 2010-09-18 10:43:52Z smerten $
# Author: David Goodger 
# Copyright: This module has been placed in the public domain.

"""
Tests for interpreted text in docutils/parsers/rst/states.py.
"""

from __init__ import DocutilsTestSupport

def suite():
    s = DocutilsTestSupport.ParserTestSuite()
    s.generateTests(totest)
    return s

totest = {}

totest['basics'] = [
["""\
`interpreted`
""",
"""\

    
        
            interpreted
"""],
["""\
:title:`interpreted`
""",
"""\

    
        
            interpreted
"""],
["""\
`interpreted`:title:
""",
"""\

    
        
            interpreted
"""],
["""\
`interpreted \`title``
""",
"""\

    
        
            interpreted `title`
"""],
["""\
:title:`:not-role: interpreted`
""",
"""\

    
        
            :not-role: interpreted
"""],
["""\
`interpreted` but not \\`interpreted` [`] or ({[`] or [`]}) or `
""",
"""\

    
        
            interpreted
         but not `interpreted` [`] or ({[`] or [`]}) or `
"""],
["""\
`interpreted`-text `interpreted`: text `interpreted`:text `text`'s interpreted
""",
"""\

    
        
            interpreted
        -text \n\
        
            interpreted
        : text \n\
        
            interpreted
        :text \n\
        
            text
        's interpreted
"""],
["""\
`interpreted without closing backquote
""",
"""\

    
        
            `
        interpreted without closing backquote
    
        
            Inline interpreted text or phrase reference start-string without end-string.
"""],
["""\
`interpreted`:not a role if it contains whitespace:
""",
"""\

    
        
            interpreted
        :not a role if it contains whitespace:
"""],
["""\
:title:`` (empty interpteted text not recognized)
""",
"""\

    
        :title:`` (empty interpteted text not recognized)
"""],
["""\
:title:`\ ` (interpteted text containing empty string)
""",
"""\

    
        
         (interpteted text containing empty string)
"""],
["""\
`\ `:title: (interpteted text containing empty string (postfix))
""",
"""\

    
        
         (interpteted text containing empty string (postfix))
"""],
["""\
:title:`\ non-empty`
""",
"""\

    
        
            non-empty
"""],
["""\
:title:`\  ` (trailing unquoted space)
""",
"""\

    
        :title:
        
            `
         ` (trailing unquoted space)
    
        
            Inline interpreted text or phrase reference start-string without end-string.
"""],
["""\
Explicit roles for standard inline markup:
:emphasis:`emphasis`,
:strong:`strong`,
:literal:`inline literal text`.
""",
"""\

    
        Explicit roles for standard inline markup:
        
            emphasis
        ,
        
            strong
        ,
        
            inline literal text
        .
"""],
["""\
Simple explicit roles:
:ab:`abbreviation`,
:ac:`acronym`,
:sup:`superscript`,
:sub:`subscript`,
:title:`title reference`.
""",
"""\

    
        Simple explicit roles:
        
            abbreviation
        ,
        
            acronym
        ,
        
            superscript
        ,
        
            subscript
        ,
        
            title reference
        .
"""],
]

totest['references'] = [
["""\
:PEP:`0`
""",
"""\

    
        
            PEP 0
"""],
["""\
:PEP:`-1`
""",
"""\

    
        
            :PEP:`-1`
    
        
            PEP number must be a number from 0 to 9999; "-1" is invalid.
"""],
["""\
:RFC:`2822`
""",
"""\

    
        
            RFC 2822
"""],
["""\
:RFC:`0`
""",
"""\

    
        
            :RFC:`0`
    
        
            RFC number must be a number greater than or equal to 1; "0" is invalid.
"""],
]

totest['unknown_roles'] = [
["""\
:role:`interpreted`
""",
"""\

    
        
            :role:`interpreted`
    
        
            No role entry for "role" in module "docutils.parsers.rst.languages.en".
            Trying "role" as canonical role name.
    
        
            Unknown interpreted text role "role".
"""],
["""\
`interpreted`:role:
""",
"""\

    
        
            `interpreted`:role:
    
        
            No role entry for "role" in module "docutils.parsers.rst.languages.en".
            Trying "role" as canonical role name.
    
        
            Unknown interpreted text role "role".
"""],
["""\
:role:`interpreted`:role:
""",
"""\

    
        
            :role:`interpreted`:role:
    
        
            Multiple roles in interpreted text (both prefix and suffix present; only one allowed).
"""],
["""\
:very.long-role_name:`interpreted`
""",
"""\

    
        
            :very.long-role_name:`interpreted`
    
        
            No role entry for "very.long-role_name" in module "docutils.parsers.rst.languages.en".
            Trying "very.long-role_name" as canonical role name.
    
        
            Unknown interpreted text role "very.long-role_name".
"""],
["""\
:restructuredtext-unimplemented-role:`interpreted`
""",
"""\

    
        
            :restructuredtext-unimplemented-role:`interpreted`
    
        
            No role entry for "restructuredtext-unimplemented-role" in module "docutils.parsers.rst.languages.en".
            Trying "restructuredtext-unimplemented-role" as canonical role name.
    
        
            Interpreted text role "restructuredtext-unimplemented-role" not implemented.
"""],
]


if __name__ == '__main__':
    import unittest
    unittest.main(defaultTest='suite')




© 2015 - 2025 Weber Informatics LLC | Privacy Policy