aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test/core_ext')
-rw-r--r--activesupport/test/core_ext/boolean_ext_test.rb9
-rw-r--r--activesupport/test/core_ext/nil_ext_test.rb5
-rw-r--r--activesupport/test/core_ext/object_ext_test.rb6
-rw-r--r--activesupport/test/core_ext/regexp_ext_test.rb26
4 files changed, 46 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/boolean_ext_test.rb b/activesupport/test/core_ext/boolean_ext_test.rb
new file mode 100644
index 0000000000..751f703745
--- /dev/null
+++ b/activesupport/test/core_ext/boolean_ext_test.rb
@@ -0,0 +1,9 @@
+class BooleanExtAccessTests < Test::Unit::TestCase
+ def test_to_param_on_true
+ assert_equal true, true.to_param
+ end
+
+ def test_to_param_on_false
+ assert_equal false, false.to_param
+ end
+end \ No newline at end of file
diff --git a/activesupport/test/core_ext/nil_ext_test.rb b/activesupport/test/core_ext/nil_ext_test.rb
new file mode 100644
index 0000000000..945d3af239
--- /dev/null
+++ b/activesupport/test/core_ext/nil_ext_test.rb
@@ -0,0 +1,5 @@
+class NilExtAccessTests < Test::Unit::TestCase
+ def test_to_param
+ assert_nil nil.to_param
+ end
+end \ No newline at end of file
diff --git a/activesupport/test/core_ext/object_ext_test.rb b/activesupport/test/core_ext/object_ext_test.rb
index a413d331c4..72e3bffa4c 100644
--- a/activesupport/test/core_ext/object_ext_test.rb
+++ b/activesupport/test/core_ext/object_ext_test.rb
@@ -5,4 +5,10 @@ class ObjectExtTest < Test::Unit::TestCase
foo = Object.new
assert_equal foo, foo.tap { |x| assert_equal foo, x; :bar }
end
+
+ def test_to_param
+ foo = Object.new
+ foo.class_eval("def to_s; 'foo'; end")
+ assert_equal 'foo', foo.to_param
+ end
end
diff --git a/activesupport/test/core_ext/regexp_ext_test.rb b/activesupport/test/core_ext/regexp_ext_test.rb
new file mode 100644
index 0000000000..f71099856d
--- /dev/null
+++ b/activesupport/test/core_ext/regexp_ext_test.rb
@@ -0,0 +1,26 @@
+class RegexpExtAccessTests < Test::Unit::TestCase
+ def test_number_of_captures
+ assert_equal 0, //.number_of_captures
+ assert_equal 1, /.(.)./.number_of_captures
+ assert_equal 2, /.(.).(?:.).(.)/.number_of_captures
+ assert_equal 3, /.((.).(?:.).(.))/.number_of_captures
+ end
+
+ def test_multiline
+ assert //m.multiline?
+ assert ! //.multiline?
+ assert ! /(?m:)/.multiline?
+ end
+
+ def test_optionalize
+ assert "a?", Regexp.optionalize("a")
+ assert "(?:foo)?", Regexp.optionalize("foo")
+ assert "", Regexp.optionalize("")
+ end
+
+ def test_unoptionalize
+ assert "a", Regexp.unoptionalize("a?")
+ assert "foo", Regexp.unoptionalize("(?:foo)")
+ assert "", Regexp.unoptionalize("")
+ end
+end \ No newline at end of file