summaryrefslogtreecommitdiff
path: root/cmd2/transcript.py
diff options
context:
space:
mode:
authorEric Lin <anselor@gmail.com>2021-04-01 13:27:32 -0400
committeranselor <anselor@gmail.com>2021-04-02 18:00:03 -0400
commit48d26a3d668b80f0b319085b0000adbc07054e84 (patch)
tree0f3d4f77458be628e3f25e248b85c76f8fa48921 /cmd2/transcript.py
parent33951e80a4c0436624ec113988760d4a5b23a9f4 (diff)
downloadcmd2-git-48d26a3d668b80f0b319085b0000adbc07054e84.tar.gz
More mypy validation changes. cmd2.py is nearly fully mypy compliant now.
Diffstat (limited to 'cmd2/transcript.py')
-rw-r--r--cmd2/transcript.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/cmd2/transcript.py b/cmd2/transcript.py
index 5cd59ae8..c336c1a5 100644
--- a/cmd2/transcript.py
+++ b/cmd2/transcript.py
@@ -12,7 +12,11 @@ class is used in cmd2.py::run_transcript_tests()
import re
import unittest
from typing import (
+ TYPE_CHECKING,
+ List,
+ Optional,
Tuple,
+ cast,
)
from . import (
@@ -20,6 +24,11 @@ from . import (
utils,
)
+if TYPE_CHECKING: # pragma: no cover
+ from cmd2 import (
+ Cmd,
+ )
+
class Cmd2TestCase(unittest.TestCase):
"""A unittest class used for transcript testing.
@@ -31,7 +40,7 @@ class Cmd2TestCase(unittest.TestCase):
See example.py
"""
- cmdapp = None
+ cmdapp: Optional['Cmd'] = None
def setUp(self):
if self.cmdapp:
@@ -54,7 +63,8 @@ class Cmd2TestCase(unittest.TestCase):
def _fetchTranscripts(self):
self.transcripts = {}
- for fname in self.cmdapp.testfiles:
+ testfiles = cast(List[str], getattr(self.cmdapp, 'testfiles', []))
+ for fname in testfiles:
tfile = open(fname)
self.transcripts[fname] = iter(tfile.readlines())
tfile.close()