コード例 #1
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_overlapping_underscore_and_italic(self):
     # It's unclear what result to expect in this case.
     # This is one way of interpreting it
     self.assertEquals(
         parse_emphasis('_*he_llo*'),
         (italic + underline)('he') + italic('llo')
     )
コード例 #2
0
 def test_complicated(self):
     # As reported by Stu
     self.assertEquals(
         parse_emphasis(
             'You can _underline_ words, make them **bold** or *italic* '
             'or even ***bold italic.***'),
         (plain('You can ') + underline('underline') +
          plain(' words, make them ') + bold('bold') + plain(' or ') +
          italic('italic') + plain(' or even ') +
          (bold + italic)('bold italic.')))
コード例 #3
0
    def get_rich_attribute(self, name, default=[]):
        """Get an attribute from the title page parsed into a RichString.
        Returns a list of RichString objects.

        E.g. `screenplay.get_rich_attribute('Title')`

        """
        if name in self.title_page:
            return [parse_emphasis(line) for line in self.title_page[name]]
        else:
            return default
コード例 #4
0
ファイル: types.py プロジェクト: Tkizzy/PythonistaAppTemplate
    def get_rich_attribute(self, name, default=[]):
        """Get an attribute from the title page parsed into a RichString.
        Returns a list of RichString objects.

        E.g. `screenplay.get_rich_attribute('Title')`

        """
        if name in self.title_page:
            return [parse_emphasis(line) for line in self.title_page[name]]
        else:
            return default
コード例 #5
0
 def test_complicated(self):
     # As reported by Stu
     self.assertEquals(
         parse_emphasis(
             'You can _underline_ words, make them **bold** or *italic* '
             'or even ***bold italic.***'
         ), (
             plain('You can ') + underline('underline') +
             plain(' words, make them ') + bold('bold') + plain(' or ') +
             italic('italic') + plain(' or even ') +
             (bold + italic)('bold italic.')
         )
     )
コード例 #6
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_parse_multiple_bold(self):
     self.assertEquals(
         parse_emphasis('x**Hello** **there**'),
         plain('x') + bold('Hello') + plain(' ') + bold('there')
     )
コード例 #7
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_bold_inside_underline(self):
     self.assertEquals(
         parse_emphasis('_**hello**_'),
         (bold + underline)('hello')
     )
コード例 #8
0
 def _create_dialog(self, character):
     return Dialog(
         parse_emphasis(character.strip()),
         _sequence_to_rich(line.strip() for line in self.lines[1:])
     )
コード例 #9
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_additional_star(self):
     self.assertEquals(
         parse_emphasis('*foo* bar* baz'),
         italic('foo') + plain(' bar* baz')
     )
コード例 #10
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_underline(self):
     self.assertEquals(
         parse_emphasis('_hello_'),
         underline('hello')
     )
コード例 #11
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_italic_inside_bold(self):
     self.assertEquals(
         parse_emphasis('**Swedish *style* rules**'),
         bold('Swedish ') + (bold + italic)('style') + bold(' rules')
     )
コード例 #12
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_italic_and_bold(self):
     self.assertEquals(
         parse_emphasis('***really strong***'),
         (bold + italic)('really strong')
     )
コード例 #13
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_parse_without_emphasis(self):
     self.assertEquals(
         plain('Hello'), parse_emphasis('Hello'),
         'Expected parse_emphasis to return a plain string')
コード例 #14
0
def _sequence_to_rich(lines):
    """Converts a sequence of strings into a list of RichString."""
    return [parse_emphasis(line) for line in lines]
コード例 #15
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_simplified_complicated(self):
     self.assertEquals(
         parse_emphasis('*italic* or even ***bold italic.***'),
         italic('italic') + plain(' or even ') +
         (bold + italic)('bold italic.')
     )
コード例 #16
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_two_bold_should_not_create_one_long_bold_string(self):
     self.assertEquals(
         parse_emphasis('**first** **second**'),
         bold('first') + plain(' ') + bold('second')
     )
コード例 #17
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_parse_pre_and_postfix_and_bold(self):
     self.assertEquals(
         parse_emphasis('pre**Hello**post'),
         plain('pre') + bold('Hello') + plain('post')
     )
コード例 #18
0
def _string_to_rich(line):
    """Converts a single string into a RichString.
    """
    return parse_emphasis(line)
コード例 #19
0
ファイル: fountain.py プロジェクト: mcepl/screenplain
def _string_to_rich(line):
    """Converts a single string into a RichString.
    """
    return parse_emphasis(line)
コード例 #20
0
ファイル: fountain.py プロジェクト: mcepl/screenplain
def _sequence_to_rich(lines):
    """Converts a sequence of strings into a list of RichString."""
    return [parse_emphasis(line) for line in lines]
コード例 #21
0
ファイル: fountain.py プロジェクト: mcepl/screenplain
 def _create_dialog(self, character):
     return Dialog(
         parse_emphasis(character.strip()),
         _sequence_to_rich(line.strip() for line in self.lines[1:]))
コード例 #22
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_two_italic_should_not_create_one_long_italic_string(self):
     self.assertEquals(
         parse_emphasis('*first* *second*'),
         italic('first') + plain(' ') + italic('second')
     )
コード例 #23
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_parse_adjacent_bold(self):
     self.assertEquals(
         parse_emphasis('**123**456**'),
         bold('123') + plain('456**')
     )
コード例 #24
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_escaping_star_creates_a_literal_star(self):
     self.assertEquals(
         parse_emphasis(r'\*hello*'),
         plain('*hello*')
     )
コード例 #25
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_italic(self):
     self.assertEquals(
         parse_emphasis('*Italian style*'),
         italic('Italian style')
     )
コード例 #26
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_parse_bold(self):
     self.assertEquals(
         parse_emphasis('**Hello**'),
         bold('Hello')
     )
コード例 #27
0
ファイル: richstring_test.py プロジェクト: ottumm/screenplain
 def test_bold_inside_italic(self):
     self.assertEquals(
         parse_emphasis('*Swedish **style** rules*'),
         italic('Swedish ') + (bold + italic)('style') + italic(' rules')
     )