(filename, package, module_relative, encoding)
| 216 | return IncrementalNewlineDecoder(None, True).decode(data, True) |
| 217 | |
| 218 | def _load_testfile(filename, package, module_relative, encoding): |
| 219 | if module_relative: |
| 220 | package = _normalize_module(package, 3) |
| 221 | filename = _module_relative_path(package, filename) |
| 222 | if (loader := getattr(package, '__loader__', None)) is None: |
| 223 | try: |
| 224 | loader = package.__spec__.loader |
| 225 | except AttributeError: |
| 226 | pass |
| 227 | if hasattr(loader, 'get_data'): |
| 228 | file_contents = loader.get_data(filename) |
| 229 | file_contents = file_contents.decode(encoding) |
| 230 | # get_data() opens files as 'rb', so one must do the equivalent |
| 231 | # conversion as universal newlines would do. |
| 232 | return _newline_convert(file_contents), filename |
| 233 | with open(filename, encoding=encoding) as f: |
| 234 | return f.read(), filename |
| 235 | |
| 236 | def _indent(s, indent=4): |
| 237 | """ |
no test coverage detected