aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/dbm/test_dbm.rb31
-rw-r--r--test/gdbm/test_gdbm.rb7
2 files changed, 38 insertions, 0 deletions
diff --git a/test/dbm/test_dbm.rb b/test/dbm/test_dbm.rb
new file mode 100644
index 0000000000..f9198903a3
--- /dev/null
+++ b/test/dbm/test_dbm.rb
@@ -0,0 +1,31 @@
+require 'test/unit/testsuite'
+require 'test/unit/testcase'
+
+begin
+ require 'dbm'
+rescue LoadError
+end
+
+if defined? DBM
+ require 'tmpdir'
+ require 'fileutils'
+
+ class TestDBM < Test::Unit::TestCase
+ TMPROOT = "#{Dir.tmpdir}/ruby-gdbm.#{$$}"
+
+ def setup
+ Dir.mkdir TMPROOT
+ end
+
+ def teardown
+ FileUtils.rm_rf TMPROOT if File.directory?(TMPROOT)
+ end
+
+ def test_freeze
+ DBM.open("#{TMPROOT}/a.dbm") {|d|
+ d.freeze
+ assert_raises(TypeError) { d["k"] = "v" }
+ }
+ end
+ end
+end
diff --git a/test/gdbm/test_gdbm.rb b/test/gdbm/test_gdbm.rb
index a4bddfe078..ca0110cd91 100644
--- a/test/gdbm/test_gdbm.rb
+++ b/test/gdbm/test_gdbm.rb
@@ -29,5 +29,12 @@ if defined? GDBM
}
assert(v)
end
+
+ def test_freeze
+ GDBM.open("#{TMPROOT}/a.dbm") {|d|
+ d.freeze
+ assert_raises(TypeError) { d["k"] = "v" }
+ }
+ end
end
end