summaryrefslogtreecommitdiff
path: root/tools/repl_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/repl_test.py')
-rw-r--r--tools/repl_test.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/tools/repl_test.py b/tools/repl_test.py
index 870824661..544dd6a7e 100644
--- a/tools/repl_test.py
+++ b/tools/repl_test.py
@@ -58,7 +58,8 @@ class TestRepl(DenoTestCase):
def test_help_command(self):
out, err, code = self.input("help")
expectedOut = '\n'.join([
- "_ Print last execution output",
+ "_ Get last evaluation result",
+ "_error Get last thrown error",
"exit Exit the REPL",
"help Print this help message",
"",
@@ -151,12 +152,32 @@ class TestRepl(DenoTestCase):
self.assertTrue(err.startswith("Unable to save REPL history:"))
self.assertEqual(code, 0)
- def test_save_last_output(self):
+ def test_save_last_eval(self):
out, err, code = self.input("1", "_")
self.assertEqual(out, '1\n1\n')
self.assertEqual(err, '')
self.assertEqual(code, 0)
+ def test_save_last_thrown(self):
+ out, err, code = self.input("throw 1", "_error")
+ self.assertEqual(out, '1\n')
+ self.assertEqual(err, 'Thrown: 1\n')
+ self.assertEqual(code, 0)
+
+ def test_assign_underscore(self):
+ out, err, code = self.input("_ = 1", "2", "_")
+ self.assertEqual(
+ out, 'Last evaluation result is no longer saved to _.\n1\n2\n1\n')
+ self.assertEqual(err, '')
+ self.assertEqual(code, 0)
+
+ def test_assign_underscore_error(self):
+ out, err, code = self.input("_error = 1", "throw 2", "_error")
+ self.assertEqual(
+ out, 'Last thrown error is no longer saved to _error.\n1\n1\n')
+ self.assertEqual(err, 'Thrown: 2\n')
+ self.assertEqual(code, 0)
+
if __name__ == "__main__":
run_tests()