Skip to content

Commit 0ae0e82

Browse files
committed
test: improve #220 test case
1 parent bfabc4d commit 0ae0e82

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

mss/linux.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,9 +364,9 @@ def _set_cfunctions(self) -> None:
364364

365365
cfactory = self._cfactory
366366
attrs = {
367+
"xfixes": getattr(self, "xfixes", None),
367368
"xlib": self.xlib,
368369
"xrandr": self.xrandr,
369-
"xfixes": getattr(self, "xfixes", None),
370370
}
371371
for func, (attr, argtypes, restype) in CFUNCTIONS.items():
372372
with suppress(AttributeError):

mss/tests/test_issue_220.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,15 @@
77
import mss
88

99
tkinter = pytest.importorskip("tkinter")
10-
root = tkinter.Tk()
10+
11+
12+
@pytest.fixture
13+
def root() -> tkinter.Tk:
14+
master = tkinter.Tk()
15+
try:
16+
yield master
17+
finally:
18+
master.destroy()
1119

1220

1321
def take_screenshot():
@@ -16,23 +24,23 @@ def take_screenshot():
1624
sct.grab(region)
1725

1826

19-
def create_top_level_win():
20-
top_level_win = tkinter.Toplevel(root)
27+
def create_top_level_win(master: tkinter.Tk):
28+
top_level_win = tkinter.Toplevel(master)
2129

2230
take_screenshot_btn = tkinter.Button(top_level_win, text="Take screenshot", command=take_screenshot)
2331
take_screenshot_btn.pack()
2432

2533
take_screenshot_btn.invoke()
26-
root.update_idletasks()
27-
root.update()
34+
master.update_idletasks()
35+
master.update()
2836

2937
top_level_win.destroy()
30-
root.update_idletasks()
31-
root.update()
38+
master.update_idletasks()
39+
master.update()
3240

3341

34-
def test_regression(capsys):
35-
btn = tkinter.Button(root, text="Open TopLevel", command=create_top_level_win)
42+
def test_regression(root: tkinter.Tk, capsys):
43+
btn = tkinter.Button(root, text="Open TopLevel", command=lambda: create_top_level_win(root))
3644
btn.pack()
3745

3846
# First screenshot: it works

0 commit comments

Comments
 (0)