From 20ad46bcd39964a032ad24c61f5fe21fb5b1a375 Mon Sep 17 00:00:00 2001 From: Lucas Bajolet Date: Fri, 2 May 2014 15:53:53 -0400 Subject: [PATCH] lib/standard/string: Added implementations for to_upper and to_lower on FlatBuffer Signed-off-by: Lucas Bajolet --- lib/standard/string.nit | 18 ++++++++++++++++++ tests/test_to_upper_lower.nit | 26 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tests/sav/test_to_upper_lower.res create mode 100644 tests/sav/test_to_upper_lower_alt1.res create mode 100644 tests/test_to_upper_lower.nit diff --git a/lib/standard/string.nit b/lib/standard/string.nit index 638efff..d09aadc 100644 --- a/lib/standard/string.nit +++ b/lib/standard/string.nit @@ -1177,6 +1177,24 @@ class FlatBuffer end return new_buf end + + redef fun to_upper + do + var new_buf = new FlatBuffer.with_capacity(self.length) + for i in self.chars do + new_buf.add(i.to_upper) + end + return new_buf + end + + redef fun to_lower + do + var new_buf = new FlatBuffer.with_capacity(self.length) + for i in self.chars do + new_buf.add(i.to_lower) + end + return new_buf + end end private class FlatBufferReverseIterator diff --git a/tests/sav/test_to_upper_lower.res b/tests/sav/test_to_upper_lower.res new file mode 100644 index 0000000..e69de29 diff --git a/tests/sav/test_to_upper_lower_alt1.res b/tests/sav/test_to_upper_lower_alt1.res new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_to_upper_lower.nit b/tests/test_to_upper_lower.nit new file mode 100644 index 0000000..4a237ef --- /dev/null +++ b/tests/test_to_upper_lower.nit @@ -0,0 +1,26 @@ +# 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. + +var x: Text +var y: Text + +x = "test" +y = "TEST" + +#alt1 x = new FlatBuffer.from("test") +#alt1 y = new FlatBuffer.from("TEST") + +assert x.to_upper == y +assert y.to_lower == x + -- 1.7.9.5