Sha256: 1d02a1913370affd10cf5208791e7aefb3c78fee85b6fc660e2ece556e07d27e

Contents?: true

Size: 1.2 KB

Versions: 104

Compression:

Stored size: 1.2 KB

Contents

require File.join(File.dirname(__FILE__), "..", "spec_helper")

describe SafeYAML::Transform::ToFloat do
  it "returns true when the value matches a valid Float" do
    subject.transform?("20.00").should == [true, 20.0]
  end

  it "returns false when the value does not match a valid Float" do
    subject.transform?("foobar").should be_false
  end

  it "returns false when the value spans multiple lines" do
    subject.transform?("20.00\nNOT A FLOAT").should be_false
  end

  it "correctly parses all formats in the YAML spec" do
    # canonical
    subject.transform?("6.8523015e+5").should == [true, 685230.15]

    # exponentioal
    subject.transform?("685.230_15e+03").should == [true, 685230.15]

    # fixed
    subject.transform?("685_230.15").should == [true, 685230.15]

    # sexagesimal
    subject.transform?("190:20:30.15").should == [true, 685230.15]

    # infinity
    subject.transform?("-.inf").should == [true, (-1.0 / 0.0)]

    # not a number
    # NOTE: can't use == here since NaN != NaN
    success, result = subject.transform?(".NaN")
    success.should be_true; result.should be_nan
  end

  # issue 29
  it "returns false for the string '.'" do
    subject.transform?(".").should be_false
  end
end

Version data entries

104 entries across 104 versions & 3 rubygems

Version Path
puppet-retrospec-0.12.2 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.7 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.7-x86-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.7-x64-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.6 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.6-x86-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-retrospec-0.12.1 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.6-x64-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-retrospec-0.12.0 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.5 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.5-x86-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.5-x64-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.4 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.4-x86-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-3.8.4-x64-mingw32 lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-retrospec-0.11.0 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-retrospec-0.10.0 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-retrospec-0.9.1 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-retrospec-0.9.0 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb
puppet-retrospec-0.8.1 vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb