mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
Create overloads for tkinter.Text.count (#12395)
This commit is contained in:
@@ -110,6 +110,7 @@ tkinter.simpledialog.[A-Z_]+
|
||||
tkinter.simpledialog.TclVersion
|
||||
tkinter.simpledialog.TkVersion
|
||||
tkinter.Misc.after # we intentionally don't allow everything that "works" at runtime
|
||||
tkinter.Text.count # stubtest somehow thinks that index1 parameter has a default value, but it doesn't in any of the overloads
|
||||
traceback.TracebackException.from_exception # explicitly expanding arguments going into TracebackException __init__
|
||||
typing(_extensions)?\.IO\.__next__ # Added because IO streams are iterable. See https://github.com/python/typeshed/commit/97bc450acd60c1bcdafef3ce8fbe3b95a9c0cac3
|
||||
typing.type_check_only # typing decorator that is not available at runtime
|
||||
|
||||
@@ -3,6 +3,8 @@ from __future__ import annotations
|
||||
import tkinter
|
||||
import traceback
|
||||
import types
|
||||
from typing import Optional, Tuple
|
||||
from typing_extensions import assert_type
|
||||
|
||||
|
||||
def custom_handler(exc: type[BaseException], val: BaseException, tb: types.TracebackType | None) -> None:
|
||||
@@ -28,3 +30,25 @@ label.config(font=("", 12))
|
||||
label.config(font=("", 12.34)) # type: ignore
|
||||
label.config(font=("", 12, "bold"))
|
||||
label.config(font=("", 12.34, "bold")) # type: ignore
|
||||
|
||||
|
||||
# Test the `.count()` method. Comments show values that are returned at runtime.
|
||||
t = tkinter.Text()
|
||||
t.insert("end", "asd asd asd\nasd asd")
|
||||
|
||||
assert_type(t.count("1.0", "2.3"), Optional[Tuple[int]]) # (15,)
|
||||
assert_type(t.count("2.3", "2.3"), Optional[Tuple[int]]) # None
|
||||
assert_type(t.count("1.0", "2.3", "indices"), Optional[Tuple[int]]) # (15,)
|
||||
assert_type(t.count("2.3", "2.3", "indices"), Optional[Tuple[int]]) # None
|
||||
assert_type(t.count("1.0", "2.3", "indices", "update"), Optional[int]) # 15
|
||||
assert_type(t.count("2.3", "2.3", "indices", "update"), Optional[int]) # None
|
||||
assert_type(t.count("1.0", "2.3", "indices", "lines"), Tuple[int, int]) # (15, 1)
|
||||
assert_type(t.count("2.3", "2.3", "indices", "lines"), Tuple[int, int]) # (0, 0)
|
||||
assert_type(t.count("1.0", "2.3", "indices", "lines", "update"), Tuple[int, ...]) # (15, 1)
|
||||
assert_type(t.count("2.3", "2.3", "indices", "lines", "update"), Tuple[int, ...]) # (0, 0)
|
||||
assert_type(t.count("1.0", "2.3", "indices", "lines", "chars"), Tuple[int, ...]) # (15, 1, 15)
|
||||
assert_type(t.count("2.3", "2.3", "indices", "lines", "chars"), Tuple[int, ...]) # (0, 0, 0)
|
||||
assert_type(t.count("1.0", "2.3", "indices", "lines", "chars", "update"), Tuple[int, ...]) # (15, 1, 15)
|
||||
assert_type(t.count("2.3", "2.3", "indices", "lines", "chars", "update"), Tuple[int, ...]) # (0, 0, 0)
|
||||
assert_type(t.count("1.0", "2.3", "indices", "lines", "chars", "ypixels"), Tuple[int, ...]) # (15, 1, 15, 19)
|
||||
assert_type(t.count("2.3", "2.3", "indices", "lines", "chars", "ypixels"), Tuple[int, ...]) # (0, 0, 0, 0)
|
||||
|
||||
Reference in New Issue
Block a user