aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
diff options
context:
space:
mode:
authorMichael Koziarski <michael@koziarski.com>2007-08-05 00:48:00 +0000
committerMichael Koziarski <michael@koziarski.com>2007-08-05 00:48:00 +0000
commitfe3e03e7708c576d5b09fb161e68d715796eae67 (patch)
treea6f276261009c7b503ef268190231aeccd3e240f /activesupport/test
parent4b6411008675dbbfb7da4dfb6ef73c5528c196d1 (diff)
downloadrails-fe3e03e7708c576d5b09fb161e68d715796eae67.tar.gz
rails-fe3e03e7708c576d5b09fb161e68d715796eae67.tar.bz2
rails-fe3e03e7708c576d5b09fb161e68d715796eae67.zip
Add ljust, rjust and center to utf8-handler. Closes #9165 [manfred]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7272 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/test')
-rw-r--r--activesupport/test/multibyte_handler_test.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/activesupport/test/multibyte_handler_test.rb b/activesupport/test/multibyte_handler_test.rb
index e4744def6c..9905cf65d6 100644
--- a/activesupport/test/multibyte_handler_test.rb
+++ b/activesupport/test/multibyte_handler_test.rb
@@ -233,6 +233,57 @@ module UTF8HandlingTest
assert_equal "Κλη αααα!", s
end
+ def test_rjust
+ s = "Καη"
+ assert_raises(ArgumentError) { @handler.rjust(s, 10, '') }
+ assert_raises(ArgumentError) { @handler.rjust(s) }
+ assert_equal "Καη", @handler.rjust(s, -3)
+ assert_equal "Καη", @handler.rjust(s, 0)
+ assert_equal "Καη", @handler.rjust(s, 3)
+ assert_equal " Καη", @handler.rjust(s, 5)
+ assert_equal " Καη", @handler.rjust(s, 7)
+ assert_equal "----Καη", @handler.rjust(s, 7, '-')
+ assert_equal "ααααΚαη", @handler.rjust(s, 7, 'α')
+ assert_equal "abaΚαη", @handler.rjust(s, 6, 'ab')
+ assert_equal "αηαΚαη", @handler.rjust(s, 6, 'αη')
+ end
+
+ def test_ljust
+ s = "Καη"
+ assert_raises(ArgumentError) { @handler.ljust(s, 10, '') }
+ assert_raises(ArgumentError) { @handler.ljust(s) }
+ assert_equal "Καη", @handler.ljust(s, -3)
+ assert_equal "Καη", @handler.ljust(s, 0)
+ assert_equal "Καη", @handler.ljust(s, 3)
+ assert_equal "Καη ", @handler.ljust(s, 5)
+ assert_equal "Καη ", @handler.ljust(s, 7)
+ assert_equal "Καη----", @handler.ljust(s, 7, '-')
+ assert_equal "Καηαααα", @handler.ljust(s, 7, 'α')
+ assert_equal "Καηaba", @handler.ljust(s, 6, 'ab')
+ assert_equal "Καηαηα", @handler.ljust(s, 6, 'αη')
+ end
+
+ def test_center
+ s = "Καη"
+ assert_raises(ArgumentError) { @handler.center(s, 10, '') }
+ assert_raises(ArgumentError) { @handler.center(s) }
+ assert_equal "Καη", @handler.center(s, -3)
+ assert_equal "Καη", @handler.center(s, 0)
+ assert_equal "Καη", @handler.center(s, 3)
+ assert_equal "Καη ", @handler.center(s, 4)
+ assert_equal " Καη ", @handler.center(s, 5)
+ assert_equal " Καη ", @handler.center(s, 6)
+ assert_equal "--Καη--", @handler.center(s, 7, '-')
+ assert_equal "--Καη---", @handler.center(s, 8, '-')
+ assert_equal "ααΚαηαα", @handler.center(s, 7, 'α')
+ assert_equal "ααΚαηααα", @handler.center(s, 8, 'α')
+ assert_equal "aΚαηab", @handler.center(s, 6, 'ab')
+ assert_equal "abΚαηab", @handler.center(s, 7, 'ab')
+ assert_equal "ababΚαηabab", @handler.center(s, 11, 'ab')
+ assert_equal "αΚαηαη", @handler.center(s, 6, 'αη')
+ assert_equal "αηΚαηαη", @handler.center(s, 7, 'αη')
+ end
+
def test_strip
# A unicode aware version of strip should strip all 26 types of whitespace. This includes the NO BREAK SPACE
# aka BOM (byte order mark). The byte order mark has no place in UTF-8 because it's used to detect LE and BE.