# -*- test-case-name: twisted.conch.test.test_text -*- # Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. from twisted.trial import unittest from twisted.conch.insults import text from twisted.conch.insults.text import attributes as A class FormattedTextTests(unittest.TestCase): """ Tests for assembling formatted text. """ def test_trivial(self): """ Using no formatting attributes produces no VT102 control sequences in the flattened output. """ self.assertEqual( text.assembleFormattedText(A.normal['Hello, world.']), 'Hello, world.') def test_bold(self): """ The bold formatting attribute, L{A.bold}, emits the VT102 control sequence to enable bold when flattened. """ self.assertEqual( text.assembleFormattedText(A.bold['Hello, world.']), '\x1b[1mHello, world.') def test_underline(self): """ The underline formatting attribute, L{A.underline}, emits the VT102 control sequence to enable underlining when flattened. """ self.assertEqual( text.assembleFormattedText(A.underline['Hello, world.']), '\x1b[4mHello, world.') def test_blink(self): """ The blink formatting attribute, L{A.blink}, emits the VT102 control sequence to enable blinking when flattened. """ self.assertEqual( text.assembleFormattedText(A.blink['Hello, world.']), '\x1b[5mHello, world.') def test_reverseVideo(self): """ The reverse-video formatting attribute, L{A.reverseVideo}, emits the VT102 control sequence to enable reversed video when flattened. """ self.assertEqual( text.assembleFormattedText(A.reverseVideo['Hello, world.']), '\x1b[7mHello, world.') def test_minus(self): """ Formatting attributes prefixed with a minus (C{-}) temporarily disable the prefixed attribute, emitting no VT102 control sequence to enable it in the flattened output. """ self.assertEqual( text.assembleFormattedText( A.bold[A.blink['Hello', -A.bold[' world'], '.']]), '\x1b[1;5mHello\x1b[0;5m world\x1b[1;5m.') def test_foreground(self): """ The foreground color formatting attribute, L{A.fg}, emits the VT102 control sequence to set the selected foreground color when flattened. """ self.assertEqual( text.assembleFormattedText( A.normal[A.fg.red['Hello, '], A.fg.green['world!']]), '\x1b[31mHello, \x1b[32mworld!') def test_background(self): """ The background color formatting attribute, L{A.bg}, emits the VT102 control sequence to set the selected background color when flattened. """ self.assertEqual( text.assembleFormattedText( A.normal[A.bg.red['Hello, '], A.bg.green['world!']]), '\x1b[41mHello, \x1b[42mworld!') def test_flattenDeprecated(self): """ L{twisted.conch.insults.text.flatten} emits a deprecation warning when imported or accessed. """ warningsShown = self.flushWarnings([self.test_flattenDeprecated]) self.assertEqual(len(warningsShown), 0) # Trigger the deprecation warning. text.flatten warningsShown = self.flushWarnings([self.test_flattenDeprecated]) self.assertEqual(len(warningsShown), 1) self.assertEqual(warningsShown[0]['category'], DeprecationWarning) self.assertEqual( warningsShown[0]['message'], 'twisted.conch.insults.text.flatten was deprecated in Twisted ' '13.1.0: Use twisted.conch.insults.text.assembleFormattedText ' 'instead.')
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 14 B | 0644 |
|
keydata.py | File | 17.06 KB | 0644 |
|
loopback.py | File | 757 B | 0644 |
|
test_address.py | File | 1.59 KB | 0644 |
|
test_agent.py | File | 12.78 KB | 0644 |
|
test_cftp.py | File | 49.7 KB | 0644 |
|
test_channel.py | File | 11.82 KB | 0644 |
|
test_checkers.py | File | 30.76 KB | 0644 |
|
test_ckeygen.py | File | 19.8 KB | 0644 |
|
test_conch.py | File | 24.55 KB | 0644 |
|
test_connection.py | File | 27.49 KB | 0644 |
|
test_default.py | File | 11.31 KB | 0644 |
|
test_endpoints.py | File | 51.96 KB | 0644 |
|
test_filetransfer.py | File | 26.65 KB | 0644 |
|
test_forwarding.py | File | 2.16 KB | 0644 |
|
test_helper.py | File | 20.01 KB | 0644 |
|
test_insults.py | File | 32.79 KB | 0644 |
|
test_keys.py | File | 53.57 KB | 0644 |
|
test_knownhosts.py | File | 48.26 KB | 0644 |
|
test_manhole.py | File | 12.52 KB | 0644 |
|
test_manhole_tap.py | File | 4.14 KB | 0644 |
|
test_mixin.py | File | 1.03 KB | 0644 |
|
test_openssh_compat.py | File | 4.52 KB | 0644 |
|
test_recvline.py | File | 24.81 KB | 0644 |
|
test_scripts.py | File | 1.84 KB | 0644 |
|
test_session.py | File | 38.54 KB | 0644 |
|
test_ssh.py | File | 31.62 KB | 0644 |
|
test_tap.py | File | 4.83 KB | 0644 |
|
test_telnet.py | File | 25.9 KB | 0644 |
|
test_text.py | File | 3.85 KB | 0644 |
|
test_transport.py | File | 89.71 KB | 0644 |
|
test_unix.py | File | 2.47 KB | 0644 |
|
test_userauth.py | File | 31.84 KB | 0644 |
|
test_window.py | File | 2.07 KB | 0644 |
|