Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
537e2c86
Kaydet (Commit)
537e2c86
authored
Haz 05, 2014
tarafından
Terry Jan Reedy
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Issue #18910: Add unittest for textView. Patch by Phil Webster.
üst
0d3e4b4e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
115 additions
and
4 deletions
+115
-4
mock_idle.py
Lib/idlelib/idle_test/mock_idle.py
+9
-1
test_textview.py
Lib/idlelib/idle_test/test_textview.py
+96
-0
textView.py
Lib/idlelib/textView.py
+8
-3
NEWS
Misc/NEWS
+2
-0
No files found.
Lib/idlelib/idle_test/mock_idle.py
Dosyayı görüntüle @
537e2c86
...
...
@@ -8,14 +8,22 @@ from idlelib.idle_test.mock_tk import Text
class
Func
:
'''Mock function captures args and returns result set by test.
Attributes:
self.called - records call even if no args, kwds passed.
self.result - set by init, returned by call.
self.args - captures positional arguments.
self.kwds - captures keyword arguments.
Most common use will probably be to mock methods.
mock_tk.Var and Mbox_func are special case
s of this.
Mock_tk.Var and Mbox_func are special variant
s of this.
'''
def
__init__
(
self
,
result
=
None
):
self
.
called
=
False
self
.
result
=
result
self
.
args
=
None
self
.
kwds
=
None
def
__call__
(
self
,
*
args
,
**
kwds
):
self
.
called
=
True
self
.
args
=
args
self
.
kwds
=
kwds
return
self
.
result
...
...
Lib/idlelib/idle_test/test_textview.py
0 → 100644
Dosyayı görüntüle @
537e2c86
'''Test the functions and main class method of textView.py.'''
import
unittest
import
os
from
test.support
import
requires
from
tkinter
import
Tk
,
Text
,
TclError
from
idlelib
import
textView
as
tv
from
idlelib.idle_test.mock_idle
import
Func
from
idlelib.idle_test.mock_tk
import
Mbox
orig_mbox
=
tv
.
tkMessageBox
class
TextViewTest
(
unittest
.
TestCase
):
@classmethod
def
setUpClass
(
cls
):
requires
(
'gui'
)
cls
.
root
=
Tk
()
cls
.
TV
=
TV
=
tv
.
TextViewer
TV
.
transient
=
Func
()
TV
.
grab_set
=
Func
()
TV
.
wait_window
=
Func
()
@classmethod
def
tearDownClass
(
cls
):
cls
.
root
.
destroy
()
TV
=
cls
.
TV
del
cls
.
root
,
cls
.
TV
del
TV
.
transient
,
TV
.
grab_set
,
TV
.
wait_window
def
setUp
(
self
):
TV
=
self
.
TV
TV
.
transient
.
__init__
()
TV
.
grab_set
.
__init__
()
TV
.
wait_window
.
__init__
()
def
test_init_modal
(
self
):
TV
=
self
.
TV
view
=
TV
(
self
.
root
,
'Title'
,
'test text'
)
self
.
assertTrue
(
TV
.
transient
.
called
)
self
.
assertTrue
(
TV
.
grab_set
.
called
)
self
.
assertTrue
(
TV
.
wait_window
.
called
)
view
.
Ok
()
def
test_init_nonmodal
(
self
):
TV
=
self
.
TV
view
=
TV
(
self
.
root
,
'Title'
,
'test text'
,
modal
=
False
)
self
.
assertFalse
(
TV
.
transient
.
called
)
self
.
assertFalse
(
TV
.
grab_set
.
called
)
self
.
assertFalse
(
TV
.
wait_window
.
called
)
view
.
Ok
()
def
test_ok
(
self
):
view
=
self
.
TV
(
self
.
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
textviewTest
(
unittest
.
TestCase
):
@classmethod
def
setUpClass
(
cls
):
requires
(
'gui'
)
cls
.
root
=
Tk
()
tv
.
tkMessageBox
=
Mbox
@classmethod
def
tearDownClass
(
cls
):
cls
.
root
.
destroy
()
del
cls
.
root
tv
.
tkMessageBox
=
orig_mbox
def
test_view_text
(
self
):
# If modal True, tkinter will error with 'can't invoke "event" command'
view
=
tv
.
view_text
(
self
.
root
,
'Title'
,
'test text'
,
modal
=
False
)
self
.
assertIsInstance
(
view
,
tv
.
TextViewer
)
def
test_view_file
(
self
):
test_dir
=
os
.
path
.
dirname
(
__file__
)
testfile
=
os
.
path
.
join
(
test_dir
,
'test_textview.py'
)
view
=
tv
.
view_file
(
self
.
root
,
'Title'
,
testfile
,
modal
=
False
)
self
.
assertIsInstance
(
view
,
tv
.
TextViewer
)
self
.
assertIn
(
'Test'
,
view
.
textView
.
get
(
'1.0'
,
'1.end'
))
view
.
Ok
()
# Mock messagebox will be used and view_file will not return anything
testfile
=
os
.
path
.
join
(
test_dir
,
'../notthere.py'
)
view
=
tv
.
view_file
(
self
.
root
,
'Title'
,
testfile
,
modal
=
False
)
self
.
assertIsNone
(
view
)
if
__name__
==
'__main__'
:
unittest
.
main
(
verbosity
=
2
)
Lib/idlelib/textView.py
Dosyayı görüntüle @
537e2c86
...
...
@@ -12,7 +12,11 @@ class TextViewer(Toplevel):
def
__init__
(
self
,
parent
,
title
,
text
,
modal
=
True
,
_htest
=
False
):
"""Show the given text in a scrollable window with a 'close' button
_htest - bool, change box location when running htest
If modal option set to False, user can interact with other windows,
otherwise they will be unable to interact with other windows until
the textview window is closed.
_htest - bool; change box location when running htest.
"""
Toplevel
.
__init__
(
self
,
parent
)
self
.
configure
(
borderwidth
=
5
)
...
...
@@ -68,8 +72,7 @@ def view_file(parent, title, filename, encoding=None, modal=True):
try
:
with
open
(
filename
,
'r'
,
encoding
=
encoding
)
as
file
:
contents
=
file
.
read
()
except
OSError
:
import
tkinter.messagebox
as
tkMessageBox
except
IOError
:
tkMessageBox
.
showerror
(
title
=
'File Load Error'
,
message
=
'Unable to load file
%
r .'
%
filename
,
parent
=
parent
)
...
...
@@ -77,5 +80,7 @@ def view_file(parent, title, filename, encoding=None, modal=True):
return
view_text
(
parent
,
title
,
contents
,
modal
)
if
__name__
==
'__main__'
:
import
unittest
unittest
.
main
(
'idlelib.idle_test.test_textview'
,
verbosity
=
2
,
exit
=
False
)
from
idlelib.idle_test.htest
import
run
run
(
TextViewer
)
Misc/NEWS
Dosyayı görüntüle @
537e2c86
...
...
@@ -66,6 +66,8 @@ Build
IDLE
----
-
Issue
#
18910
:
Add
unittest
for
textView
.
Patch
by
Phil
Webster
.
-
Issue
#
18292
:
Add
unittest
for
AutoExpand
.
Patch
by
Saihadhav
Heblikar
.
-
Issue
#
18409
:
Add
unittest
for
AutoComplete
.
Patch
by
Phil
Webster
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment