Hello community,
here is the log from the commit of package rubygem-semantic_puppet for
openSUSE:Factory checked in at 2016-09-21 18:46:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-semantic_puppet (Old)
and /work/SRC/openSUSE:Factory/.rubygem-semantic_puppet.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-semantic_puppet"
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-semantic_puppet/rubygem-semantic_puppet.changes
2015-06-15 17:48:39.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-semantic_puppet.new/rubygem-semantic_puppet.changes
2016-09-21 18:46:49.000000000 +0200
@@ -1,0 +2,14 @@
+Sat Jul 30 09:02:50 UTC 2016 - [email protected]
+
+- Version bump 0.1.4:
+ - 0.1.4 - 2016-07-06
+ - Externalized all user-facing strings using gettext libraries to support
+ future localization.
+ - 0.1.3 - 2016-05-24
+ - Typesafe implementation of ModuleRelease#eql? (and ModuleRelease#==).
+ (PUP-6341)
+ - 0.1.2 - 2016-04-29
+ - Typesafe implementation of Version#eql? (and Version#==). (PUP-6249)
+ - Homepage URL in gemspec was incorrect. (fiddyspence)
+
+-------------------------------------------------------------------
Old:
----
semantic_puppet-0.1.1.gem
New:
----
semantic_puppet-0.1.4.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-semantic_puppet.spec ++++++
--- /var/tmp/diff_new_pack.lRDD43/_old 2016-09-21 18:46:50.000000000 +0200
+++ /var/tmp/diff_new_pack.lRDD43/_new 2016-09-21 18:46:50.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-semantic_puppet
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
#
Name: rubygem-semantic_puppet
-Version: 0.1.1
+Version: 0.1.4
Release: 0
%define mod_name semantic_puppet
%define mod_full_name %{mod_name}-%{version}
@@ -24,7 +24,7 @@
BuildRequires: ruby-macros >= 5
BuildRequires: %{ruby >= 1.8.7}
BuildRequires: %{rubygem gem2rpm}
-Url: https://github.com/puppetlabs/semantic_puppet-gem
+Url: https://github.com/puppetlabs/semantic_puppet
Source: http://rubygems.org/gems/%{mod_full_name}.gem
Summary: Useful tools for working with Semantic Versions
License: Apache-2.0
++++++ semantic_puppet-0.1.1.gem -> semantic_puppet-0.1.4.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore 2016-07-06 19:18:52.000000000 +0200
@@ -1,4 +1,9 @@
+.bundle
.rbenv-*
.yardoc
coverage
doc
+.idea/
+/.project
+Gemfile.lock
+locales/semantic_puppet.pot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 1970-01-01 01:00:00.000000000 +0100
+++ new/CHANGELOG.md 2016-07-06 19:18:52.000000000 +0200
@@ -2,9 +2,25 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
+## 0.1.4 - 2016-07-06
+### Changed
+- Externalized all user-facing strings using gettext libraries to support
future localization.
+
+## 0.1.3 - 2016-05-24
+### Added
+- Typesafe implementation of ModuleRelease#eql? (and ModuleRelease#==).
(PUP-6341)
+
+## 0.1.2 - 2016-04-29
+### Added
+- Typesafe implementation of Version#eql? (and Version#==). (PUP-6249)
+
+### Fixed
+- Homepage URL in gemspec was incorrect. (fiddyspence)
+
## 0.1.1 - 2015-04-01
### Added
- license information
+
### Removed
- template entry from CHANGELOG.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Gemfile new/Gemfile
--- old/Gemfile 1970-01-01 01:00:00.000000000 +0100
+++ new/Gemfile 2016-07-06 19:18:52.000000000 +0200
@@ -1,20 +1,3 @@
source "https://rubygems.org"
-group :development do
- gem 'rake'
- gem 'rubygems-tasks'
-end
-
-group :test do
- gem 'rspec'
-end
-
-group :metrics do
- gem 'cane', :platform => [ :mri_19, :mri_20, :mri_21 ]
- gem 'simplecov', :platform => [ :mri_19, :mri_20, :mri_21 ]
-end
-
-group :doc do
- gem 'yard', '~> 0.8', :platform => [ :mri_19, :mri_20, :mri_21 ]
- gem 'redcarpet', :platform => [ :mri_19, :mri_20, :mri_21 ]
-end
+gemspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Gemfile.lock new/Gemfile.lock
--- old/Gemfile.lock 1970-01-01 01:00:00.000000000 +0100
+++ new/Gemfile.lock 1970-01-01 01:00:00.000000000 +0100
@@ -1,38 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- cane (2.6.1)
- parallel
- diff-lcs (1.2.5)
- docile (1.1.1)
- multi_json (1.8.2)
- parallel (0.9.1)
- rake (10.1.0)
- redcarpet (3.0.0)
- rspec (2.14.1)
- rspec-core (~> 2.14.0)
- rspec-expectations (~> 2.14.0)
- rspec-mocks (~> 2.14.0)
- rspec-core (2.14.7)
- rspec-expectations (2.14.4)
- diff-lcs (>= 1.1.3, < 2.0)
- rspec-mocks (2.14.4)
- rubygems-tasks (0.2.4)
- simplecov (0.8.2)
- docile (~> 1.1.0)
- multi_json
- simplecov-html (~> 0.8.0)
- simplecov-html (0.8.0)
- yard (0.8.7.3)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- cane
- rake
- redcarpet
- rspec
- rubygems-tasks
- simplecov
- yard (~> 0.8)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 1970-01-01 01:00:00.000000000 +0100
+++ new/README.md 2016-07-06 19:18:52.000000000 +0200
@@ -57,8 +57,37 @@
documented at
[Publishing Modules on the Puppet
Forge](https://docs.puppetlabs.com/puppet/latest/reference/modules_publishing.html#dependencies-in-metadatajson).
+### i18n
+
+When adding new error or log messages please follow the instructions for
+[writing translatable
code](https://github.com/puppetlabs/gettext-setup-gem#writing-translatable-code).
+
+The SemanticPuppet gem will default to outputing all error messages in
English, but you may set the locale
+using the `FastGettext.set_locale` method. If translations do not exist for
the language you request then the gem will
+default to English. The `set_locale` method will return the locale, as a
string, that FastGettext will now
+use to report PuppetForge errors.
+
+``` ruby
+# Assuming the German translations exist, this will set the reporting language
+# to German
+
+locale = FastGettext.set_locale "de_DE"
+
+# If it successfully finds Germany's locale, locale will be "de_DE"
+# If it fails to find any German locale, locale will be "en"
+```
+
Contributors
------------
Pieter van de Bruggen wrote the library originally, with additions by Alex
Dreyer, Jesse Scott and Anderson Mills.
+
+## Maintenance
+
+Maintainers:
+
+* Jesse Scott, [email protected]
+* Anderson Mills, [email protected]
+
+Tickets: File at https://tickets.puppet.com/browse/FORGE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile 1970-01-01 01:00:00.000000000 +0100
+++ new/Rakefile 2016-07-06 19:18:52.000000000 +0200
@@ -50,20 +50,18 @@
warn "[Warning]: Could not load `cane`."
end
-# Gem tasks
+# Bundler tasks
begin
- require 'rubygems/tasks'
-
- task :gem => 'gem:build'
- task :validate => [ 'cane', 'doc', 'gem:validate' ]
+ require "bundler/gem_tasks"
+rescue LoadError
+ warn "[Warning]: Could not load `bundler/gem_tasks`."
+end
- namespace :gem do
- Gem::Tasks.new(
- :tag => { :format => 'v%s' },
- :sign => { :checksum => true, :pgp => true },
- :build => { :tar => true }
- )
- end
+# Gettext tasks
+begin
+ spec = Gem::Specification.find_by_name 'gettext-setup'
+ load "#{spec.gem_dir}/lib/tasks/gettext.rake"
+ GettextSetup.initialize(File.absolute_path('locales',
File.dirname(__FILE__)))
rescue LoadError
- warn "[Warning]: Could not load `rubygems/tasks`."
+ warn "[Warning]: Could not load gettext tasks."
end
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/semantic_puppet/dependency/module_release.rb
new/lib/semantic_puppet/dependency/module_release.rb
--- old/lib/semantic_puppet/dependency/module_release.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/lib/semantic_puppet/dependency/module_release.rb 2016-07-06
19:18:52.000000000 +0200
@@ -38,6 +38,18 @@
return our_key <=> their_key
end
+ def eql?(other)
+ other.is_a?(ModuleRelease) &&
+ @name.eql?(other.name) &&
+ @version.eql?(other.version) &&
+ dependencies.eql?(other.dependencies)
+ end
+ alias == eql?
+
+ def hash
+ @name.hash ^ @version.hash
+ end
+
def to_s
"#<#{self.class} #{name}@#{version}>"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/semantic_puppet/gem_version.rb
new/lib/semantic_puppet/gem_version.rb
--- old/lib/semantic_puppet/gem_version.rb 1970-01-01 01:00:00.000000000
+0100
+++ new/lib/semantic_puppet/gem_version.rb 2016-07-06 19:18:52.000000000
+0200
@@ -0,0 +1,3 @@
+module SemanticPuppet
+ VERSION = '0.1.4'
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/semantic_puppet/version.rb
new/lib/semantic_puppet/version.rb
--- old/lib/semantic_puppet/version.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/semantic_puppet/version.rb 2016-07-06 19:18:52.000000000 +0200
@@ -18,7 +18,7 @@
match, major, minor, patch, prerelease, build =
*ver.match(/\A#{REGEX_FULL}\Z/)
if match.nil?
- raise "Unable to parse '#{ver}' as a semantic version identifier"
+ raise _("Unable to parse '%{version}' as a semantic version
identifier") % {version: ver}
end
prerelease = parse_prerelease(prerelease) if prerelease
@@ -26,7 +26,7 @@
# The following code prevents build metadata for now.
#build = parse_build_metadata(build) if build
if !build.nil?
- raise "'#{ver}' MUST NOT include build identifiers"
+ raise _("'%{version}' MUST NOT include build identifiers") %
{version: ver}
end
self.new(major.to_i, minor.to_i, patch.to_i, prerelease, build)
@@ -46,11 +46,11 @@
prerelease = prerelease.split('.', -1)
if prerelease.empty? or prerelease.any? { |x| x.empty? }
- raise "#{subject} MUST NOT be empty"
+ raise _("%{subject} MUST NOT be empty") % {subject: subject}
elsif prerelease.any? { |x| x =~ /[^0-9a-zA-Z-]/ }
- raise "#{subject} MUST use only ASCII alphanumerics and hyphens"
+ raise _("%{subject} MUST use only ASCII alphanumerics and hyphens")
% {subject: subject}
elsif prerelease.any? { |x| x =~ /^0\d+$/ }
- raise "#{subject} MUST NOT contain leading zeroes"
+ raise _("%{subject} MUST NOT contain leading zeroes") % {subject:
subject}
end
return prerelease.map { |x| x =~ /^\d+$/ ? x.to_i : x }
@@ -61,9 +61,9 @@
build = build.split('.', -1)
if build.empty? or build.any? { |x| x.empty? }
- raise "#{subject} MUST NOT be empty"
+ raise _("%{subject} MUST NOT be empty") % {subject: subject}
elsif build.any? { |x| x =~ /[^0-9a-zA-Z-]/ }
- raise "#{subject} MUST use only ASCII alphanumerics and hyphens"
+ raise _("%{subject} MUST use only ASCII alphanumerics and hyphens")
% {subject: subject}
end
return build
@@ -115,6 +115,16 @@
return compare_prerelease(other)
end
+ def eql?(other)
+ other.is_a?(Version) &&
+ @major.eql?(other.major) &&
+ @minor.eql?(other.minor) &&
+ @patch.eql?(other.patch) &&
+ @prerelease.eql?(other.instance_variable_get(:@prerelease)) &&
+ @build.eql?(other.instance_variable_get(:@build))
+ end
+ alias == eql?
+
def to_s
"#{major}.#{minor}.#{patch}" +
(@prerelease.nil? || prerelease.empty? ? '' : "-" + prerelease) +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/semantic_puppet/version_range.rb
new/lib/semantic_puppet/version_range.rb
--- old/lib/semantic_puppet/version_range.rb 1970-01-01 01:00:00.000000000
+0100
+++ new/lib/semantic_puppet/version_range.rb 2016-07-06 19:18:52.000000000
+0200
@@ -46,7 +46,7 @@
end
rescue ArgumentError
- raise ArgumentError, "Unparsable version range: #{range_str.inspect}"
+ raise ArgumentError, _("Unparsable version range: %{range}") % {range:
range_str.inspect}
end
private
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/semantic_puppet.rb new/lib/semantic_puppet.rb
--- old/lib/semantic_puppet.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/lib/semantic_puppet.rb 2016-07-06 19:18:52.000000000 +0200
@@ -1,7 +1,9 @@
+require 'gettext-setup'
+
module SemanticPuppet
+ GettextSetup.initialize(File.absolute_path('../locales',
File.dirname(__FILE__)))
+
autoload :Version, 'semantic_puppet/version'
autoload :VersionRange, 'semantic_puppet/version_range'
autoload :Dependency, 'semantic_puppet/dependency'
-
- VERSION = '0.1.1'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/locales/config.yaml new/locales/config.yaml
--- old/locales/config.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/locales/config.yaml 2016-07-06 19:18:52.000000000 +0200
@@ -0,0 +1,21 @@
+---
+# This is the project-specific configuration file for setting up
+# fast_gettext for your project.
+gettext:
+ # This is used for the name of the .pot and .po files; they will be
+ # called <project_name>.pot?
+ project_name: 'semantic_puppet'
+ # This is used in comments in the .pot and .po files to indicate what
+ # project the files belong to and should bea little more desctiptive than
+ # <project_name>
+ package_name: Semantic Puppet Gem
+ # The locale that the default messages in the .pot file are in
+ default_locale: en
+ # The email used for sending bug reports.
+ bugs_address: [email protected]
+ # The holder of the copyright.
+ copyright_holder: Puppet, Inc.
+ # Patterns for +Dir.glob+ used to find all files that might contain
+ # translatable content, relative to the project root directory
+ source_files:
+ - 'lib/**/*.rb'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 1970-01-01 01:00:00.000000000 +0100
+++ new/metadata 2016-07-06 19:18:52.000000000 +0200
@@ -1,110 +1,111 @@
--- !ruby/object:Gem::Specification
name: semantic_puppet
version: !ruby/object:Gem::Version
- version: 0.1.1
- prerelease:
+ version: 0.1.4
platform: ruby
authors:
- Puppet Labs
autorequire:
bindir: bin
cert_chain: []
-date: 2015-04-01 00:00:00.000000000 Z
+date: 2016-07-06 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
+ name: gettext-setup
+ requirement: !ruby/object:Gem::Requirement
+ requirements:
+ - - ">="
+ - !ruby/object:Gem::Version
+ version: '0.3'
+ type: :runtime
+ prerelease: false
+ version_requirements: !ruby/object:Gem::Requirement
+ requirements:
+ - - ">="
+ - !ruby/object:Gem::Version
+ version: '0.3'
+- !ruby/object:Gem::Dependency
name: rake
requirement: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
- !ruby/object:Gem::Dependency
name: rspec
requirement: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
- !ruby/object:Gem::Dependency
name: simplecov
requirement: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
- !ruby/object:Gem::Dependency
name: cane
requirement: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
- !ruby/object:Gem::Dependency
name: yard
requirement: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
- !ruby/object:Gem::Dependency
name: redcarpet
requirement: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
description: Tools used by Puppet to parse, validate, and compare Semantic
Versions
@@ -115,11 +116,10 @@
extensions: []
extra_rdoc_files: []
files:
-- .gitignore
-- .yardopts
+- ".gitignore"
+- ".yardopts"
- CHANGELOG.md
- Gemfile
-- Gemfile.lock
- LICENSE
- README.md
- Rakefile
@@ -130,8 +130,10 @@
- lib/semantic_puppet/dependency/module_release.rb
- lib/semantic_puppet/dependency/source.rb
- lib/semantic_puppet/dependency/unsatisfiable_graph.rb
+- lib/semantic_puppet/gem_version.rb
- lib/semantic_puppet/version.rb
- lib/semantic_puppet/version_range.rb
+- locales/config.yaml
- semantic_puppet.gemspec
- spec/spec_helper.rb
- spec/unit/semantic_puppet/dependency/graph_node_spec.rb
@@ -142,30 +144,29 @@
- spec/unit/semantic_puppet/dependency_spec.rb
- spec/unit/semantic_puppet/version_range_spec.rb
- spec/unit/semantic_puppet/version_spec.rb
-homepage: https://github.com/puppetlabs/semantic_puppet-gem
+homepage: https://github.com/puppetlabs/semantic_puppet
licenses:
- Apache-2.0
+metadata: {}
post_install_message:
rdoc_options: []
require_paths:
- lib
required_ruby_version: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: 1.8.7
required_rubygems_version: !ruby/object:Gem::Requirement
- none: false
requirements:
- - - ! '>='
+ - - ">="
- !ruby/object:Gem::Version
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 1.8.23.2
+rubygems_version: 2.4.5.1
signing_key:
-specification_version: 3
+specification_version: 4
summary: Useful tools for working with Semantic Versions.
test_files: []
has_rdoc:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/semantic_puppet.gemspec new/semantic_puppet.gemspec
--- old/semantic_puppet.gemspec 1970-01-01 01:00:00.000000000 +0100
+++ new/semantic_puppet.gemspec 2016-07-06 19:18:52.000000000 +0200
@@ -1,6 +1,6 @@
# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
-require "semantic_puppet"
+require "semantic_puppet/gem_version"
spec = Gem::Specification.new do |s|
# Metadata
@@ -8,7 +8,7 @@
s.version = SemanticPuppet::VERSION
s.authors = ["Puppet Labs"]
s.email = ["[email protected]"]
- s.homepage = "https://github.com/puppetlabs/semantic_puppet-gem"
+ s.homepage = "https://github.com/puppetlabs/semantic_puppet"
s.summary = "Useful tools for working with Semantic Versions."
s.description = %q{Tools used by Puppet to parse, validate, and compare
Semantic Versions and Version Ranges and to query and resolve module
dependencies.}
s.licenses = ['Apache-2.0']
@@ -22,6 +22,8 @@
# Dependencies
s.required_ruby_version = '>= 1.8.7'
+ s.add_dependency "gettext-setup", ">= 0.3"
+
s.add_development_dependency "rake"
s.add_development_dependency "rspec"
s.add_development_dependency "simplecov"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/spec/unit/semantic_puppet/dependency/module_release_spec.rb
new/spec/unit/semantic_puppet/dependency/module_release_spec.rb
--- old/spec/unit/semantic_puppet/dependency/module_release_spec.rb
1970-01-01 01:00:00.000000000 +0100
+++ new/spec/unit/semantic_puppet/dependency/module_release_spec.rb
2016-07-06 19:18:52.000000000 +0200
@@ -84,6 +84,29 @@
end
+ describe '#==' do
+
+ it 'considers two equal releases to be equal' do
+ expect(make_release('foo', '1.0.0')).to eql(make_release('foo', '1.0.0'))
+ end
+
+ it 'considers two releases with different names to be different' do
+ expect(make_release('foo', '1.0.0')).not_to eql(make_release('bar',
'1.0.0'))
+ end
+
+ it 'considers two releases with different versions to be different' do
+ expect(make_release('foo', '1.0.0')).not_to eql(make_release('foo',
'1.0.1'))
+ end
+
+ it 'can compare a release with something that is not a release' do
+ expect { make_release('foo', '1.0.0') == 5 }.not_to raise_error
+ end
+
+ it 'considers a release different from something that is not a release' do
+ expect(make_release('foo', '1.0.0') == 5).to be false
+ end
+ end
+
describe '#satisfied?' do
it 'returns true when there are no dependencies to satisfy' do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/spec/unit/semantic_puppet/version_spec.rb
new/spec/unit/semantic_puppet/version_spec.rb
--- old/spec/unit/semantic_puppet/version_spec.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/spec/unit/semantic_puppet/version_spec.rb 2016-07-06
19:18:52.000000000 +0200
@@ -411,6 +411,47 @@
end
end
+ describe '#==' do
+ def parse(vstring)
+ SemanticPuppet::Version.parse(vstring)
+ end
+
+ it 'should yield true when comparing two equal instances' do
+ x = parse('1.2.3-alpha')
+ y = parse('1.2.3-alpha')
+ expect(x == y).to eql(true)
+ end
+
+ it 'should yield false when the major differs' do
+ x = parse('1.2.3-alpha')
+ y = parse('2.2.3-alpha')
+ expect(x == y).to eql(false)
+ end
+
+ it 'should yield false when the minor differs' do
+ x = parse('1.2.3-alpha')
+ y = parse('1.3.3-alpha')
+ expect(x == y).to eql(false)
+ end
+
+ it 'should yield false when the patch differs' do
+ x = parse('1.2.3-alpha')
+ y = parse('1.2.4-alpha')
+ expect(x == y).to eql(false)
+ end
+
+ it 'should yield false when the prerelease differs' do
+ x = parse('1.2.3-alpha')
+ y = parse('1.2.3-beta')
+ expect(x == y).to eql(false)
+ end
+
+ it 'should yield false when compared to something that is not a Version' do
+ x = parse('1.2.3-alpha')
+ expect(x == :undef).to eql(false)
+ end
+ end
+
describe '#<=>' do
def parse(vstring)
SemanticPuppet::Version.parse(vstring)