Example #1
0
    def test_renders_markdown_readme(self):
        readme = Readme("This is a *<README>*.", "README.md")
        self.assertEqual("<p>This is a <em>&lt;README&gt;</em>.</p>",
                         readme.render())

        readme = Readme("This is a *<README>*.", "readme.MD")
        self.assertEqual("<p>This is a <em>&lt;README&gt;</em>.</p>",
                         readme.render())
Example #2
0
    def assert_extracts_readme(self, chosen, names=None, pattern=None):
        """Assert that the given README is extracted from an archive.

        If no names are passed, creates an archive with a single README.
        If no pattern is passed, the pattern default is 'README'."""
        archive = self.readme_archive(*(names or [chosen]))
        if pattern: readme = Readme.from_archive(archive, pattern)
        else: readme = Readme.from_archive(archive)
        self.assertIsNotNone(readme)
        self.assertEqual('This is a README named "%s".' % chosen, readme.text)
        self.assertEqual(chosen, readme.filename)
Example #3
0
    def assert_extracts_readme(self, chosen, names=None, pattern=None):
        """Assert that the given README is extracted from an archive.

        If no names are passed, creates an archive with a single README.
        If no pattern is passed, the pattern default is 'README'."""
        archive = self.readme_archive(*(names or [chosen]))
        if pattern: readme = Readme.from_archive(archive, pattern)
        else: readme = Readme.from_archive(archive)
        self.assertIsNotNone(readme)
        self.assertEqual('This is a README named "%s".' % chosen, readme.text)
        self.assertEqual(chosen, readme.filename)
Example #4
0
    def test_renders_markdown_readme(self):
        readme = Readme("This is a *<README>*.", "README.md")
        self.assertEqual("<p>This is a <em>&lt;README&gt;</em>.</p>",
                         readme.render())

        readme = Readme("This is a *<README>*.", "readme.MD")
        self.assertEqual("<p>This is a <em>&lt;README&gt;</em>.</p>",
                         readme.render())
Example #5
0
    def test_infers_format_from_filename(self):
        readme = Readme("This is a README.", "README")
        self.assertEqual(Readme.Format.TEXT, readme.format)

        readme = Readme("This is a README.", "README.md")
        self.assertEqual(Readme.Format.MARKDOWN, readme.format)

        readme = Readme("This is a README.", "README.jp.md")
        self.assertEqual(Readme.Format.MARKDOWN, readme.format)

        readme = Readme("This is a README.", "README.md.jp")
        self.assertEqual(Readme.Format.TEXT, readme.format)

        readme = Readme("This is a CHANGELOG.", "CHANGELOG")
        self.assertEqual(Readme.Format.TEXT, readme.format)

        readme = Readme("This is a CHANGELOG.", "CHANGELOG.md")
        self.assertEqual(Readme.Format.MARKDOWN, readme.format)

        readme = Readme("This is a CHANGELOG.", "CHANGELOG.fr.md")
        self.assertEqual(Readme.Format.MARKDOWN, readme.format)

        readme = Readme("This is a CHANGELOG.", "CHANGELOG.md.fr")
        self.assertEqual(Readme.Format.TEXT, readme.format)
Example #6
0
 def test_wraps_plain_text_readme_in_pre(self):
     readme = Readme("This is a *<README>*.", "README")
     self.assertEqual("<pre>This is a *&lt;README&gt;*.</pre>",
                      readme.render())
Example #7
0
 def test_tries_to_decode_invalid_utf_8(self):
     archive = self.archive({'README': 'This is a R\300ADM\300.'})
     readme = Readme.from_archive(archive)
     self.assertEqual(u'This is a R�ADM�.', readme.text)
Example #8
0
 def test_decodes_valid_utf_8(self):
     archive = self.archive({'README': 'This is a R\303\213ADM\303\213.'})
     readme = Readme.from_archive(archive)
     self.assertEqual(u'This is a RËADMË.', readme.text)
Example #9
0
 def test_doesnt_extract_prefixed_readme(self):
     archive = self.readme_archive("NOT_README")
     self.assertIsNone(Readme.from_archive(archive))
Example #10
0
 def test_wraps_plain_text_readme_in_pre(self):
     readme = Readme("This is a *<README>*.", "README")
     self.assertEqual("<pre>This is a *&lt;README&gt;*.</pre>",
                      readme.render())
Example #11
0
 def test_tries_to_decode_invalid_utf_8(self):
     archive = self.archive({'README': 'This is a R\300ADM\300.'})
     readme = Readme.from_archive(archive)
     self.assertEqual(u'This is a R�ADM�.', readme.text)
Example #12
0
 def test_decodes_valid_utf_8(self):
     archive = self.archive({'README': 'This is a R\303\213ADM\303\213.'})
     readme = Readme.from_archive(archive)
     self.assertEqual(u'This is a RËADMË.', readme.text)
Example #13
0
 def test_doesnt_extract_prefixed_readme(self):
     archive = self.readme_archive("NOT_README")
     self.assertIsNone(Readme.from_archive(archive))