diff --git a/mathics/builtin/files.py b/mathics/builtin/files.py index bb1ae66633..fd873865e6 100644 --- a/mathics/builtin/files.py +++ b/mathics/builtin/files.py @@ -106,6 +106,9 @@ def __enter__(self): # open the stream fp = io.open(path, self.mode, encoding=self.encoding) + global INPUTFILE_VAR + INPUTFILE_VAR = osp.abspath(path) + stream_manager.add( name=path, mode=self.mode, diff --git a/test/test_files.py b/test/test_files.py index 46e4b1b34c..7c79e96911 100644 --- a/test/test_files.py +++ b/test/test_files.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from .helper import check_evaluation +from .helper import check_evaluation, session from mathics.core.parser import parse, MathicsSingleLineFeeder from mathics.core.definitions import Definitions from mathics.core.evaluation import Evaluation @@ -11,11 +11,20 @@ evaluation = Evaluation(definitions=definitions, catch_interrupt=False) + + def _evaluate(str_expression): expr = parse(definitions, MathicsSingleLineFeeder(str_expression)) return expr.evaluate(evaluation) +def test_put_and_get_and_InputFileName(): + check_evaluation('Put[HoldForm[$InputFileName], $TemporaryDirectory<>"/getme.m"]', 'Null') + check_evaluation('Get[$TemporaryDirectory<>"/getme.m"]', '$TemporaryDirectory<>"/getme.m"') + + + + def test_compress(): for text in ("", "abc", " "): str_expr = f'Uncompress[Compress["{text}"]]'