From 4c765221b29c589c9aea8ef38562694513323bfa Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Wed, 22 Jul 2009 23:03:18 -0400 Subject: [PATCH] tests: new base_vararg, remove test_star Signed-off-by: Jean Privat --- tests/base_vararg.nit | 66 ++++++++++++++++++++++++++++++++++++++++ tests/sav/base_vararg.sav | 8 +++++ tests/sav/base_vararg_alt1.sav | 1 + tests/sav/base_vararg_alt2.sav | 1 + tests/sav/base_vararg_alt3.sav | 1 + tests/sav/base_vararg_alt4.sav | 1 + tests/sav/base_vararg_alt5.sav | 1 + tests/sav/base_vararg_alt6.sav | 1 + tests/sav/base_vararg_alt7.sav | 1 + tests/sav/base_vararg_alt8.sav | 1 + tests/sav/test_star.sav | 8 ----- tests/test_star.nit | 44 --------------------------- 12 files changed, 82 insertions(+), 52 deletions(-) create mode 100644 tests/base_vararg.nit create mode 100644 tests/sav/base_vararg.sav create mode 100644 tests/sav/base_vararg_alt1.sav create mode 100644 tests/sav/base_vararg_alt2.sav create mode 100644 tests/sav/base_vararg_alt3.sav create mode 100644 tests/sav/base_vararg_alt4.sav create mode 100644 tests/sav/base_vararg_alt5.sav create mode 100644 tests/sav/base_vararg_alt6.sav create mode 100644 tests/sav/base_vararg_alt7.sav create mode 100644 tests/sav/base_vararg_alt8.sav delete mode 100644 tests/sav/test_star.sav delete mode 100644 tests/test_star.nit diff --git a/tests/base_vararg.nit b/tests/base_vararg.nit new file mode 100644 index 0000000..67c5a63 --- /dev/null +++ b/tests/base_vararg.nit @@ -0,0 +1,66 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Copyright 2004-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 array + +fun foo(a: Char...) +do + for x in a do x.output + '\n'.output +end + +fun bar(b: Char, a: Char...) +do + b.output + ','.output + for x in a do x.output + '\n'.output +end + +fun baz(a: Char..., b: Char) +do + for x in a do x.output + ','.output + b.output + '\n'.output +end + +fun foobar(b: Char, a: Char..., c: Char) +do + b.output + ','.output + for x in a do x.output + ','.output + c.output + '\n'.output +end + +#alt1#foo +foo('1') +foo('1','2') +#alt2#bar +#alt3#bar('1') +bar('1','2') +bar('1','2','3') +#alt4#baz +#alt5#baz('1') +baz('1','2') +baz('1','2','3') +#alt6#foobar +#alt7#foobar('1') +#alt8#foobar('1','2') +foobar('1','2','3') +foobar('1','2','3','4') diff --git a/tests/sav/base_vararg.sav b/tests/sav/base_vararg.sav new file mode 100644 index 0000000..fe829c9 --- /dev/null +++ b/tests/sav/base_vararg.sav @@ -0,0 +1,8 @@ +1 +12 +1,2 +1,23 +1,2 +12,3 +1,2,3 +1,23,4 diff --git a/tests/sav/base_vararg_alt1.sav b/tests/sav/base_vararg_alt1.sav new file mode 100644 index 0000000..40af9db --- /dev/null +++ b/tests/sav/base_vararg_alt1.sav @@ -0,0 +1 @@ +alt/base_vararg_alt1.nit:51,1--3: Error: 'foo' arity missmatch. diff --git a/tests/sav/base_vararg_alt2.sav b/tests/sav/base_vararg_alt2.sav new file mode 100644 index 0000000..fc8b14f --- /dev/null +++ b/tests/sav/base_vararg_alt2.sav @@ -0,0 +1 @@ +alt/base_vararg_alt2.nit:54,1--3: Error: 'bar' arity missmatch. diff --git a/tests/sav/base_vararg_alt3.sav b/tests/sav/base_vararg_alt3.sav new file mode 100644 index 0000000..7a7fbfe --- /dev/null +++ b/tests/sav/base_vararg_alt3.sav @@ -0,0 +1 @@ +alt/base_vararg_alt3.nit:55,1--7: Error: 'bar' arity missmatch. diff --git a/tests/sav/base_vararg_alt4.sav b/tests/sav/base_vararg_alt4.sav new file mode 100644 index 0000000..7858a66 --- /dev/null +++ b/tests/sav/base_vararg_alt4.sav @@ -0,0 +1 @@ +alt/base_vararg_alt4.nit:58,1--3: Error: 'baz' arity missmatch. diff --git a/tests/sav/base_vararg_alt5.sav b/tests/sav/base_vararg_alt5.sav new file mode 100644 index 0000000..74bc803 --- /dev/null +++ b/tests/sav/base_vararg_alt5.sav @@ -0,0 +1 @@ +alt/base_vararg_alt5.nit:59,1--7: Error: 'baz' arity missmatch. diff --git a/tests/sav/base_vararg_alt6.sav b/tests/sav/base_vararg_alt6.sav new file mode 100644 index 0000000..04f59cc --- /dev/null +++ b/tests/sav/base_vararg_alt6.sav @@ -0,0 +1 @@ +alt/base_vararg_alt6.nit:62,1--6: Error: 'foobar' arity missmatch. diff --git a/tests/sav/base_vararg_alt7.sav b/tests/sav/base_vararg_alt7.sav new file mode 100644 index 0000000..2e037d4 --- /dev/null +++ b/tests/sav/base_vararg_alt7.sav @@ -0,0 +1 @@ +alt/base_vararg_alt7.nit:63,1--10: Error: 'foobar' arity missmatch. diff --git a/tests/sav/base_vararg_alt8.sav b/tests/sav/base_vararg_alt8.sav new file mode 100644 index 0000000..aca986c --- /dev/null +++ b/tests/sav/base_vararg_alt8.sav @@ -0,0 +1 @@ +alt/base_vararg_alt8.nit:64,1--14: Error: 'foobar' arity missmatch. diff --git a/tests/sav/test_star.sav b/tests/sav/test_star.sav deleted file mode 100644 index 8e1756f..0000000 --- a/tests/sav/test_star.sav +++ /dev/null @@ -1,8 +0,0 @@ -1 -12 -1, 2 -1, 23 -1, 2 -12, 3 -3, 2, 1 -4, 23, 1 diff --git a/tests/test_star.nit b/tests/test_star.nit deleted file mode 100644 index c6dfc74..0000000 --- a/tests/test_star.nit +++ /dev/null @@ -1,44 +0,0 @@ -# This file is part of NIT ( http://www.nitlanguage.org ). -# -# Copyright 2004-2008 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. - -fun foo(a: Int...) - do - print(a) - end - -fun bar(b: Int, a: Int...) - do - print("{b}, {a}") - end - -fun baz(a: Int..., b: Int) - do - print("{a}, {b}") - end - -fun foobar(b: Int, a: Int..., c: Int) - do - print("{c}, {a}, {b}") - end - -foo(1) -foo(1,2) -bar(1,2) -bar(1,2,3) -baz(1,2) -baz(1,2,3) -foobar(1,2,3) -foobar(1,2,3,4) -- 1.7.9.5