misc_rbtools/koans/versioning_spec.rb

29 lines
739 B
Ruby

def version_ints(version)
version.split(".").map { |v| v.to_i }
end
def at_least_ruby_version(version)
vints = version_ints(version)
ruby_vints = version_ints(RUBY_VERSION)
vints.zip(ruby_vints).all? { |v, rv| v.nil? || rv.nil? || v >= rv }
end
require 'rspec/given'
describe "#version_ints" do
Then { version_ints("1.2") == [1, 2] }
Then { version_ints("2.1.20") == [2, 1, 20] }
end
describe "at_least_ruby_version" do
Then { at_least_ruby_version("2") }
Then { at_least_ruby_version("2.0") }
Then { at_least_ruby_version("2.0.1") }
Then { at_least_ruby_version("2.1") }
Then { at_least_ruby_version("2.1.3.4.1") }
Then { ! at_least_ruby_version("1.9") }
Then { ! at_least_ruby_version("1.9.9.9.9") }
end