From 7139831dae25a54ec3e3cba1a3c6b4042c2db3ec Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 8 Apr 2019 13:45:51 -0500 Subject: [PATCH] Test typechecker edge cases --- lib/dhall/builtins.rb | 2 +- test/test_typechecker.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/dhall/builtins.rb b/lib/dhall/builtins.rb index 3d9f571..c99f262 100644 --- a/lib/dhall/builtins.rb +++ b/lib/dhall/builtins.rb @@ -27,7 +27,7 @@ module Dhall if (unfilled = unfill).class != self.class unfilled.as_json else - self.class.name.split(/::/).last.tr("_", "/") + self.class.name&.split(/::/)&.last&.tr("_", "/").to_s end end diff --git a/test/test_typechecker.rb b/test/test_typechecker.rb index 83c785c..2f3e0ac 100644 --- a/test/test_typechecker.rb +++ b/test/test_typechecker.rb @@ -90,4 +90,20 @@ class TestTypechecker < Minitest::Test ).annotate(context).type ) end + + def test_unknown_expression + assert_raises TypeError do + Dhall::TypeChecker.for(Class.new.new).annotate( + Dhall::TypeChecker::Context.new + ) + end + end + + def test_unknown_builtin + assert_raises TypeError do + Dhall::TypeChecker.for(Class.new(Dhall::Builtin).new).annotate( + Dhall::TypeChecker::Context.new + ) + end + end end -- 2.34.5