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
eca7da0f
Commit
eca7da0f
authored
May 28, 2017
by
terryjreedy
Committed by
GitHub
May 28, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
IDLE test_help_about: edit and add test. (#1838)
Coverage is now 100%
parent
178418ad
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
75 additions
and
47 deletions
+75
-47
Lib/idlelib/idle_test/test_help_about.py
Lib/idlelib/idle_test/test_help_about.py
+75
-47
No files found.
Lib/idlelib/idle_test/test_help_about.py
View file @
eca7da0f
'''Test idlelib.help_about.
Coverage:
Coverage:
100%
'''
from
idlelib
import
help_about
from
idlelib
import
textview
from
idlelib.idle_test.mock_idle
import
Func
from
idlelib.idle_test.mock_tk
import
Mbox_func
from
test.support
import
requires
,
findfile
requires
(
'gui'
)
from
tkinter
import
Tk
from
tkinter
import
Tk
,
TclError
import
unittest
from
idlelib.idle_test.mock_idle
import
Func
from
idlelib.idle_test.mock_tk
import
Mbox_func
from
idlelib.help_about
import
AboutDialog
as
About
from
idlelib
import
textview
class
LiveDialogTest
(
unittest
.
TestCase
):
"""Simulate user clicking buttons other than [Close].
About
=
help_about
.
AboutDialog
class
Dummy_about_dialog
():
# Dummy class for testing file display functions.
idle_credits
=
About
.
show_idle_credits
idle_readme
=
About
.
show_readme
idle_news
=
About
.
show_idle_news
# Called by the above
display_file_text
=
About
.
display_file_text
_utest
=
True
class
AboutDialogTest
(
unittest
.
TestCase
):
Test that invoked textview has text from source.
"""
@
classmethod
def
setUpClass
(
cls
):
requires
(
'gui'
)
cls
.
root
=
Tk
()
cls
.
root
.
withdraw
()
cls
.
dialog
=
About
(
cls
.
root
,
'About IDLE'
,
_utest
=
True
)
...
...
@@ -37,51 +29,88 @@ class AboutDialogTest(unittest.TestCase):
cls
.
root
.
destroy
()
del
cls
.
root
def
tearDown
(
self
):
if
self
.
dialog
.
_current_textview
:
self
.
dialog
.
_current_textview
.
destroy
()
def
test_dialog_title
(
self
):
"""T
his will t
est about dialog title"""
"""Test about dialog title"""
self
.
assertEqual
(
self
.
dialog
.
title
(),
'About IDLE'
)
def
test_printer_dialog
(
self
):
"""This will test dialog which using printer"""
buttons
=
[(
license
,
self
.
dialog
.
py_license
),
(
copyright
,
self
.
dialog
.
py_copyright
),
(
credits
,
self
.
dialog
.
py_credits
)]
def
test_printer_buttons
(
self
):
"""Test buttons whose commands use printer function."""
dialog
=
self
.
dialog
button_sources
=
[(
self
.
dialog
.
py_license
,
license
),
(
self
.
dialog
.
py_copyright
,
copyright
),
(
self
.
dialog
.
py_credits
,
credits
)]
for
printer
,
button
in
buttons
:
dialog
=
self
.
dialog
for
button
,
printer
in
button_sources
:
printer
.
_Printer__setup
()
button
.
invoke
()
self
.
assertEqual
(
printer
.
_Printer__lines
[
0
],
dialog
.
_current_textview
.
textView
.
get
(
'1.0'
,
'1.end'
))
self
.
assertEqual
(
printer
.
_Printer__lines
[
1
],
dialog
.
_current_textview
.
textView
.
get
(
'2.0'
,
'2.end'
))
self
.
assertEqual
(
printer
.
_Printer__lines
[
0
],
dialog
.
_current_textview
.
textView
.
get
(
'1.0'
,
'1.end'
))
self
.
assertEqual
(
printer
.
_Printer__lines
[
1
],
dialog
.
_current_textview
.
textView
.
get
(
'2.0'
,
'2.end'
))
dialog
.
_current_textview
.
destroy
()
def
test_file_dialog
(
self
):
"""This will test dialog which using file"""
buttons
=
[(
'README.txt'
,
self
.
dialog
.
readme
),
(
'NEWS.txt'
,
self
.
dialog
.
idle_news
),
(
'CREDITS.txt'
,
self
.
dialog
.
idle_credits
)]
def
test_file_buttons
(
self
):
"""Test buttons that display files."""
dialog
=
self
.
dialog
button_sources
=
[(
self
.
dialog
.
readme
,
'README.txt'
),
(
self
.
dialog
.
idle_news
,
'NEWS.txt'
),
(
self
.
dialog
.
idle_credits
,
'CREDITS.txt'
)]
for
filename
,
button
in
buttons
:
dialog
=
self
.
dialog
for
button
,
filename
in
button_sources
:
button
.
invoke
()
fn
=
findfile
(
filename
,
subdir
=
'idlelib'
)
with
open
(
fn
)
as
f
:
self
.
assertEqual
(
f
.
readline
().
strip
(),
dialog
.
_current_textview
.
textView
.
get
(
'1.0'
,
'1.end'
))
self
.
assertEqual
(
f
.
readline
().
strip
(),
dialog
.
_current_textview
.
textView
.
get
(
'1.0'
,
'1.end'
))
f
.
readline
()
self
.
assertEqual
(
f
.
readline
().
strip
(),
dialog
.
_current_textview
.
textView
.
get
(
'3.0'
,
'3.end'
))
dialog
.
_current_textview
.
destroy
()
class
CloseTest
(
unittest
.
TestCase
):
"""Simulate user clicking [Close] button"""
@
classmethod
def
setUpClass
(
cls
):
requires
(
'gui'
)
cls
.
root
=
Tk
()
cls
.
root
.
withdraw
()
cls
.
dialog
=
About
(
cls
.
root
,
'About IDLE'
,
_utest
=
True
)
@
classmethod
def
tearDownClass
(
cls
):
del
cls
.
dialog
cls
.
root
.
update_idletasks
()
cls
.
root
.
destroy
()
del
cls
.
root
def
test_close
(
self
):
self
.
assertEqual
(
self
.
dialog
.
winfo_class
(),
'Toplevel'
)
self
.
dialog
.
button_ok
.
invoke
()
with
self
.
assertRaises
(
TclError
):
self
.
dialog
.
winfo_class
()
class
Dummy_about_dialog
():
# Dummy class for testing file display functions.
idle_credits
=
About
.
show_idle_credits
idle_readme
=
About
.
show_readme
idle_news
=
About
.
show_idle_news
# Called by the above
display_file_text
=
About
.
display_file_text
_utest
=
True
class
DisplayFileTest
(
unittest
.
TestCase
):
"""Test functions that display files.
While somewhat redundant with gui-based test_file_dialog,
these unit tests run on all buildbots, not just a few.
"""
dialog
=
Dummy_about_dialog
()
@
classmethod
...
...
@@ -92,14 +121,13 @@ class DisplayFileTest(unittest.TestCase):
cls
.
view
=
Func
()
textview
.
showerror
=
cls
.
error
textview
.
view_text
=
cls
.
view
cls
.
About
=
Dummy_about_dialog
()
@
classmethod
def
tearDownClass
(
cls
):
textview
.
showerror
=
cls
.
orig_error
textview
.
view_text
=
cls
.
orig_view
def
test_file_isplay
(
self
):
def
test_file_
d
isplay
(
self
):
for
handler
in
(
self
.
dialog
.
idle_credits
,
self
.
dialog
.
idle_readme
,
self
.
dialog
.
idle_news
):
...
...
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