MCPcopy Index your code
hub / github.com/python/cpython / MockFileInput

Class MockFileInput

Lib/test/test_fileinput.py:499–544  ·  view source on GitHub ↗

A class that mocks out fileinput.FileInput for use during unit tests

Source from the content-addressed store, hash-verified

497
498
499class MockFileInput:
500 """A class that mocks out fileinput.FileInput for use during unit tests"""
501
502 def __init__(self, files=None, inplace=False, backup="", *,
503 mode="r", openhook=None, encoding=None, errors=None):
504 self.files = files
505 self.inplace = inplace
506 self.backup = backup
507 self.mode = mode
508 self.openhook = openhook
509 self.encoding = encoding
510 self.errors = errors
511 self._file = None
512 self.invocation_counts = collections.defaultdict(lambda: 0)
513 self.return_values = {}
514
515 def close(self):
516 self.invocation_counts["close"] += 1
517
518 def nextfile(self):
519 self.invocation_counts["nextfile"] += 1
520 return self.return_values["nextfile"]
521
522 def filename(self):
523 self.invocation_counts["filename"] += 1
524 return self.return_values["filename"]
525
526 def lineno(self):
527 self.invocation_counts["lineno"] += 1
528 return self.return_values["lineno"]
529
530 def filelineno(self):
531 self.invocation_counts["filelineno"] += 1
532 return self.return_values["filelineno"]
533
534 def fileno(self):
535 self.invocation_counts["fileno"] += 1
536 return self.return_values["fileno"]
537
538 def isfirstline(self):
539 self.invocation_counts["isfirstline"] += 1
540 return self.return_values["isfirstline"]
541
542 def isstdin(self):
543 self.invocation_counts["isstdin"] += 1
544 return self.return_values["isstdin"]
545
546class BaseFileInputGlobalMethodsTest(unittest.TestCase):
547 """Base class for unit tests for the global function of

Calls

no outgoing calls

Used in the wild real call sites across dependent graphs

searching dependent graphs…