summaryrefslogtreecommitdiff
path: root/spec/ruby/library/openstruct/delete_field_spec.rb
blob: 9ac80196cc69333a7fba12396ff3afaa59af59b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require_relative '../../spec_helper'
require 'ostruct'

describe "OpenStruct#delete_field" do
  before :each do
    @os = OpenStruct.new(name: "John Smith", age: 70, pension: 300)
  end

  it "removes the named field from self's method/value table" do
    @os.delete_field(:name)
    @os[:name].should be_nil
  end

  it "does remove the accessor methods" do
    @os.delete_field(:name)
    @os.respond_to?(:name).should be_false
    @os.respond_to?(:name=).should be_false
  end
end