提交 6ef1079e 编写于 作者: B Brian Cardarella

Reset @dirty to false when slicing an instance of SafeBuffer

上级 270fa63e
......@@ -86,6 +86,12 @@ def initialize
end
end
def[](*args)
new_safe_buffer = super
new_safe_buffer.instance_eval { @dirty = false }
new_safe_buffer
end
def safe_concat(value)
raise SafeConcatError if dirty?
original_concat(value)
......
......@@ -106,4 +106,10 @@ def setup
test "should not fail if the returned object is not a string" do
assert_kind_of NilClass, @buffer.slice("chipchop")
end
test "Should initialize @dirty to false for new instance when sliced" do
dirty = @buffer[0,0].send(:dirty?)
assert_not_nil dirty
assert !dirty
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册