From 393fa89672b01185747fbb06715935b3cdb956e4 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Tue, 27 Jan 2009 14:41:42 -0500 Subject: [PATCH] Two new tests related to the BUGS file. No sav yet. --- tests/base_closure_raf.nit | 57 +++++++++++++++++++++++++++++++++++++++++ tests/base_primitive_null.nit | 56 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 tests/base_closure_raf.nit create mode 100644 tests/base_primitive_null.nit diff --git a/tests/base_closure_raf.nit b/tests/base_closure_raf.nit new file mode 100644 index 0000000..01e49c0 --- /dev/null +++ b/tests/base_closure_raf.nit @@ -0,0 +1,57 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Copyright 2009 Jean Privat +# +# 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 base_closure2 + +class B +special A + redef meth foo + with bar(i: Int) #!alt13# #!alt14# #!alt15# + #alt13# with bar + #alt14# with bar(b: Bool) + #alt15# with bar(i: Int): Int + do + 10.output + bar(20) #!alt1# + #alt2#bar + #alt12#bar('x') + #alt3#var x = bar(2) + 40.output + end +end + +meth work2 +do + var a: A = new B + a.foo with x do #!alt11# + #alt11#a.foo with do + x.output + #alt4#break + #alt5#break 'x' + #alt6#continue + #alt7#continue 'x' + #alt8#return + #alt9#return 'x' + (x+1).output + end + #alt10# a.foo + 5.output +end + +0.output +work2 +6.output + diff --git a/tests/base_primitive_null.nit b/tests/base_primitive_null.nit new file mode 100644 index 0000000..667a212 --- /dev/null +++ b/tests/base_primitive_null.nit @@ -0,0 +1,56 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Copyright 2009 Jean Privat +# +# 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 kernel + +class A + attr _i: Int + attr _b: Bool + attr _c: Char + + init + do + var o: Object + 'I'.output + '\n'.output + (_i == null).output + (not _i == 0).output + o = _i + (o == null).output + (not o == 0).output + #alt1#_i.output + + 'B'.output + '\n'.output + (_b == null).output + (not _b == false).output + o = _b + (o == null).output + (not o == false).output + #alt2#_b.output + + 'C'.output + '\n'.output + (_c == null).output + (not _c == '\0').output + o = _c + (o == null).output + (not o == '\0').output + #alt3#_c.ascii.output + end +end + +var a = new A -- 1.7.9.5