From 12ee2cdeaae2b4e1d96c94c4901aa3d24bd88813 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Tue, 16 Jun 2015 13:20:54 -0400 Subject: [PATCH] tests: add base_dead_code Signed-off-by: Jean Privat --- tests/base_dead_code.nit | 39 +++++++++++++++++++++++++++++++ tests/sav/base_dead_code.res | 2 ++ tests/sav/base_dead_code_alt1.res | 6 +++++ tests/sav/base_dead_code_alt2.res | 5 ++++ tests/sav/nitce/base_dead_code_alt1.res | 6 +++++ 5 files changed, 58 insertions(+) create mode 100644 tests/base_dead_code.nit create mode 100644 tests/sav/base_dead_code.res create mode 100644 tests/sav/base_dead_code_alt1.res create mode 100644 tests/sav/base_dead_code_alt2.res create mode 100644 tests/sav/nitce/base_dead_code_alt1.res diff --git a/tests/base_dead_code.nit b/tests/base_dead_code.nit new file mode 100644 index 0000000..25f6d9e --- /dev/null +++ b/tests/base_dead_code.nit @@ -0,0 +1,39 @@ +# 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. + +0.output +var x = null +for i in [0..2[ do + if x != null then + # This is dead code + x.output + x.first.output + x.as(String).output + x.as not null.output + true.output + false.output + 1.output + 1u8.output + '1'.output + "1".output + [1].output + [0..1].output + for j in x do j.output + x = x.as(String) + assert x isa String + end + #alt1#x = [1] + #alt2#x = 1 +end +1.output diff --git a/tests/sav/base_dead_code.res b/tests/sav/base_dead_code.res new file mode 100644 index 0000000..0d66ea1 --- /dev/null +++ b/tests/sav/base_dead_code.res @@ -0,0 +1,2 @@ +0 +1 diff --git a/tests/sav/base_dead_code_alt1.res b/tests/sav/base_dead_code_alt1.res new file mode 100644 index 0000000..a1a33da --- /dev/null +++ b/tests/sav/base_dead_code_alt1.res @@ -0,0 +1,6 @@ +alt/base_dead_code_alt1.nit:23,3: Warning: expression is not null, since it is a `Array[Int]`. +alt/base_dead_code_alt1.nit:34,10--21: Warning: expression is already a `String`. +Runtime error: Cast failed. Expected `String`, got `Array[Int]` (alt/base_dead_code_alt1.nit:22) +0 +1 +1 diff --git a/tests/sav/base_dead_code_alt2.res b/tests/sav/base_dead_code_alt2.res new file mode 100644 index 0000000..1537f14 --- /dev/null +++ b/tests/sav/base_dead_code_alt2.res @@ -0,0 +1,5 @@ +alt/base_dead_code_alt2.nit:21,5--9: Error: method `first` does not exists in `Int`. +alt/base_dead_code_alt2.nit:23,3: Warning: expression is not null, since it is a `Int`. +alt/base_dead_code_alt2.nit:32,3--24: Error: method `iterator` does not exists in `Int`. +alt/base_dead_code_alt2.nit:32,3--24: Type Error: `for` expects a type providing an `iterator` method, got `Int`. +alt/base_dead_code_alt2.nit:34,10--21: Warning: expression is already a `String`. diff --git a/tests/sav/nitce/base_dead_code_alt1.res b/tests/sav/nitce/base_dead_code_alt1.res new file mode 100644 index 0000000..4248087 --- /dev/null +++ b/tests/sav/nitce/base_dead_code_alt1.res @@ -0,0 +1,6 @@ +alt/base_dead_code_alt1.nit:23,3: Warning: expression is not null, since it is a `Array[Int]`. +alt/base_dead_code_alt1.nit:34,10--21: Warning: expression is already a `String`. +Runtime error: Cast failed. Expected `String`, got `Array` (alt/base_dead_code_alt1.nit:22) +0 +1 +1 -- 1.7.9.5