| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| Expand Up | @@ -93,19 +93,20 @@ class SB: __call__ = None | |
| non-overlapping occurrences of the pattern in string by the | ||
| replacement repl. repl can be either a string or a callable; | ||
| if a string, backslash escapes in it are processed. If it is | ||
| a callable, it's passed the Match object and must return''') | ||
| a callable, it's passed the Match object and must return | ||
| a replacement string to be used.''') | ||
| tiptest(p.sub, '''\ | ||
| (repl, string, count=0) | ||
| Return the string obtained by replacing the leftmost \ | ||
| non-overlapping occurrences o...''') | ||
| non-overlapping occurrences of pattern in string by the replacement repl.''') | ||
|
|
||
| def test_signature_wrap(self): | ||
| if textwrap.TextWrapper.__doc__ is not None: | ||
| self.assertEqual(get_spec(textwrap.TextWrapper), '''\ | ||
|
Comment thread
picnixz marked this conversation as resolved.
|
||
| (width=70, initial_indent='', subsequent_indent='', expand_tabs=True, | ||
| replace_whitespace=True, fix_sentence_endings=False, break_long_words=True, | ||
| drop_whitespace=True, break_on_hyphens=True, tabsize=8, *, max_lines=None, | ||
| placeholder=' [...]') | ||
| self.assertEqual(get_spec(textwrap.TextWrapper).split('\n\n')[0], '''\ | ||
| (width=70, initial_indent='', subsequent_indent='', expand_tabs=True, \ | ||
| replace_whitespace=True, fix_sentence_endings=False, break_long_words=True, \ | ||
| drop_whitespace=True, break_on_hyphens=True, tabsize=8, *, max_lines=None, \ | ||
| placeholder=' [...]') | ||
| Object for wrapping/filling text. The public interface consists of | ||
| the wrap() and fill() methods; the other methods are just there for | ||
| subclasses to override in order to tweak the default behaviour. | ||
| Expand All | @@ -124,19 +125,15 @@ def bar(s='a'*100): | |
| def baz(s='a'*100, z='b'*100): | ||
| pass | ||
|
|
||
| indent = calltip._INDENT | ||
|
|
||
| sfoo = "(s='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"\ | ||
| "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" + indent + "aaaaaaaaa"\ | ||
| "aaaaaaaaaa')" | ||
| "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')" | ||
| sbar = "(s='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"\ | ||
| "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" + indent + "aaaaaaaaa"\ | ||
|
Comment thread
picnixz marked this conversation as resolved.
|
||
| "aaaaaaaaaa')\nHello Guido" | ||
| "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')"\ | ||
| "\nHello Guido" | ||
| sbaz = "(s='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"\ | ||
| "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n" + indent + "aaaaaaaaa"\ | ||
| "aaaaaaaaaa', z='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"\ | ||
| "bbbbbbbbbbbbbbbbb\n" + indent + "bbbbbbbbbbbbbbbbbbbbbb"\ | ||
| "bbbbbbbbbbbbbbbbbbbbbb')" | ||
| "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',"\ | ||
| " z='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"\ | ||
| "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')" | ||
|
|
||
| for func,doc in [(foo, sfoo), (bar, sbar), (baz, sbaz)]: | ||
| with self.subTest(func=func, doc=doc): | ||
| Expand All | @@ -145,29 +142,41 @@ def baz(s='a'*100, z='b'*100): | |
| def test_docline_truncation(self): | ||
| def f(): pass | ||
| f.__doc__ = 'a'*300 | ||
| self.assertEqual(get_spec(f), f"()\n{'a'*(calltip._MAX_COLS-3) + '...'}") | ||
| self.assertEqual(get_spec(f), f"()\n{f.__doc__}") | ||
|
|
||
| @unittest.skipIf(MISSING_C_DOCSTRINGS, | ||
| "Signature information for builtins requires docstrings") | ||
| def test_multiline_docstring(self): | ||
|
Comment thread
Copy link
Copy Markdown
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityWhy are we removing this test?
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualityIn the old tests, the first blank line was used as a separator, and the text after the first blank line was not displayed. However, now that I use the "ScrolledText" widget to display the document. So it is easy to show very long text, so I'm not limit the display to the content before the first blank line.
Sorry, something went wrong.
All reactions
Copy link
Copy Markdown
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low QualitySo, to say:
I would advise to keep tests that check whether multiline signatures from builtins are also correctly shown
Sorry, something went wrong.
All reactions
|
||
| # Test fewer lines than max. | ||
| self.assertEqual(get_spec(range), | ||
| "range(stop) -> range object\n" | ||
| "range(start, stop[, step]) -> range object") | ||
| self.assertEqual(get_spec(range), '''\ | ||
| range(stop) -> range object | ||
| range(start, stop[, step]) -> range object | ||
|
|
||
| Return an object that produces a sequence of integers from start (inclusive) | ||
| to stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1. | ||
| start defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3. | ||
| These are exactly the valid indices for a list of 4 elements. | ||
| When step is given, it specifies the increment (or decrement).''') | ||
|
|
||
| # Test max lines | ||
| self.assertEqual(get_spec(bytes), '''\ | ||
| bytes(iterable_of_ints) -> bytes | ||
| bytes(string, encoding[, errors]) -> bytes | ||
| bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer | ||
| bytes(int) -> bytes object of size given by the parameter initialized with null bytes | ||
| bytes() -> empty bytes object''') | ||
| bytes() -> empty bytes object | ||
|
|
||
| Construct an immutable array of bytes from: | ||
| - an iterable yielding integers in range(256) | ||
| - a text string encoded using the specified encoding | ||
| - any object implementing the buffer API. | ||
| - an integer''') | ||
|
|
||
| def test_multiline_docstring_2(self): | ||
| # Test more than max lines | ||
| def f(): pass | ||
| f.__doc__ = 'a\n' * 15 | ||
| self.assertEqual(get_spec(f), '()' + '\na' * calltip._MAX_LINES) | ||
| self.assertEqual(get_spec(f), '()\n' + f.__doc__[:-1]) | ||
|
|
||
| def test_functions(self): | ||
| def t1(): 'doc' | ||
| Expand Down | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| "Calltip" windows now support text selection, scrolling and | ||
| avoid truncating their content (in particular, docstrings | ||
| are shown in full). Patch by Shixian Li. |
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.