From 040af7253a1f4ebc6b22cfd5029fc20cbdf35cbd Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Tue, 25 Apr 2017 12:40:24 -0400 Subject: [PATCH] tests: add test_catch_runtime Signed-off-by: Jean Privat --- tests/sav/test_catch_runtime.res | 14 +++++++ tests/test_catch_runtime.nit | 83 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 tests/sav/test_catch_runtime.res create mode 100644 tests/test_catch_runtime.nit diff --git a/tests/sav/test_catch_runtime.res b/tests/sav/test_catch_runtime.res new file mode 100644 index 0000000..0698165 --- /dev/null +++ b/tests/sav/test_catch_runtime.res @@ -0,0 +1,14 @@ +1 +1 +2 +2 +3 +3 +4 +4 +5 +5 +6 +6 +7 +7 diff --git a/tests/test_catch_runtime.nit b/tests/test_catch_runtime.nit new file mode 100644 index 0000000..6c676a7 --- /dev/null +++ b/tests/test_catch_runtime.nit @@ -0,0 +1,83 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import core::kernel + +fun foo is abstract +fun bar is intern + +class A + var a: A is noautoinit + fun foo do 0.output +end + +var a = new A +var n: nullable A = null +var o: Object = 1 + +do + 1.output + if true then abort + 666.output +catch + 1.output +end + +do + 2.output + n.foo + 666.output +catch + 2.output +end + +do + 3.output + foo + 666.output +catch + 3.output +end + +do + 4.output + assert false + 666.output +catch + 4.output +end + +do + 5.output + o.as(A).foo + 666.output +catch + 5.output +end + +do + 6.output + a.a.foo + 666.output +catch + 6.output +end + +do + 7.output + bar + 666.output +catch + 7.output +end -- 1.7.9.5