Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
295304d4
Commit
295304d4
authored
May 17, 2017
by
terryjreedy
Committed by
GitHub
May 17, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
IDLE test_textview: add comments and test, increase coverage to 100% (#1641)
parent
ba365da9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
9 deletions
+25
-9
Lib/idlelib/idle_test/test_textview.py
Lib/idlelib/idle_test/test_textview.py
+24
-9
Lib/idlelib/textview.py
Lib/idlelib/textview.py
+1
-0
No files found.
Lib/idlelib/idle_test/test_textview.py
View file @
295304d4
...
...
@@ -5,7 +5,7 @@ is a widget containing multiple widgets, all tests must be gui tests.
Using mock Text would not change this. Other mocks are used to retrieve
information about calls.
Coverage:
94
%.
Coverage:
100
%.
'''
from
idlelib
import
textview
as
tv
from
test.support
import
requires
...
...
@@ -28,14 +28,20 @@ def tearDownModule():
root
.
destroy
()
# Pyflakes falsely sees root as undefined.
del
root
# If we call TextViewer 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
TV
(
tv
.
TextViewer
):
# Used in TextViewTest.
transient
=
Func
()
grab_set
=
Func
()
wait_window
=
Func
()
class
TextViewTest
(
unittest
.
TestCase
):
# Call wrapper class with mock wait_window.
class
TextViewTest
(
unittest
.
TestCase
):
def
setUp
(
self
):
TV
.
transient
.
__init__
()
TV
.
grab_set
.
__init__
()
...
...
@@ -64,6 +70,7 @@ class TextViewTest(unittest.TestCase):
view
.
destroy
()
# Call TextViewer with modal=False.
class
ViewFunctionTest
(
unittest
.
TestCase
):
@
classmethod
...
...
@@ -77,26 +84,34 @@ class ViewFunctionTest(unittest.TestCase):
del
cls
.
orig_error
def
test_view_text
(
self
):
# If modal True, get tk error 'can't invoke "event" command'.
view
=
tv
.
view_text
(
root
,
'Title'
,
'test text'
,
modal
=
False
)
self
.
assertIsInstance
(
view
,
tv
.
TextViewer
)
view
.
Ok
()
def
test_view_file
(
self
):
test_dir
=
os
.
path
.
dirname
(
__file__
)
testfile
=
os
.
path
.
join
(
test_dir
,
'test_textview.py'
)
view
=
tv
.
view_file
(
root
,
'Title'
,
testfile
,
modal
=
False
)
view
=
tv
.
view_file
(
root
,
'Title'
,
__file__
,
modal
=
False
)
self
.
assertIsInstance
(
view
,
tv
.
TextViewer
)
self
.
assertIn
(
'Test'
,
view
.
textView
.
get
(
'1.0'
,
'1.end'
))
view
.
Ok
()
def
test_bad_file
(
self
):
# Mock showerror will be used; view_file will return None.
testfile
=
os
.
path
.
join
(
test_dir
,
'../notthere.py'
)
view
=
tv
.
view_file
(
root
,
'Title'
,
testfile
,
modal
=
False
)
view
=
tv
.
view_file
(
root
,
'Title'
,
'abc.xyz'
,
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'
))
tv
.
showerror
.
title
=
None
view
=
tv
.
view_file
(
root
,
'Title'
,
fn
,
'ascii'
,
modal
=
False
)
self
.
assertIsNone
(
view
)
self
.
assertEqual
(
tv
.
showerror
.
title
,
'Unicode Decode Error'
)
class
ButtonClickTextViewTest
(
unittest
.
TestCase
):
# Call TextViewer with _utest=True.
class
ButtonClickTest
(
unittest
.
TestCase
):
def
setUp
(
self
):
self
.
view
=
None
...
...
Lib/idlelib/textview.py
View file @
295304d4
...
...
@@ -87,6 +87,7 @@ def view_file(parent, title, filename, encoding=None, modal=True, _utest=False):
parent
=
parent
)
else
:
return
view_text
(
parent
,
title
,
contents
,
modal
,
_utest
=
_utest
)
return
None
if
__name__
==
'__main__'
:
...
...
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