Files
news.gitea.happylizard.me/bin/gems/hashery-2.1.2/test/case_open_hash.rb
T
pizza2d1 4cee170d66
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s
Add bin and edit workflow
2026-09-16 13:11:16 -06:00

88 lines
1.4 KiB
Ruby

require 'helper'
testcase OpenHash do
class_method :[] do
test do
o = OpenHash[:a=>1, :b=>2]
o.a.assert == 1
o.b.assert == 2
end
test do
o = OpenHash[:a=>1, :b=>2]
o.a.assert == 1
o.b.assert == 2
end
end
method :open? do
test do
o = OpenHash[:a=>1, :b=>2]
o.assert.open?(:foo)
o.refute.open?(:each)
end
end
method :open! do
test do
o = OpenHash[:a=>1, :b=>2]
o.open!(:each)
o.assert.open?(:each)
o.each = 10
o.each.assert == 10
end
end
method :close! do
test do
o = OpenHash[:a=>1, :b=>2]
o.open!(:each)
o.assert.open?(:each)
o.each = 10
o.each.assert == 10
o.close!(:each)
o.each.refute == 10
end
end
method :method_missing do
test 'bang method' do
o = OpenHash[]
o.open!(:each)
o.each = 10
o.each.assert == 10
a = []
o.each! do |k,v|
a << [k,v]
end
a.assert == [[:each,10]]
end
test 'query method' do
o = OpenHash[]
o.a = 1
o.assert.a?
o.refute.b?
end
end
method :send do
test do
o = OpenHash[]
o.open!(:each)
o.each = 10
o.each.assert == 10
a = []
o.send(:each) do |k,v|
a << [k,v]
end
a.assert == [[:each,10]]
end
end
end