From: Jean Privat Date: Tue, 16 Jun 2015 17:20:54 +0000 (-0400) Subject: tests: add base_dead_code X-Git-Tag: v0.7.6~34^2 X-Git-Url: http://nitlanguage.org tests: add base_dead_code Signed-off-by: Jean Privat --- 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