1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
"""Test textview, coverage 100%. Since all methods and functions create (or destroy) a ViewWindow, which is a widget containing a widget, etcetera, all tests must be gui tests. Using mock Text would not change this. Other mocks are used to retrieve information about calls. """ from idlelib import textview as tv from test.support import requires requires('gui') import os import unittest from tkinter import Tk, TclError, CHAR, NONE, WORD from tkinter.ttk import Button from idlelib.idle_test.mock_idle import Func from idlelib.idle_test.mock_tk import Mbox_func def setUpModule(): global root root = Tk() root.withdraw() def tearDownModule(): global root root.update_idletasks() root.destroy() del root # If we call ViewWindow or wrapper functions with defaults # modal=True, _utest=False, test hangs on call to wait_window. # Have also gotten tk error 'can't invoke "event" command'. class VW(tv.ViewWindow): # Used in ViewWindowTest. transient = Func() grab_set = Func() wait_window = Func() # Call wrapper class VW with mock wait_window. class ViewWindowTest(unittest.TestCase): def setUp(self): VW.transient.__init__() VW.grab_set.__init__() VW.wait_window.__init__() def test_init_modal(self): view = VW(root, 'Title', 'test text') self.assertTrue(VW.transient.called) self.assertTrue(VW.grab_set.called) self.assertTrue(VW.wait_window.called) view.ok() def test_init_nonmodal(self): view = VW(root, 'Title', 'test text', modal=False) self.assertFalse(VW.transient.called) self.assertFalse(VW.grab_set.called) self.assertFalse(VW.wait_window.called) view.ok() def test_ok(self): view = VW(root, 'Title', 'test text', modal=False) view.destroy = Func() view.ok() self.assertTrue(view.destroy.called) del view.destroy # Unmask real function. view.destroy() class AutoHideScrollbarTest(unittest.TestCase): # Method set is tested in ScrollableTextFrameTest def test_forbidden_geometry(self): scroll = tv.AutoHideScrollbar(root) self.assertRaises(TclError, scroll.pack) self.assertRaises(TclError, scroll.place) class ScrollableTextFrameTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.root = root = Tk() root.withdraw() @classmethod def tearDownClass(cls): cls.root.update_idletasks() cls.root.destroy() del cls.root def make_frame(self, wrap=NONE, **kwargs): frame = tv.ScrollableTextFrame(self.root, wrap=wrap, **kwargs) def cleanup_frame(): frame.update_idletasks() frame.destroy() self.addCleanup(cleanup_frame) return frame def test_line1(self): frame = self.make_frame() frame.text.insert('1.0', 'test text') self.assertEqual(frame.text.get('1.0', '1.end'), 'test text') def test_horiz_scrollbar(self): # The horizontal scrollbar should be shown/hidden according to # the 'wrap' setting: It should only be shown when 'wrap' is # set to NONE. # wrap = NONE -> with horizontal scrolling frame = self.make_frame(wrap=NONE) self.assertEqual(frame.text.cget('wrap'), NONE) self.assertIsNotNone(frame.xscroll) # wrap != NONE -> no horizontal scrolling for wrap in [CHAR, WORD]: with self.subTest(wrap=wrap): frame = self.make_frame(wrap=wrap) self.assertEqual(frame.text.cget('wrap'), wrap) self.assertIsNone(frame.xscroll) class ViewFrameTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.root = root = Tk() root.withdraw() cls.frame = tv.ViewFrame(root, 'test text') @classmethod def tearDownClass(cls): del cls.frame cls.root.update_idletasks() cls.root.destroy() del cls.root def test_line1(self): get = self.frame.text.get self.assertEqual(get('1.0', '1.end'), 'test text') # Call ViewWindow with modal=False. class ViewFunctionTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.orig_error = tv.showerror tv.showerror = Mbox_func() @classmethod def tearDownClass(cls): tv.showerror = cls.orig_error del cls.orig_error def test_view_text(self): view = tv.view_text(root, 'Title', 'test text', modal=False) self.assertIsInstance(view, tv.ViewWindow) self.assertIsInstance(view.viewframe, tv.ViewFrame) view.viewframe.ok() def test_view_file(self): view = tv.view_file(root, 'Title', __file__, 'ascii', modal=False) self.assertIsInstance(view, tv.ViewWindow) self.assertIsInstance(view.viewframe, tv.ViewFrame) get = view.viewframe.textframe.text.get self.assertIn('Test', get('1.0', '1.end')) view.ok() def test_bad_file(self): # Mock showerror will be used; view_file will return None. view = tv.view_file(root, 'Title', 'abc.xyz', 'ascii', modal=False) self.assertIsNone(view) self.assertEqual(tv.showerror.title, 'File Load Error') def test_bad_encoding(self): p = os.path fn = p.abspath(p.join(p.dirname(__file__), '..', 'CREDITS.txt')) view = tv.view_file(root, 'Title', fn, 'ascii', modal=False) self.assertIsNone(view) self.assertEqual(tv.showerror.title, 'Unicode Decode Error') def test_nowrap(self): view = tv.view_text(root, 'Title', 'test', modal=False, wrap='none') text_widget = view.viewframe.textframe.text self.assertEqual(text_widget.cget('wrap'), 'none') # Call ViewWindow with _utest=True. class ButtonClickTest(unittest.TestCase): def setUp(self): self.view = None self.called = False def tearDown(self): if self.view: self.view.destroy() def test_view_text_bind_with_button(self): def _command(): self.called = True self.view = tv.view_text(root, 'TITLE_TEXT', 'COMMAND', _utest=True) button = Button(root, text='BUTTON', command=_command) button.invoke() self.addCleanup(button.destroy) self.assertEqual(self.called, True) self.assertEqual(self.view.title(), 'TITLE_TEXT') self.assertEqual(self.view.viewframe.textframe.text.get('1.0', '1.end'), 'COMMAND') def test_view_file_bind_with_button(self): def _command(): self.called = True self.view = tv.view_file(root, 'TITLE_FILE', __file__, encoding='ascii', _utest=True) button = Button(root, text='BUTTON', command=_command) button.invoke() self.addCleanup(button.destroy) self.assertEqual(self.called, True) self.assertEqual(self.view.title(), 'TITLE_FILE') get = self.view.viewframe.textframe.text.get with open(__file__) as f: self.assertEqual(get('1.0', '1.end'), f.readline().strip()) f.readline() self.assertEqual(get('3.0', '3.end'), f.readline().strip()) if __name__ == '__main__': unittest.main(verbosity=2)