mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
bpo-45447: Add syntax highlighting for .pyi files in IDLE (GH-28950)
Also add .pyi to the python extensions in the "File-open" and "File-save" dialogues. Add util.py to contain objects that are used in multiple idlelib modules and have no dependencies on any of them. Co-authored-by: E-Paine <63801254+E-Paine@users.noreply.github.com> Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> (cherry picked from commit50cf4991c4) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> (cherry picked from commit9fabcfbe68) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
parent
cc6d8f8828
commit
1d4d44c385
10 changed files with 77 additions and 3 deletions
4
Lib/idlelib/idle_test/example_noext
Normal file
4
Lib/idlelib/idle_test/example_noext
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#!usr/bin/env python
|
||||
|
||||
def example_function(some_argument):
|
||||
pass
|
||||
2
Lib/idlelib/idle_test/example_stub.pyi
Normal file
2
Lib/idlelib/idle_test/example_stub.pyi
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
class Example:
|
||||
def method(self, argument1: str, argument2: list[int]) -> None: ...
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
"Test , coverage 17%."
|
||||
|
||||
from idlelib import iomenu
|
||||
from idlelib import iomenu, util
|
||||
import unittest
|
||||
from test.support import requires
|
||||
from tkinter import Tk
|
||||
|
|
@ -45,5 +45,27 @@ def test_fixnewlines_end(self):
|
|||
eq(fix(), 'a'+io.eol_convention)
|
||||
|
||||
|
||||
def _extension_in_filetypes(extension):
|
||||
return any(
|
||||
f'*{extension}' in filetype_tuple[1]
|
||||
for filetype_tuple in iomenu.IOBinding.filetypes
|
||||
)
|
||||
|
||||
|
||||
class FiletypesTest(unittest.TestCase):
|
||||
def test_python_source_files(self):
|
||||
for extension in util.py_extensions:
|
||||
with self.subTest(extension=extension):
|
||||
self.assertTrue(
|
||||
_extension_in_filetypes(extension)
|
||||
)
|
||||
|
||||
def test_text_files(self):
|
||||
self.assertTrue(_extension_in_filetypes('.txt'))
|
||||
|
||||
def test_all_files(self):
|
||||
self.assertTrue(_extension_in_filetypes(''))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
||||
|
|
|
|||
14
Lib/idlelib/idle_test/test_util.py
Normal file
14
Lib/idlelib/idle_test/test_util.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
"""Test util, coverage 100%"""
|
||||
|
||||
import unittest
|
||||
from idlelib import util
|
||||
|
||||
|
||||
class UtilTest(unittest.TestCase):
|
||||
def test_extensions(self):
|
||||
for extension in {'.pyi', '.py', '.pyw'}:
|
||||
self.assertIn(extension, util.py_extensions)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
||||
Loading…
Add table
Add a link
Reference in a new issue