Sha256: 9855377c3e1a7914706779027be16be5805e0053d24e3365f04df4e312b06917

Contents?: true

Size: 1.03 KB

Versions: 5

Compression:

Stored size: 1.03 KB

Contents

require 'helper'

describe "YAML" do
  it "autoloads classes" do
    expect {
      yaml = "--- !ruby/class Autoloaded::Clazz\n"
      expect(YAML.load(yaml)).to eq(Autoloaded::Clazz)
    }.not_to raise_error
  end

  it "autoloads the class of a struct" do
    expect {
      yaml = "--- !ruby/class Autoloaded::Struct\n"
      expect(YAML.load(yaml)).to eq(Autoloaded::Struct)
    }.not_to raise_error
  end

  it "autoloads the class for the instance of a struct" do
    expect {
      yaml = "--- !ruby/struct:Autoloaded::InstanceStruct {}"
      expect(YAML.load(yaml).class).to eq(Autoloaded::InstanceStruct)
    }.not_to raise_error
  end

  it "autoloads the class for the instance" do
    expect {
      yaml = "--- !ruby/object:Autoloaded::InstanceClazz {}\n"
      expect(YAML.load(yaml).class).to eq(Autoloaded::InstanceClazz)
    }.not_to raise_error
  end

  it "does not throw an uninitialized constant Syck::Syck when using YAML.load with poorly formed yaml" do
    expect{ YAML.load(YAML.dump("foo: *bar"))}.not_to raise_error
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
delayed_job-4.0.2 spec/yaml_ext_spec.rb
delayed_job-4.0.1 spec/yaml_ext_spec.rb
delayed_job-4.0.0 spec/yaml_ext_spec.rb
delayed_job-4.0.0.beta2 spec/yaml_ext_spec.rb
delayed_job-4.0.0.beta1 spec/yaml_ext_spec.rb