Exemplo n.º 1
0
    def test_invalid_html(self):
        input_text = '<b>yes  <i>html</i>'
        parser = InputHtmlParser()
        parser.feed(input_text)
        output = parser.get_output()
        self.assertEqual('yes  html', output)

        input_text = 'yes <i></b>html   </i>'
        parser = InputHtmlParser()
        parser.feed(input_text)
        output = parser.get_output()
        self.assertEqual('yes html   ', output)
Exemplo n.º 2
0
def create_status(user,
                  content,
                  reply_parent=None,
                  mention_books=None,
                  remote_id=None):
    ''' a status update '''
    # TODO: handle @'ing users

    # sanitize input html
    parser = InputHtmlParser()
    parser.feed(content)
    content = parser.get_output()

    status = models.Status.objects.create(
        user=user,
        content=content,
        reply_parent=reply_parent,
        remote_id=remote_id,
    )

    if mention_books:
        for book in mention_books:
            status.mention_books.add(book)

    return status
Exemplo n.º 3
0
def sanitize(content):
    ''' remove invalid html from free text '''
    parser = InputHtmlParser()
    parser.feed(content)
    return parser.get_output()
Exemplo n.º 4
0
 def test_no_html(self):
     input_text = 'no      html  '
     parser = InputHtmlParser()
     parser.feed(input_text)
     output = parser.get_output()
     self.assertEqual(input_text, output)
Exemplo n.º 5
0
 def test_disallowed_html(self):
     input_text = '<div>  yes <i>html</i></div>'
     parser = InputHtmlParser()
     parser.feed(input_text)
     output = parser.get_output()
     self.assertEqual('  yes <i>html</i>', output)
Exemplo n.º 6
0
 def test_valid_html_attrs(self):
     input_text = '<a href="fish.com">yes    </a> <i>html</i>'
     parser = InputHtmlParser()
     parser.feed(input_text)
     output = parser.get_output()
     self.assertEqual(input_text, output)