Show More
@@ -26,8 +26,12 b' def _elide(string, *, min_elide=30):' | |||||
26 | If a string is long enough, and has at least 2 dots, |
|
26 | If a string is long enough, and has at least 2 dots, | |
27 | replace the middle part with ellipses. |
|
27 | replace the middle part with ellipses. | |
28 |
|
28 | |||
29 | For example: |
|
29 | If three consecutive dots, or two consecutive dots are encountered these are | |
|
30 | replaced by the equivalents HORIZONTAL ELLIPSIS or TWO DOT LEADER unicode | |||
|
31 | equivalents | |||
30 | """ |
|
32 | """ | |
|
33 | string = string.replace('...','\N{HORIZONTAL ELLIPSIS}') | |||
|
34 | string = string.replace('..','\N{TWO DOT LEADER}') | |||
31 | if len(string) < min_elide: |
|
35 | if len(string) < min_elide: | |
32 | return string |
|
36 | return string | |
33 |
|
37 |
@@ -10,6 +10,16 b' from IPython.core.inputtransformer import InputTransformer' | |||||
10 | from IPython.testing import tools as tt |
|
10 | from IPython.testing import tools as tt | |
11 | from IPython.utils.capture import capture_output |
|
11 | from IPython.utils.capture import capture_output | |
12 |
|
12 | |||
|
13 | from IPython.terminal.ptutils import _elide | |||
|
14 | import nose.tools as nt | |||
|
15 | ||||
|
16 | class TestElide(unittest.TestCase): | |||
|
17 | ||||
|
18 | def test_elide(self): | |||
|
19 | _elide('concatenate((a1, a2, ...), axis') # do not raise | |||
|
20 | _elide('concatenate((a1, a2, ..), . axis') # do not raise | |||
|
21 | nt.assert_equal(_elide('aaaa.bbbb.ccccc.dddddd.eeeee.fffff.gggggg.hhhhhh'), 'aaaa.b…g.hhhhhh') | |||
|
22 | ||||
13 | # Decorator for interaction loop tests ----------------------------------------- |
|
23 | # Decorator for interaction loop tests ----------------------------------------- | |
14 |
|
24 | |||
15 | class mock_input_helper(object): |
|
25 | class mock_input_helper(object): |
General Comments 0
You need to be logged in to leave comments.
Login now