|
1 | | -import importlib |
2 | 1 | from textwrap import dedent |
3 | 2 |
|
4 | 3 | import numpy as np |
|
19 | 18 | ) |
20 | 19 | import pandas._testing as tm |
21 | 20 |
|
22 | | -import pandas.io.clipboard |
23 | 21 | from pandas.io.clipboard import ( |
24 | 22 | CheckedCall, |
25 | 23 | _stringifyText, |
@@ -171,60 +169,17 @@ def test_stringify_text(text): |
171 | 169 | _stringifyText(text) |
172 | 170 |
|
173 | 171 |
|
174 | | -@pytest.fixture( |
175 | | - params=[ |
176 | | - pytest.param( |
177 | | - ("qtpy.QtWidgets", "QApplication"), |
178 | | - marks=[ |
179 | | - pytest.mark.xfail( |
180 | | - importlib.util.find_spec("qtpy") is None |
181 | | - or importlib.util.find_spec("qtpy.QtWidgets") is None, |
182 | | - reason="qtpy isn't installed", |
183 | | - ) |
184 | | - ], |
185 | | - ), |
186 | | - pytest.param( |
187 | | - ("PyQt6.QtWidgets", "QApplication"), |
188 | | - marks=[ |
189 | | - pytest.mark.xfail( |
190 | | - importlib.util.find_spec("PyQt6") is None |
191 | | - or importlib.util.find_spec("PyQt6.QtWidgets") is None, |
192 | | - reason="PyQt6 isn't installed", |
193 | | - ) |
194 | | - ], |
195 | | - ), |
196 | | - pytest.param( |
197 | | - ("PyQt5.QtWidgets", "QApplication"), |
198 | | - marks=[ |
199 | | - pytest.mark.xfail( |
200 | | - importlib.util.find_spec("PyQt5") is None |
201 | | - or importlib.util.find_spec("PyQt5.QtWidgets") is None, |
202 | | - reason="PyQt5 isn't installed", |
203 | | - ) |
204 | | - ], |
205 | | - ), |
206 | | - ], |
207 | | - ids=["qtpy", "PyQt6", "PyQt5"], |
208 | | -) |
209 | | -def set_pyqt_clipboard(monkeypatch, request): |
210 | | - module, attribute = request.param |
211 | | - qt_module = importlib.import_module(module) |
212 | | - q_application_binding = getattr(qt_module, attribute) |
213 | | - |
214 | | - get_qapp_binding = lambda x: q_application_binding |
215 | | - monkeypatch.setattr(pandas.io.clipboard, "_import_module", get_qapp_binding) |
| 172 | +@pytest.fixture |
| 173 | +def set_pyqt_clipboard(monkeypatch): |
216 | 174 | qt_cut, qt_paste = init_qt_clipboard() |
217 | 175 | with monkeypatch.context() as m: |
218 | 176 | m.setattr(pd.io.clipboard, "clipboard_set", qt_cut) |
219 | 177 | m.setattr(pd.io.clipboard, "clipboard_get", qt_paste) |
220 | | - yield module, attribute |
| 178 | + yield |
221 | 179 |
|
222 | 180 |
|
223 | 181 | @pytest.fixture |
224 | | -def clipboard(set_pyqt_clipboard): |
225 | | - module, attribute = set_pyqt_clipboard |
226 | | - qt_module = importlib.import_module(module) |
227 | | - qapp = getattr(qt_module, attribute) |
| 182 | +def clipboard(qapp): |
228 | 183 | clip = qapp.clipboard() |
229 | 184 | yield clip |
230 | 185 | clip.clear() |
|
0 commit comments