From 701f7b481124efdf73b7b8b452c162c8f9416baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 13 Dec 2024 14:14:35 +0100 Subject: [PATCH] Tests: Explicitly set cursor position (#2529) Since we updated QScintilla 2.13 -> 2.14 in Fedora 41+, we see this test failure: _____________ test_EditorPane_toggle_comments_handle_crlf_newline ______________ def test_EditorPane_toggle_comments_handle_crlf_newline(): """ Check that stray "\r\n" line endings don't lead to deleting the first character of the following line. """ ep = mu.interface.editor.EditorPane(None, "test\r\nline 2\n") ep.hasSelectedText = mock.MagicMock(return_value=False) ep.toggle_comments() > assert ep.text() == "# test\nline 2\n" E AssertionError: assert 'test\r\nline 2\n' == '# test\nline 2\n' E E - # test E ? -- E + test E ? + E line 2 tests/interface/test_editor.py:940: AssertionError I've added some debugging prints and realized that getCursorPosition() returns 2, 0 in this test, while is assumes the cursor is on line 0. By explicitly calling setCursorPosition() we fix the test and we make it more clear to the reader. --- tests/interface/test_editor.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/interface/test_editor.py b/tests/interface/test_editor.py index c20125548..297ab7ab0 100644 --- a/tests/interface/test_editor.py +++ b/tests/interface/test_editor.py @@ -936,6 +936,7 @@ def test_EditorPane_toggle_comments_handle_crlf_newline(): """ ep = mu.interface.editor.EditorPane(None, "test\r\nline 2\n") ep.hasSelectedText = mock.MagicMock(return_value=False) + ep.setCursorPosition(0, 0) ep.toggle_comments() assert ep.text() == "# test\nline 2\n" assert ep.selectedText() == "# test"