示例#1
0
def test_SecureQLabel_get_elided_text_only_returns_oneline_elided(mocker):
    # 70 character string
    string_with_newline = ('this is a string\n with a newline')
    sl = SecureQLabel(string_with_newline, wordwrap=False, max_length=38)
    elided_text = sl.get_elided_text(string_with_newline)
    assert sl.text() == elided_text
    assert '...' in elided_text
示例#2
0
def test_SecureQLabel_get_elided_text_short_string(mocker):
    # 70 character string
    long_string = '123456789'
    sl = SecureQLabel(long_string, wordwrap=False, max_length=100)
    elided_text = sl.get_elided_text(long_string)
    assert sl.text() == elided_text
    assert elided_text == '123456789'
示例#3
0
def test_SecureQLabel_init_wordwrap(mocker):
    '''
    Regression test to make sure we don't remove newlines.
    '''
    long_string = (
        '1234567890123456789012345678901234567890123456789012345678901234567890\n'
        '12345678901')
    sl = SecureQLabel(long_string, wordwrap=False)
    assert sl.text() == long_string
示例#4
0
def test_SecureQLabel_setText(mocker):
    sl = SecureQLabel("hello")
    assert sl.text() == "hello"

    label_text = '<script>alert("hi!");</script>'
    sl.setTextFormat = mocker.MagicMock()
    sl.setText(label_text)
    assert sl.text() == label_text
    # Ensure *safe* plain text with no HTML entities.
    sl.setTextFormat.assert_called_once_with(Qt.PlainText)
示例#5
0
def test_SecureQLabel_setText():
    sl = SecureQLabel("hello")
    assert sl.text() == "hello"

    label_text = '<script>alert("hi!");</script>'
    sl.setText(label_text)
    assert sl.text() == html.escape(label_text, quote=False)
示例#6
0
def test_SecureQLabel_quotes_not_escaped_for_readability():
    sl = SecureQLabel("'hello'")
    assert sl.text() == "'hello'"
示例#7
0
def test_SecureQLabel_init_no_wordwrap(mocker):
    long_string = (
        '1234567890123456789012345678901234567890123456789012345678901234567890\n'
        '12345678901')
    sl = SecureQLabel(long_string, wordwrap=False)
    assert sl.text() == long_string
示例#8
0
def test_SecureQLabel_init():
    label_text = '<script>alert("hi!");</script>'
    sl = SecureQLabel(label_text)
    assert sl.text() == label_text
示例#9
0
def test_SecureQLabel_init():
    label_text = '<script>alert("hi!");</script>'
    sl = SecureQLabel(label_text)
    assert sl.text() == html.escape(label_text, quote=False)