Diff of the two buildlogs: -- --- b1/build.log 2025-01-25 16:29:09.307053889 +0000 +++ b2/build.log 2025-01-25 16:29:49.573237480 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Jan 25 04:28:07 -12 2025 -I: pbuilder-time-stamp: 1737822487 +I: Current time: Sat Feb 28 12:52:10 +14 2026 +I: pbuilder-time-stamp: 1772232730 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -27,54 +27,86 @@ dpkg-source: info: applying rspec3.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/17152/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/D01_modify_environment starting +debug: Running on ionos16-i386. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Feb 27 22:52 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='i386' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='i386' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=i386 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=i686 + HOST_ARCH=i386 IFS=' ' - INVOCATION_ID='49ad8dc1689b41568de12549fad8943e' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - LD_LIBRARY_PATH='/usr/lib/libeatmydata' - LD_PRELOAD='libeatmydata.so' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='17152' - PS1='# ' - PS2='> ' + INVOCATION_ID=5343f2b65dae44b58dd07a8ae1bbe592 + LANG=C + LANGUAGE=de_CH:de + LC_ALL=C + LD_LIBRARY_PATH=/usr/lib/libeatmydata + LD_PRELOAD=libeatmydata.so + MACHTYPE=i686-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=94943 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.GZJ5Y9kC/pbuilderrc_ZGoO --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.GZJ5Y9kC/b1 --logfile b1/build.log ruby-coercible_1.0.0-2.1.dsc' - SUDO_GID='112' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.GZJ5Y9kC/pbuilderrc_cSib --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.GZJ5Y9kC/b2 --logfile b2/build.log ruby-coercible_1.0.0-2.1.dsc' + SUDO_GID=112 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos12-i386 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/17152/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -267,7 +299,7 @@ Get: 145 http://deb.debian.org/debian unstable/main i386 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 146 http://deb.debian.org/debian unstable/main i386 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 147 http://deb.debian.org/debian unstable/main i386 ruby-rspec-its all 1.3.0-1 [6864 B] -Fetched 56.6 MB in 1s (47.5 MB/s) +Fetched 56.6 MB in 1s (86.2 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19818 files and directories currently installed.) @@ -754,8 +786,8 @@ Setting up tzdata (2025a-1) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat Jan 25 16:28:44 UTC 2025. -Universal Time is now: Sat Jan 25 16:28:44 UTC 2025. +Local time is now: Fri Feb 27 22:52:34 UTC 2026. +Universal Time is now: Fri Feb 27 22:52:34 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.22.3-1) ... @@ -895,7 +927,11 @@ fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/ruby-coercible-1.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ruby-coercible_1.0.0-2.1_source.changes +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/ruby-coercible-1.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../ruby-coercible_1.0.0-2.1_source.changes dpkg-buildpackage: info: source package ruby-coercible dpkg-buildpackage: info: source version 1.0.0-2.1 dpkg-buildpackage: info: source distribution unstable @@ -984,821 +1020,821 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 13453 +Randomized with seed 49166 -Coercible::Coercer::String.to_boolean - with "Y" - is expected to equal true - with "F" - is expected to equal false - with "T" - is expected to equal true - with "n" - is expected to equal false - with "on" - is expected to equal true - with "N" - is expected to equal false - with "TRUE" - is expected to equal true - with "FALSE" - is expected to equal false - with "y" - is expected to equal true - with "ON" - is expected to equal true - with "yes" - is expected to equal true - with "NO" - is expected to equal false - with an invalid boolean string -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/string/to_boolean_spec.rb:28:in `block (3 levels) in '. - is expected to raise Exception - with "t" - is expected to equal true - with "0" - is expected to equal false - with "YES" - is expected to equal true - with "f" - is expected to equal false - with "1" - is expected to equal true - with "no" - is expected to equal false - with "true" - is expected to equal true - with "false" - is expected to equal false - with "OFF" - is expected to equal false - with "off" - is expected to equal false +Coercible::Coercer::DateTime.to_time + when DateTime does not support #to_time + is expected to be an instance of Time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + when DateTime supports #to_time + is expected to equal 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" -Coercible::Coercer::Decimal#coerced? +Coercible::Coercer::TimeCoercions.to_datetime + when the value responds to #to_datetime + is expected to be an instance of DateTime + is expected to eql # + when the value does not respond to #to_datetime + is expected to eql # + is expected to be an instance of DateTime + +Coercible::Coercer::Time.to_time + is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" + +Coercible::Coercer::Integer.to_decimal + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + +Coercible::Coercer::Object#coerced? + is expected to equal true + +Coercible::Coercer::Numeric.to_string + is expected to eql "1/1" + +Coercible::Coercer::Integer.to_integer + is expected to equal 1 + +Coercible::Coercer::FalseClass#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false with a primitive value is expected to equal true -Coercible::Coercer::Date.to_time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time - -Coercible::Coercer::Date.to_string - is expected to eql "2011-01-01" +Coercible::Coercer::FalseClass.to_string + is expected to eql "false" is expected to be an instance of String -Coercible::Coercer::Float.to_string +Coercible::Coercer::TrueClass.to_string + is expected to eql "true" is expected to be an instance of String - is expected to eql "1.0" -Coercible::Coercer::Integer.to_boolean - when the fixnum is 0 - is expected to equal false - when the fixnum is not 1 or 0 - is expected to raise Coercible::UnsupportedCoercion - when the fixnum is 1 - is expected to equal true - -Coercible::Coercer::TimeCoercions.to_time - when the value responds to #to_time - is expected to be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - when the value does not respond to #to_time - is expected to be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - -Coercible::Coercer::FalseClass.to_string +Coercible::Coercer::DateTime.to_string is expected to be an instance of String - is expected to eql "false" + is expected to eql "2011-01-01T00:00:00+00:00" -Coercible::Coercer::Decimal.to_string - is expected to eql "1.0" +Coercible::Coercer::Symbol.to_string + is expected to eql "piotr" is expected to be an instance of String -Coercible::Coercer::Object.to_hash - when the value responds to #to_hash - is expected to equal # - when the value does not respond to #to_hash - is expected to raise Coercible::UnsupportedCoercion - -Coercible::Coercer::Object#method_missing - when method matches coercion method regexp - is expected to equal # - when method doesn't match coercion method regexp - is expected to raise NoMethodError - -Coercible::Coercer::TrueClass#coerced? +Coercible::Coercer::Hash#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false with a primitive value is expected to equal true +Configuring coercers +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/integration/configuring_coercers_spec.rb:12:in `block (2 levels) in '. + allows to configure coercers + +Coercible::Coercer::Configurable.config_name + is expected to equal :test + +Coercible::Coercer.new + is expected to be an instance of Coercible::Coercer + config + is expected to be an instance of Coercible::Configuration + config + is expected to respond to #string + config + is expected to respond to #string= + +Coercible::Coercer::Date.to_date + is expected to equal # + Coercible::Configuration.build is expected to respond to #bar - is expected to respond to #bar= - is expected to respond to #foo= is expected to respond to #foo is expected to be an instance of Coercible::Configuration + is expected to respond to #foo= + is expected to respond to #bar= -Coercible::Coercer::String.to_datetime - with an invalid date time string +Coercible::Coercer::Integer.to_string + is expected to be an instance of String + is expected to eql "1" + +Coercible::Coercer::Integer + behaves like Configurable + .config_name + is expected to equal :integer + .config_name + is expected to be an instance of Symbol + .config_keys + is expected not to be empty + is expected to be an instance of Array + .config + is expected to be an instance of Coercible::Configuration + responds to configuration keys + +Coercible::Coercer::String.config + boolean_map + is expected to equal {"0"=>false, "1"=>true, "f"=>false, "false"=>false, "n"=>false, "no"=>false, "off"=>false, "on"=>true, "t"=>true, "true"=>true, "y"=>true, "yes"=>true} + +Coercible::Coercer::Integer.to_boolean + when the fixnum is 0 + is expected to equal false + when the fixnum is 1 + is expected to equal true + when the fixnum is not 1 or 0 is expected to raise Coercible::UnsupportedCoercion - with a valid date string - including time part - it should behave like a correct datetime object - is expected to be an instance of DateTime - month - is expected to == 7 - day - is expected to == 22 - sec - is expected to == 50 - min - is expected to == 44 - hour - is expected to == 13 - year - is expected to == 2011 - not including time part - it should behave like a correct datetime object - is expected to be an instance of DateTime - sec - is expected to == 0 - min - is expected to == 0 - day - is expected to == 22 - hour - is expected to == 0 - month - is expected to == 7 - year - is expected to == 2011 -Coercible::Coercer::Time.to_integer - is expected to eql 1737822541 +Coercible::Coercer::Object.to_array + when the value returns nil from #to_ary + wraps the value in an Array if #to_a is not available + calls #to_a as a fallback + when the value responds to #to_ary + is expected to equal # + does not call #to_a if #to_ary is available + when the value does not respond to #to_ary or #to_a + is expected to be an instance of Array + is expected to == [#] + when the value responds to #to_a but not #to_ary + is expected to equal # -Coercible::Coercer::Numeric.to_float +Coercible::Coercer::Decimal.to_float + is expected to be an instance of Float is expected to eql 1.0 -Coercible::Coercer::Date.to_datetime - when Date supports #to_datetime - is expected to equal # - when Date does not support #to_datetime - is expected to be an instance of DateTime - is expected to eql # +Coercible::Coercer::Integer.to_float + is expected to eql 1.0 + is expected to be an instance of Float -Coercible::Coercer::String.to_date - with a valid date string - is expected to be an instance of Date - year - is expected to == 2011 - day - is expected to == 22 - month - is expected to == 7 - with an invalid date string - is expected to raise Coercible::UnsupportedCoercion +Coercible::Coercer::Float#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false -Coercible::Coercer::String.to_symbol - is expected to equal :value +Coercible::Coercer::Array#to_set + is expected to eql "a", 1, "b", and 2 + is expected to be an instance of Set + +Coercible::Coercer::Object.to_integer + when the value responds to #to_int + is expected to equal # + when the value does not respond to #to_int + is expected to raise Coercible::UnsupportedCoercion Coercible::Coercer::Hash.to_date when time segments are integers is expected to eql # is expected to be an instance of Date - when time segments are missing - uses the Time now to populate the segments - is expected to be an instance of Date when time segments are strings is expected to eql # is expected to be an instance of Date + when time segments are missing + is expected to be an instance of Date + uses the Time now to populate the segments -Coercible::Coercer::TrueClass.to_string +Coercible::Coercer#[] + with a known type + is expected to be an instance of Coercible::Coercer::String + with an unknown type + is expected to be an instance of Coercible::Coercer::Object + +Coercible::Coercer::Decimal.to_integer + is expected to be a kind of Integer + is expected to eql 1 + +Coercible::Coercer::Date.to_string is expected to be an instance of String - is expected to eql "true" + is expected to eql "2011-01-01" -Coercible::Coercer::Float.to_decimal - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 +Coercible::Coercer::Float#to_float + is expected to eql "2013-02-16 17:44:32.120" -Coercible::Coercer::String.to_decimal - with ".1e+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with "-1.0" - is expected to be an instance of BigDecimal - is expected to eql -0.1e1 - with "1.0e+1" - is expected to eql 0.1e2 - is expected to be an instance of BigDecimal - with "+1.0E+1" - is expected to eql 0.1e2 - is expected to be an instance of BigDecimal - with "1.0E+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e2 - with "-1.0e+1" - is expected to eql -0.1e2 - is expected to be an instance of BigDecimal - with "1.0e-1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with "+1.0e+1" - is expected to eql 0.1e2 - is expected to be an instance of BigDecimal - with ".1e-1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e-1 - with "-1.0E-1" - is expected to eql -0.1e0 - is expected to be an instance of BigDecimal - with "+1.0" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with "1.0E-1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with "+1.0e-1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with "+1" - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - with an invalid decimal string - is expected to raise Coercible::UnsupportedCoercion - with ".1E+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with ".1E-1" - is expected to eql 0.1e-1 - is expected to be an instance of BigDecimal - with "1" - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - with "-1.0E+1" - is expected to be an instance of BigDecimal - is expected to eql -0.1e2 - with "1.0" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with ".1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with "-1" - is expected to be an instance of BigDecimal - is expected to eql -0.1e1 - with "-1.0e-1" - is expected to be an instance of BigDecimal - is expected to eql -0.1e0 - with "+1.0E-1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal +Coercible::Coercer::TimeCoercions.to_string + is expected to be an instance of String + is expected to eql "2011-01-01" -Coercible::Coercer::Time.to_time - is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" +Coercible::Coercer::TimeCoercions.to_date + when the value responds to #to_date + is expected to eql # + is expected to be an instance of Date + when the value does not respond to #to_date + is expected to eql # + is expected to be an instance of Date -Coercible::Coercer::String.to_constant - when the name is invalid - is expected to raise NameError - with a non-namespaced name - is expected to equal String - with a non-namespaced qualified name - is expected to equal String - with a namespaced name - is expected to equal Coercible::Coercer::String - with a namespaced qualified name - is expected to equal Coercible::Coercer::String - with a name outside of the namespace - is expected to raise NameError - when the name is unknown - is expected to raise NameError +Coercible::Coercer::String.to_symbol + is expected to equal :value -Coercible::Coercer::FalseClass#coerced? +Coercible::Coercer::Integer#to_datetime + is expected to eql "2013-02-16 17:44:32.000" + +Coercible::Coercer::DateTime.to_datetime + is expected to equal # + +Coercible::Coercer::String.to_boolean + with "true" + is expected to equal true + with "no" + is expected to equal false + with "1" + is expected to equal true + with "FALSE" + is expected to equal false + with an invalid boolean string +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/string/to_boolean_spec.rb:28:in `block (3 levels) in '. + is expected to raise Exception + with "on" + is expected to equal true + with "n" + is expected to equal false + with "false" + is expected to equal false + with "TRUE" + is expected to equal true + with "t" + is expected to equal true + with "0" + is expected to equal false + with "Y" + is expected to equal true + with "ON" + is expected to equal true + with "T" + is expected to equal true + with "f" + is expected to equal false + with "F" + is expected to equal false + with "YES" + is expected to equal true + with "off" + is expected to equal false + with "OFF" + is expected to equal false + with "N" + is expected to equal false + with "y" + is expected to equal true + with "NO" + is expected to equal false + with "yes" + is expected to equal true + +Coercible::Coercer::Integer#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false with a primitive value is expected to equal true -Coercible::Coercer::Date#coerced? +Coercible::Coercer::Decimal#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true with a non-primitive value is expected to equal false -Coercible::Coercer::Object.to_integer - when the value does not respond to #to_int - is expected to raise Coercible::UnsupportedCoercion - when the value responds to #to_int - is expected to equal # - -Coercible::Coercer::String.to_time - with a valid time string - including time part - it should behave like a correct time object - is expected to be an instance of Time - month - is expected to == 7 - hour - is expected to == 13 - day - is expected to == 22 - min - is expected to == 44 - year - is expected to == 2011 - sec - is expected to == 50 - not including time part - it should behave like a correct time object - is expected to be an instance of Time - year - is expected to == 2011 - sec - is expected to == 0 - hour - is expected to == 0 - month - is expected to == 7 - day - is expected to == 22 - min - is expected to == 0 - with an invalid date time string - is expected to raise Coercible::UnsupportedCoercion - -Coercible::Coercer::Integer#to_datetime - is expected to eql "2013-02-16 17:44:32.000" - -Coercible::Coercer::String - behaves like Configurable - .config_keys - is expected to be an instance of Array - is expected not to be empty - .config_name - is expected to equal :string - .config_name - is expected to be an instance of Symbol - .config - is expected to be an instance of Coercible::Configuration - responds to configuration keys +Coercible::Coercer::Date.to_datetime + when Date does not support #to_datetime + is expected to be an instance of DateTime + is expected to eql # + when Date supports #to_datetime + is expected to equal # -Coercible::Coercer::Symbol#coerced? +Coercible::Coercer::Array#coerced? behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true with a non-primitive value is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::Object#coerced? - is expected to equal true +Coercible::Coercer::Hash.to_datetime + when time segments are integers + is expected to eql # + is expected to be an instance of DateTime + when time segments are missing + uses the Time now to populate the segments + is expected to be an instance of DateTime + when time segments are strings + is expected to eql # + is expected to be an instance of DateTime -Coercible::Coercer::Hash#coerced? +Coercible::Coercer::Integer#datetime_format + with Rubinius + is expected to == "%Q" + with other Ruby VMs + is expected to == "%s" + +Coercible::Coercer::Hash.to_time + when time segments are integers + is expected to be an instance of Time + is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" + when time segments are strings + is expected to be an instance of Time + is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" + when time segments are missing + is expected to be an instance of Time + uses the Time now to populate the segments + +Coercible::Coercer::DateTime#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false with a primitive value is expected to equal true +Coercible::Coercer::Date.to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time + +Coercible::Coercer::TimeCoercions.to_time + when the value does not respond to #to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time + when the value responds to #to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time + +Coercible::Coercer::Numeric.to_decimal + with an object not responding to #to_d + is expected to eql 0.1e1 + with an object responding to #to_d + is expected to eql 0.1e1 + +Coercible::Coercer::String + behaves like Configurable + .config_keys + is expected to be an instance of Array + is expected not to be empty + .config + responds to configuration keys + is expected to be an instance of Coercible::Configuration + .config_name + is expected to be an instance of Symbol + .config_name + is expected to equal :string + Coercible::Coercer::String.to_float - with "-1.0e-1" - is expected to be an instance of Float - is expected to eql -0.1 - with "-1.0E-1" - is expected to be an instance of Float - is expected to eql -0.1 - with ".1e-1" - is expected to be an instance of Float - is expected to eql 0.01 - with "1.0e-1" - is expected to eql 0.1 + with "1e1" is expected to be an instance of Float - with ".1e+1" + is expected to eql 10.0 + with "+1" is expected to be an instance of Float is expected to eql 1.0 - with "-1.0E+1" - is expected to be an instance of Float - is expected to eql -10.0 - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with "-1.0" - is expected to be an instance of Float - is expected to eql -1.0 - with ".1" - is expected to eql 0.1 + with "+1.0E+1" + is expected to eql 10.0 is expected to be an instance of Float - with ".1E+1" + with "+1.0e+1" is expected to be an instance of Float - is expected to eql 1.0 - with "1.0e+1" is expected to eql 10.0 - is expected to be an instance of Float with "-1e-1" - is expected to eql -0.1 is expected to be an instance of Float + is expected to eql -0.1 with "-1.0e+1" is expected to be an instance of Float is expected to eql -10.0 - with "-1E1" - is expected to eql -10.0 - is expected to be an instance of Float with "-1" is expected to eql -1.0 is expected to be an instance of Float - with "+1.0" + with "1" is expected to eql 1.0 is expected to be an instance of Float - with ".1E-1" + with "-1.0e-1" + is expected to eql -0.1 is expected to be an instance of Float - is expected to eql 0.01 - with "1.0E-1" + with ".1e+1" + is expected to eql 1.0 is expected to be an instance of Float - is expected to eql 0.1 - with "1e1" - is expected to eql 10.0 + with "1.0" is expected to be an instance of Float - with "+1.0E-1" + is expected to eql 1.0 + with "+1.0" + is expected to eql 1.0 + is expected to be an instance of Float + with ".1" is expected to be an instance of Float is expected to eql 0.1 + with ".1e-1" + is expected to eql 0.01 + is expected to be an instance of Float with "1E+1" is expected to eql 10.0 is expected to be an instance of Float - with "1" + with ".1E+1" + is expected to be an instance of Float is expected to eql 1.0 + with "+1e-1" + is expected to eql 0.1 is expected to be an instance of Float - with "1.0" + with "-1.0" is expected to be an instance of Float - is expected to eql 1.0 + is expected to eql -1.0 with "+1.0e-1" - is expected to be an instance of Float is expected to eql 0.1 - with "+1.0E+1" - is expected to eql 10.0 + is expected to be an instance of Float + with "-1.0E+1" + is expected to eql -10.0 is expected to be an instance of Float with an invalid float string is expected to raise Coercible::UnsupportedCoercion - with "+1e-1" + with "1.0e+1" + is expected to eql 10.0 + is expected to be an instance of Float + with ".1E-1" + is expected to eql 0.01 + is expected to be an instance of Float + with "1.0E-1" is expected to eql 0.1 is expected to be an instance of Float - with "+1" - is expected to eql 1.0 + string starts with e + is expected to raise Coercible::UnsupportedCoercion + with "-1.0E-1" is expected to be an instance of Float + is expected to eql -0.1 with "1.0E+1" is expected to be an instance of Float is expected to eql 10.0 - with "+1.0e+1" + with "1.0e-1" + is expected to be an instance of Float + is expected to eql 0.1 + with "-1E1" + is expected to eql -10.0 + is expected to be an instance of Float + with "+1.0E-1" + is expected to eql 0.1 is expected to be an instance of Float - is expected to eql 10.0 -Coercible::Coercer::Array#to_set - is expected to be an instance of Set - is expected to eql "a", 1, "b", and 2 +Coercible::Coercer::Object.to_string + when the value does not respond to #to_str + is expected to raise Coercible::UnsupportedCoercion + when the value responds to #to_str + is expected to equal # -Coercible::Coercer.new - is expected to be an instance of Coercible::Coercer - config - is expected to respond to #string - config - is expected to respond to #string= - config - is expected to be an instance of Coercible::Configuration +Coercible::Coercer::String.to_constant + when the name is invalid + is expected to raise NameError + with a namespaced qualified name + is expected to equal Coercible::Coercer::String + with a non-namespaced name + is expected to equal String + when the name is unknown + is expected to raise NameError + with a namespaced name + is expected to equal Coercible::Coercer::String + with a name outside of the namespace + is expected to raise NameError + with a non-namespaced qualified name + is expected to equal String -Coercible::Coercer::Integer.to_string - is expected to eql "1" +Coercible::Coercer::Decimal.to_string is expected to be an instance of String + is expected to eql "1.0" -Coercible::Coercer::Decimal.to_float - is expected to be an instance of Float - is expected to eql 1.0 - -Coercible::Coercer::DateTime.to_datetime - is expected to equal # - -Coercible::Coercer::Numeric.to_integer - is expected to eql 1 - -Coercible::Coercer::Integer.to_float - is expected to eql 1.0 - is expected to be an instance of Float - -Coercible::Coercer::Float.to_integer - is expected to eql 1 - is expected to be a kind of Integer - -Coercible::Coercer::Float.to_float - is expected to equal 1.0 - -Coercible::Coercer::TimeCoercions.to_datetime - when the value responds to #to_datetime - is expected to eql # - is expected to be an instance of DateTime - when the value does not respond to #to_datetime - is expected to be an instance of DateTime - is expected to eql # - -Coercible::Coercer::Date.to_date - is expected to equal # +Coercible::Coercer::Float.to_string + is expected to eql "1.0" + is expected to be an instance of String -Coercible::Coercer::Decimal.to_decimal - is expected to equal 0.1e1 +Coercible::Coercer::String#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::Object.to_string - when the value does not respond to #to_str +Coercible::Coercer::String.to_time + with a valid time string + including time part + it should behave like a correct time object + is expected to be an instance of Time + day + is expected to == 22 + hour + is expected to == 13 + min + is expected to == 44 + sec + is expected to == 50 + year + is expected to == 2011 + month + is expected to == 7 + not including time part + it should behave like a correct time object + is expected to be an instance of Time + hour + is expected to == 0 + year + is expected to == 2011 + day + is expected to == 22 + month + is expected to == 7 + sec + is expected to == 0 + min + is expected to == 0 + with an invalid date time string is expected to raise Coercible::UnsupportedCoercion - when the value responds to #to_str - is expected to equal # -Coercible::Coercer::DateTime.to_time - when DateTime does not support #to_time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time - when DateTime supports #to_time - is expected to equal 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - -Coercible::Coercer::Integer#datetime_format - with other Ruby VMs - is expected to == "%s" - with Rubinius - is expected to == "%Q" +Coercible::Coercer::Object#inspect + is expected to == "#" -Coercible::Coercer::Integer.to_integer - is expected to equal 1 +Coercible::Coercer::String.to_datetime + with a valid date string + not including time part + it should behave like a correct datetime object + is expected to be an instance of DateTime + year + is expected to == 2011 + day + is expected to == 22 + sec + is expected to == 0 + month + is expected to == 7 + hour + is expected to == 0 + min + is expected to == 0 + including time part + it should behave like a correct datetime object + is expected to be an instance of DateTime + year + is expected to == 2011 + min + is expected to == 44 + month + is expected to == 7 + sec + is expected to == 50 + day + is expected to == 22 + hour + is expected to == 13 + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion Coercible::Coercer::String.to_integer - with "-1.0E+1" + with "-1.0" + is expected to eql -1 is expected to be a kind of Integer - is expected to eql -10 - with ".1e-1" + with ".1E-1" is expected to eql 0 is expected to be a kind of Integer - with "+1" - is expected to eql 1 - is expected to be a kind of Integer - with ".1E-1" + with "+1e-1" is expected to be a kind of Integer is expected to eql 0 - with "+1.0E+1" - is expected to eql 10 - is expected to be a kind of Integer with "1.0e-1" is expected to be a kind of Integer is expected to eql 0 - with "1.0E+1" - is expected to eql 10 + with "+1" is expected to be a kind of Integer - with ".1" + is expected to eql 1 + with "1" is expected to be a kind of Integer - is expected to eql 0 - with "+1.0e-1" + is expected to eql 1 + with "1.0e+1" is expected to be a kind of Integer - is expected to eql 0 + is expected to eql 10 with "-1.0E-1" + is expected to be a kind of Integer is expected to eql 0 + with "2.2250738585072014e-308" is expected to be a kind of Integer - with "1.0E-1" is expected to eql 0 + string starts with e + is expected to raise Coercible::UnsupportedCoercion + with "1e1" + is expected to eql 10 is expected to be a kind of Integer - with "+1.0" + with "-1E1" + is expected to eql -10 is expected to be a kind of Integer + when integer string is big + is expected to == 334490140000101135 + with an invalid integer string + is expected to raise Coercible::UnsupportedCoercion + with "+1.0" is expected to eql 1 - with ".1E+1" + is expected to be a kind of Integer + with "-1.0e+1" + is expected to be a kind of Integer + is expected to eql -10 + with "1.0" is expected to eql 1 is expected to be a kind of Integer - with "+1.0e+1" + with "1E+1" is expected to eql 10 is expected to be a kind of Integer - with "-1e-1" - is expected to be a kind of Integer + with "+1.0e-1" is expected to eql 0 - with "1e1" + is expected to be a kind of Integer + with "+1.0e+1" is expected to eql 10 is expected to be a kind of Integer - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with "1.0e+1" + with "-1.0e-1" is expected to be a kind of Integer - is expected to eql 10 - when integer string is big - is expected to == 334490140000101135 - with "2.2250738585072014e-308" + is expected to eql 0 + with "-1e-1" is expected to eql 0 is expected to be a kind of Integer - with "+1.0E-1" + with "-1.0E+1" + is expected to eql -10 is expected to be a kind of Integer - is expected to eql 0 - with "+1e-1" + with "+1.0E+1" is expected to be a kind of Integer - is expected to eql 0 + is expected to eql 10 with ".1e+1" - is expected to be a kind of Integer is expected to eql 1 - with "-1.0" - is expected to eql -1 is expected to be a kind of Integer - with "1" - is expected to eql 1 + with ".1e-1" + is expected to be a kind of Integer + is expected to eql 0 + with "1.0E+1" is expected to be a kind of Integer + is expected to eql 10 with "-1" is expected to be a kind of Integer is expected to eql -1 - with "-1E1" - is expected to be a kind of Integer - is expected to eql -10 - with "1E+1" + with "+1.0E-1" is expected to be a kind of Integer - is expected to eql 10 + is expected to eql 0 with "1.7976931348623158e+307" - is expected to be a kind of Integer is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 - with "-1.0e-1" is expected to be a kind of Integer + with "1.0E-1" is expected to eql 0 - with "-1.0e+1" - is expected to eql -10 is expected to be a kind of Integer - with an invalid integer string - is expected to raise Coercible::UnsupportedCoercion - with "1.0" + with ".1E+1" is expected to be a kind of Integer is expected to eql 1 + with ".1" + is expected to be a kind of Integer + is expected to eql 0 -Coercible::Coercer#[] - with an unknown type - is expected to be an instance of Coercible::Coercer::Object - with a known type - is expected to be an instance of Coercible::Coercer::String +Coercible::Coercer::Float.to_decimal + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal -Coercible::Coercer::String.config - boolean_map - is expected to equal {"0"=>false, "1"=>true, "f"=>false, "false"=>false, "n"=>false, "no"=>false, "off"=>false, "on"=>true, "t"=>true, "true"=>true, "y"=>true, "yes"=>true} +Coercible::Coercer::Numeric.to_integer + is expected to eql 1 -Coercible::Coercer::DateTime.to_date - when DateTime does not support #to_date - is expected to eql # +Coercible::Coercer::String.to_date + with a valid date string is expected to be an instance of Date - when DateTime supports #to_date - is expected to equal # - -Coercible::Coercer::String#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true + day + is expected to == 22 + year + is expected to == 2011 + month + is expected to == 7 + with an invalid date string + is expected to raise Coercible::UnsupportedCoercion -Coercible::Coercer::Time#coerced? +Coercible::Coercer::Symbol#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true with a non-primitive value is expected to equal false -Coercible::Coercer::Numeric.to_decimal - with an object responding to #to_d - is expected to eql 0.1e1 - with an object not responding to #to_d - is expected to eql 0.1e1 - -Coercible::Coercer::Float#to_float - is expected to eql "2013-02-16 17:44:32.120" - -Coercible::Coercer::Configurable.config - is expected to equal # - -Coercible::Coercer::Hash.to_datetime - when time segments are strings - is expected to be an instance of DateTime - is expected to eql # - when time segments are missing - is expected to be an instance of DateTime - uses the Time now to populate the segments - when time segments are integers - is expected to eql # - is expected to be an instance of DateTime - -Coercible::Coercer::Integer#datetime_proc - with Rubinius - is expected to be an instance of Proc - with other Ruby VMs - is expected to be an instance of Proc - -Coercible::Coercer::Configurable.config_name - is expected to equal :test - -Coercible::Coercer::Integer - behaves like Configurable - .config_name - is expected to equal :integer - .config_keys - is expected not to be empty - is expected to be an instance of Array - .config_name - is expected to be an instance of Symbol - .config - responds to configuration keys - is expected to be an instance of Coercible::Configuration +Coercible::Coercer::Decimal.to_decimal + is expected to equal 0.1e1 -Coercible::Coercer::Symbol.to_string - is expected to eql "piotr" - is expected to be an instance of String +Coercible::Coercer::Object#method_missing + when method matches coercion method regexp + is expected to equal # + when method doesn't match coercion method regexp + is expected to raise NoMethodError -Coercible::Coercer::Decimal.to_integer +Coercible::Coercer::Float.to_integer is expected to be a kind of Integer is expected to eql 1 -Coercible::Coercer::Object#inspect - is expected to == "#" +Coercible::Coercer::Object.to_hash + when the value responds to #to_hash + is expected to equal # + when the value does not respond to #to_hash + is expected to raise Coercible::UnsupportedCoercion -Coercible::Coercer::DateTime#coerced? +Coercible::Coercer::Float.to_float + is expected to equal 1.0 + +Coercible::Coercer::TrueClass#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true with a non-primitive value is expected to equal false -Coercible::Coercer::Object.to_array - when the value returns nil from #to_ary - calls #to_a as a fallback - wraps the value in an Array if #to_a is not available - when the value does not respond to #to_ary or #to_a - is expected to == [#] - is expected to be an instance of Array - when the value responds to #to_a but not #to_ary - is expected to equal # - when the value responds to #to_ary - does not call #to_a if #to_ary is available - is expected to equal # - -Coercible::Coercer::DateTime.to_string - is expected to eql "2011-01-01T00:00:00+00:00" - is expected to be an instance of String +Coercible::Coercer::Time#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::TimeCoercions.to_date - when the value responds to #to_date - is expected to eql # - is expected to be an instance of Date - when the value does not respond to #to_date +Coercible::Coercer::DateTime.to_date + when DateTime supports #to_date + is expected to equal # + when DateTime does not support #to_date is expected to eql # is expected to be an instance of Date -Coercible::Coercer::Numeric.to_string - is expected to eql "1/1" - -Coercible::Coercer::TimeCoercions.to_string - is expected to be an instance of String - is expected to eql "2011-01-01" +Coercible::Coercer::Configurable.config + is expected to equal # -Coercible::Coercer::Integer#coerced? +Coercible::Coercer::Date#coerced? behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true with a non-primitive value is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::Hash.to_time - when time segments are missing - is expected to be an instance of Time - uses the Time now to populate the segments - when time segments are integers - is expected to be an instance of Time - is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" - when time segments are strings - is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time - -Coercible::Coercer::Integer.to_decimal - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 +Coercible::Coercer::String.to_decimal + with "+1.0" + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 + with "1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "+1.0E+1" + is expected to eql 0.1e2 + is expected to be an instance of BigDecimal + with "-1.0" + is expected to be an instance of BigDecimal + is expected to eql -0.1e1 + with "1.0E-1" + is expected to eql 0.1e0 + is expected to be an instance of BigDecimal + with "+1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "-1.0E+1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e2 + with "1.0" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "+1.0E-1" + is expected to eql 0.1e0 + is expected to be an instance of BigDecimal + with "1.0E+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e2 + with "-1.0E-1" + is expected to eql -0.1e0 + is expected to be an instance of BigDecimal + with ".1e+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 + with "1.0e-1" + is expected to eql 0.1e0 + is expected to be an instance of BigDecimal + with "+1.0e-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with "+1.0e+1" + is expected to eql 0.1e2 + is expected to be an instance of BigDecimal + with ".1" + is expected to eql 0.1e0 + is expected to be an instance of BigDecimal + with ".1E+1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "-1.0e+1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e2 + with ".1e-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e-1 + with ".1E-1" + is expected to eql 0.1e-1 + is expected to be an instance of BigDecimal + with an invalid decimal string + is expected to raise Coercible::UnsupportedCoercion + with "-1" + is expected to eql -0.1e1 + is expected to be an instance of BigDecimal + with "-1.0e-1" + is expected to eql -0.1e0 + is expected to be an instance of BigDecimal + with "1.0e+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e2 -Configuring coercers -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/integration/configuring_coercers_spec.rb:12:in `block (2 levels) in '. - allows to configure coercers +Coercible::Coercer::Numeric.to_float + is expected to eql 1.0 -Coercible::Coercer::Array#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false +Coercible::Coercer::Time.to_integer + is expected to eql 1772232764 -Coercible::Coercer::Float#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true +Coercible::Coercer::Integer#datetime_proc + with Rubinius + is expected to be an instance of Proc + with other Ruby VMs + is expected to be an instance of Proc Deprecation Warnings: RSpec::Core::Configuration#treat_symbols_as_metadata_keys_with_true_values= is deprecated, it is now set to true as default and setting it to false has no effect. -Using `should_receive` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:18:in `block (3 levels) in '. +Using `stub` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/date_time/to_time_spec.rb:25:in `block (3 levels) in '. If you need more of the backtrace for any of these deprecations to @@ -1808,54 +1844,54 @@ 2 deprecation warnings total -Top 10 slowest examples (0.03902 seconds, 5.6% of total time): - Coercible::Coercer::Numeric.to_integer is expected to eql 1 - 0.00588 seconds ./spec/unit/coercible/coercer/numeric/to_integer_spec.rb:9 - Coercible::Coercer::String.to_float with "+1.0" is expected to be an instance of Float - 0.00542 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:39 - Coercible::Coercer::Date.to_string is expected to be an instance of String - 0.0054 seconds ./spec/unit/coercible/coercer/date/to_string_spec.rb:9 - Coercible::Coercer::String.to_datetime with a valid date string including time part it should behave like a correct datetime object month is expected to == 7 - 0.00522 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:7 - Coercible::Coercer::String.to_decimal with "-1.0E+1" is expected to eql -0.1e2 - 0.00487 seconds ./spec/unit/coercible/coercer/string/to_decimal_spec.rb:38 - Coercible::Coercer::String behaves like Configurable .config_keys is expected not to be empty - 0.00328 seconds ./spec/shared/unit/configurable.rb:12 - Coercible::Coercer::String.to_boolean with an invalid boolean string is expected to raise Exception - 0.00302 seconds ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:27 - Coercible::Configuration.build is expected to respond to #bar - 0.0022 seconds ./spec/unit/coercible/configuration/class_methods/build_spec.rb:13 - Coercible::Coercer::String.to_boolean with "Y" is expected to equal true - 0.00204 seconds ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:12 - Coercible::Coercer::String.to_float with ".1E-1" is expected to eql 0.01 - 0.00171 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:41 +Top 10 slowest examples (0.01986 seconds, 4.8% of total time): + Coercible::Coercer::Object.to_array when the value returns nil from #to_ary wraps the value in an Array if #to_a is not available + 0.00298 seconds ./spec/unit/coercible/coercer/object/to_array_spec.rb:47 + Coercible::Coercer::String.to_integer with "1.0E+1" is expected to be a kind of Integer + 0.00252 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:44 + Coercible::Coercer::Integer.to_boolean when the fixnum is 1 is expected to equal true + 0.00249 seconds ./spec/unit/coercible/coercer/integer/to_boolean_spec.rb:11 + Coercible::Coercer::Decimal#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true + 0.00222 seconds ./spec/shared/unit/coerced_predicate.rb:5 + Coercible::Coercer::Integer behaves like Configurable .config_keys is expected not to be empty + 0.00188 seconds ./spec/shared/unit/configurable.rb:12 + Configuring coercers allows to configure coercers + 0.00181 seconds ./spec/integration/configuring_coercers_spec.rb:4 + Coercible::Coercer::DateTime.to_datetime is expected to equal # + 0.00171 seconds ./spec/unit/coercible/coercer/date_time/to_datetime_spec.rb:9 + Coercible::Coercer.new config is expected to respond to #string + 0.00159 seconds ./spec/unit/coercible/coercer/class_methods/new_spec.rb:11 + Coercible::Coercer::DateTime.to_time when DateTime supports #to_time is expected to equal 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + 0.00138 seconds ./spec/unit/coercible/coercer/date_time/to_time_spec.rb:28 + Coercible::Coercer::TimeCoercions.to_date when the value does not respond to #to_date is expected to be an instance of Date + 0.00125 seconds ./spec/unit/coercible/coercer/time_coercions/to_date_spec.rb:30 Top 10 slowest example groups: - Coercible::Coercer::Numeric.to_integer - 0.00637 seconds average (0.00637 seconds / 1 example) ./spec/unit/coercible/coercer/numeric/to_integer_spec.rb:3 - Coercible::Coercer::String.config - 0.00629 seconds average (0.00629 seconds / 1 example) ./spec/unit/coercible/coercer/string/class_methods/config_spec.rb:3 - Coercible::Coercer::String.to_symbol - 0.00482 seconds average (0.00482 seconds / 1 example) ./spec/unit/coercible/coercer/string/to_symbol_spec.rb:3 - Coercible::Coercer::Integer#coerced? - 0.004 seconds average (0.008 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/coerced_predicate_spec.rb:3 + Coercible::Coercer::DateTime.to_datetime + 0.0026 seconds average (0.0026 seconds / 1 example) ./spec/unit/coercible/coercer/date_time/to_datetime_spec.rb:3 + Coercible::Coercer::FalseClass.to_string + 0.00247 seconds average (0.00493 seconds / 2 examples) ./spec/unit/coercible/coercer/false_class/to_string_spec.rb:3 + Coercible::Coercer::DateTime.to_time + 0.00247 seconds average (0.0074 seconds / 3 examples) ./spec/unit/coercible/coercer/date_time/to_time_spec.rb:3 + Configuring coercers + 0.0022 seconds average (0.0022 seconds / 1 example) ./spec/integration/configuring_coercers_spec.rb:3 + Coercible::Coercer::Float#coerced? + 0.00211 seconds average (0.00422 seconds / 2 examples) ./spec/unit/coercible/coercer/float/coerced_predicate_spec.rb:3 + Coercible::Coercer::Decimal#coerced? + 0.00206 seconds average (0.00413 seconds / 2 examples) ./spec/unit/coercible/coercer/decimal/coerced_predicate_spec.rb:3 Coercible::Coercer::Object.to_hash - 0.00359 seconds average (0.00718 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_hash_spec.rb:3 - Coercible::Coercer::Date.to_string - 0.00354 seconds average (0.00708 seconds / 2 examples) ./spec/unit/coercible/coercer/date/to_string_spec.rb:3 - Coercible::Coercer::String.to_datetime - 0.00253 seconds average (0.0379 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:14 - Coercible::Coercer::String.to_boolean - 0.00224 seconds average (0.05143 seconds / 23 examples) ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:3 - Coercible::Coercer::Float.to_decimal - 0.00213 seconds average (0.00426 seconds / 2 examples) ./spec/unit/coercible/coercer/float/to_decimal_spec.rb:3 - Coercible::Coercer::String.to_time - 0.00212 seconds average (0.03175 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_time_spec.rb:14 + 0.00202 seconds average (0.00405 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_hash_spec.rb:3 + Coercible::Coercer::Numeric.to_decimal + 0.00199 seconds average (0.00397 seconds / 2 examples) ./spec/unit/coercible/coercer/numeric/to_decimal_spec.rb:3 + Coercible::Coercer::Integer#to_datetime + 0.00197 seconds average (0.00197 seconds / 1 example) ./spec/unit/coercible/coercer/integer/to_datetime_spec.rb:3 + Coercible::Coercer::String.to_symbol + 0.0019 seconds average (0.0019 seconds / 1 example) ./spec/unit/coercible/coercer/string/to_symbol_spec.rb:3 -Finished in 0.69072 seconds (files took 0.51618 seconds to load) +Finished in 0.41433 seconds (files took 0.32007 seconds to load) 396 examples, 0 failures -Randomized with seed 13453 +Randomized with seed 49166 /usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner @@ -1869,318 +1905,344 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 58466 +Randomized with seed 7488 -Coercible::Coercer::TimeCoercions.to_time - when the value responds to #to_time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" +Coercible::Coercer::Object.to_string + when the value responds to #to_str + is expected to equal # + when the value does not respond to #to_str + is expected to raise Coercible::UnsupportedCoercion + +Coercible::Coercer::DateTime.to_time + when DateTime supports #to_time + is expected to equal 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + when DateTime does not support #to_time is expected to be an instance of Time - when the value does not respond to #to_time is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time -Coercible::Coercer::Decimal.to_float - is expected to be an instance of Float - is expected to eql 1.0 +Coercible::Coercer#[] + with a known type + is expected to be an instance of Coercible::Coercer::String + with an unknown type + is expected to be an instance of Coercible::Coercer::Object -Coercible::Coercer::FalseClass#coerced? +Coercible::Coercer::Configurable.config + is expected to equal # + +Coercible::Coercer::Date#coerced? behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false with a primitive value is expected to equal true + with a non-primitive value + is expected to equal false -Coercible::Coercer::Integer.to_decimal - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal +Coercible::Coercer::Integer#datetime_proc + with Rubinius + is expected to be an instance of Proc + with other Ruby VMs + is expected to be an instance of Proc -Coercible::Coercer::Decimal.to_string - is expected to eql "1.0" - is expected to be an instance of String +Coercible::Configuration.build + is expected to respond to #foo= + is expected to respond to #foo + is expected to respond to #bar= + is expected to be an instance of Coercible::Configuration + is expected to respond to #bar Coercible::Coercer::Time.to_time is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" -Coercible::Coercer::Decimal.to_decimal - is expected to equal 0.1e1 - -Coercible::Coercer::DateTime.to_string - is expected to eql "2011-01-01T00:00:00+00:00" - is expected to be an instance of String - -Coercible::Coercer::DateTime#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false - Coercible::Coercer::Configurable.config_name is expected to equal :test -Coercible::Coercer::String.to_symbol - is expected to equal :value +Coercible::Coercer::Integer.to_decimal + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal Coercible::Coercer::Symbol.to_string - is expected to be an instance of String is expected to eql "piotr" + is expected to be an instance of String -Coercible::Coercer::Object#inspect - is expected to == "#" +Coercible::Coercer::Decimal.to_integer + is expected to be a kind of Integer + is expected to eql 1 -Coercible::Coercer::Object#method_missing - when method matches coercion method regexp - is expected to equal # - when method doesn't match coercion method regexp - is expected to raise NoMethodError +Coercible::Coercer::Float.to_integer + is expected to be a kind of Integer + is expected to eql 1 Coercible::Coercer::Float#to_float is expected to eql "2013-02-16 17:44:32.120" -Coercible::Coercer::TimeCoercions.to_date - when the value does not respond to #to_date - is expected to eql # - is expected to be an instance of Date - when the value responds to #to_date - is expected to be an instance of Date - is expected to eql # - -Coercible::Coercer::Date.to_date - is expected to equal # +Coercible::Coercer::Integer#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::Time#coerced? +Coercible::Coercer::DateTime#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false with a primitive value is expected to equal true -Coercible::Coercer::Integer#datetime_format - with other Ruby VMs - is expected to == "%s" - with Rubinius - is expected to == "%Q" +Coercible::Coercer::Date.to_datetime + when Date does not support #to_datetime + is expected to eql # + is expected to be an instance of DateTime + when Date supports #to_datetime + is expected to equal # -Coercible::Coercer::String.to_float +Coercible::Coercer::String.to_decimal + with ".1e-1" + is expected to eql 0.1e-1 + is expected to be an instance of BigDecimal + with "1.0E-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with "+1.0E+1" + is expected to eql 0.1e2 + is expected to be an instance of BigDecimal + with "+1.0E-1" + is expected to eql 0.1e0 + is expected to be an instance of BigDecimal + with "+1.0e-1" + is expected to eql 0.1e0 + is expected to be an instance of BigDecimal + with ".1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with an invalid decimal string + is expected to raise Coercible::UnsupportedCoercion + with "1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 + with "-1.0e+1" + is expected to eql -0.1e2 + is expected to be an instance of BigDecimal + with "+1.0" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with ".1E-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e-1 + with "-1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e1 + with "-1.0e-1" + is expected to eql -0.1e0 + is expected to be an instance of BigDecimal + with ".1E+1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "-1.0E-1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e0 + with "1.0e-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with ".1e+1" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "-1.0" + is expected to be an instance of BigDecimal + is expected to eql -0.1e1 + with "-1.0E+1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e2 + with "+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 with "1.0E+1" + is expected to eql 0.1e2 + is expected to be an instance of BigDecimal + with "1.0" + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + with "1.0e+1" + is expected to eql 0.1e2 + is expected to be an instance of BigDecimal + with "+1.0e+1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e2 + +Coercible::Coercer::Time#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false + +Coercible::Coercer::DateTime.to_date + when DateTime does not support #to_date + is expected to be an instance of Date + is expected to eql # + when DateTime supports #to_date + is expected to equal # + +Coercible::Coercer::String.to_float + with "1.0e-1" + is expected to eql 0.1 is expected to be an instance of Float - is expected to eql 10.0 - with "1e1" - is expected to eql 10.0 + with "+1e-1" + is expected to be an instance of Float + is expected to eql 0.1 + with "1.0E-1" + is expected to eql 0.1 + is expected to be an instance of Float + with "-1E1" is expected to be an instance of Float - with "-1.0e+1" is expected to eql -10.0 + with "+1.0E+1" + is expected to eql 10.0 is expected to be an instance of Float - with "+1" - is expected to eql 1.0 + with "-1.0e-1" is expected to be an instance of Float - with ".1" + is expected to eql -0.1 + with ".1e-1" + is expected to eql 0.01 is expected to be an instance of Float - is expected to eql 0.1 + string starts with e + is expected to raise Coercible::UnsupportedCoercion with "+1.0e-1" - is expected to be an instance of Float is expected to eql 0.1 - with "-1.0e-1" is expected to be an instance of Float - is expected to eql -0.1 - with "-1" - is expected to eql -1.0 + with "+1.0E-1" + is expected to eql 0.1 is expected to be an instance of Float - with "1.0e+1" - is expected to eql 10.0 + with ".1E+1" + is expected to eql 1.0 is expected to be an instance of Float - with "1.0e-1" + with "1.0" + is expected to eql 1.0 is expected to be an instance of Float - is expected to eql 0.1 - with "-1.0E-1" + with "1E+1" is expected to be an instance of Float + is expected to eql 10.0 + with an invalid float string + is expected to raise Coercible::UnsupportedCoercion + with "-1e-1" is expected to eql -0.1 - with ".1E-1" - is expected to eql 0.01 is expected to be an instance of Float + with "-1.0" + is expected to eql -1.0 + is expected to be an instance of Float + with ".1" + is expected to be an instance of Float + is expected to eql 0.1 with "1" is expected to eql 1.0 is expected to be an instance of Float + with "1.0E+1" + is expected to be an instance of Float + is expected to eql 10.0 with "+1.0" is expected to be an instance of Float is expected to eql 1.0 - with "+1e-1" - is expected to eql 0.1 - is expected to be an instance of Float - with "-1e-1" - is expected to eql -0.1 + with "1e1" + is expected to eql 10.0 is expected to be an instance of Float - with "1E+1" + with "1.0e+1" is expected to eql 10.0 is expected to be an instance of Float - with "-1E1" + with "-1.0e+1" is expected to eql -10.0 is expected to be an instance of Float - with ".1E+1" - is expected to eql 1.0 - is expected to be an instance of Float - with "1.0E-1" - is expected to eql 0.1 + with "+1.0e+1" is expected to be an instance of Float - with "+1.0E+1" is expected to eql 10.0 + with "-1" is expected to be an instance of Float - with "-1.0" is expected to eql -1.0 + with "-1.0E+1" is expected to be an instance of Float - with an invalid float string - is expected to raise Coercible::UnsupportedCoercion - with ".1e-1" - is expected to eql 0.01 - is expected to be an instance of Float - with "1.0" + is expected to eql -10.0 + with ".1e+1" is expected to be an instance of Float is expected to eql 1.0 - with ".1e+1" + with "+1" is expected to eql 1.0 is expected to be an instance of Float - with "+1.0E-1" - is expected to be an instance of Float - is expected to eql 0.1 - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with "-1.0E+1" - is expected to eql -10.0 + with "-1.0E-1" is expected to be an instance of Float - with "+1.0e+1" - is expected to eql 10.0 + is expected to eql -0.1 + with ".1E-1" is expected to be an instance of Float + is expected to eql 0.01 -Coercible::Coercer::Float.to_integer - is expected to eql 1 - is expected to be a kind of Integer +Coercible::Coercer::TrueClass#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::Integer#to_datetime - is expected to eql "2013-02-16 17:44:32.000" +Coercible::Coercer::Numeric.to_float + is expected to eql 1.0 -Configuring coercers -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/integration/configuring_coercers_spec.rb:12:in `block (2 levels) in '. - allows to configure coercers +Coercible::Coercer::FalseClass#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false -Coercible::Coercer::String.to_time - with a valid time string - including time part - it should behave like a correct time object - is expected to be an instance of Time - month - is expected to == 7 - min - is expected to == 44 - sec - is expected to == 50 - hour - is expected to == 13 - year - is expected to == 2011 - day - is expected to == 22 - not including time part - it should behave like a correct time object - is expected to be an instance of Time - year - is expected to == 2011 - day - is expected to == 22 - sec - is expected to == 0 - month - is expected to == 7 - hour - is expected to == 0 - min - is expected to == 0 - with an invalid date time string - is expected to raise Coercible::UnsupportedCoercion +Coercible::Coercer::Object.to_array + when the value returns nil from #to_ary + wraps the value in an Array if #to_a is not available + calls #to_a as a fallback + when the value responds to #to_a but not #to_ary + is expected to equal # + when the value does not respond to #to_ary or #to_a + is expected to be an instance of Array + is expected to == [#] + when the value responds to #to_ary + does not call #to_a if #to_ary is available + is expected to equal # -Coercible::Coercer::Float#coerced? +Coercible::Coercer::String#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false with a primitive value is expected to equal true -Coercible::Coercer::String.to_decimal - with "+1.0e+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e2 - with ".1e-1" - is expected to eql 0.1e-1 - is expected to be an instance of BigDecimal - with "-1.0E-1" - is expected to be an instance of BigDecimal - is expected to eql -0.1e0 - with "1.0e+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e2 - with "-1.0E+1" - is expected to be an instance of BigDecimal - is expected to eql -0.1e2 - with "-1.0e-1" - is expected to eql -0.1e0 - is expected to be an instance of BigDecimal - with "+1.0E-1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with "1.0" - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - with "-1" - is expected to eql -0.1e1 - is expected to be an instance of BigDecimal - with an invalid decimal string - is expected to raise Coercible::UnsupportedCoercion - with "1.0E+1" - is expected to eql 0.1e2 - is expected to be an instance of BigDecimal - with "1.0E-1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with "1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with ".1E-1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e-1 - with "-1.0e+1" - is expected to eql -0.1e2 - is expected to be an instance of BigDecimal - with "+1.0E+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e2 - with "+1.0" - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - with "+1" - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - with "+1.0e-1" - is expected to eql 0.1e0 - is expected to be an instance of BigDecimal - with ".1E+1" - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal - with "1.0e-1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with ".1e+1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with ".1" - is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with "-1.0" - is expected to be an instance of BigDecimal - is expected to eql -0.1e1 +Coercible::Coercer::TimeCoercions.to_datetime + when the value does not respond to #to_datetime + is expected to eql # + is expected to be an instance of DateTime + when the value responds to #to_datetime + is expected to eql # + is expected to be an instance of DateTime + +Coercible::Coercer.new + is expected to be an instance of Coercible::Coercer + config + is expected to be an instance of Coercible::Configuration + config + is expected to respond to #string= + config + is expected to respond to #string + +Coercible::Coercer::Object#method_missing + when method matches coercion method regexp + is expected to equal # + when method doesn't match coercion method regexp + is expected to raise NoMethodError + +Coercible::Coercer::Float.to_float + is expected to equal 1.0 + +Coercible::Coercer::TrueClass.to_string + is expected to be an instance of String + is expected to eql "true" Coercible::Coercer::Hash.to_time when time segments are strings - is expected to be an instance of Time is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time when time segments are integers is expected to be an instance of Time is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" @@ -2188,502 +2250,476 @@ uses the Time now to populate the segments is expected to be an instance of Time -Coercible::Coercer::Float.to_string - is expected to be an instance of String - is expected to eql "1.0" - -Coercible::Coercer::Symbol#coerced? +Coercible::Coercer::Array#coerced? behaves like Coercible::Coercer#coerced? with a non-primitive value is expected to equal false with a primitive value is expected to equal true +Coercible::Coercer::Numeric.to_string + is expected to eql "1/1" + +Coercible::Coercer::Decimal.to_float + is expected to eql 1.0 + is expected to be an instance of Float + +Coercible::Coercer::Date.to_string + is expected to eql "2011-01-01" + is expected to be an instance of String + Coercible::Coercer::Hash.to_date when time segments are integers is expected to be an instance of Date is expected to eql # + when time segments are strings + is expected to be an instance of Date + is expected to eql # when time segments are missing is expected to be an instance of Date uses the Time now to populate the segments - when time segments are strings + +Coercible::Coercer::TimeCoercions.to_date + when the value does not respond to #to_date + is expected to eql # is expected to be an instance of Date + when the value responds to #to_date is expected to eql # + is expected to be an instance of Date -Coercible::Coercer::TimeCoercions.to_string - is expected to be an instance of String - is expected to eql "2011-01-01" +Coercible::Coercer::Numeric.to_decimal + with an object responding to #to_d + is expected to eql 0.1e1 + with an object not responding to #to_d + is expected to eql 0.1e1 -Coercible::Coercer::Integer.to_integer - is expected to equal 1 +Coercible::Coercer::Object.to_integer + when the value responds to #to_int + is expected to equal # + when the value does not respond to #to_int + is expected to raise Coercible::UnsupportedCoercion -Coercible::Coercer::Integer.to_string +Coercible::Coercer::Decimal#coerced? + behaves like Coercible::Coercer#coerced? + with a primitive value + is expected to equal true + with a non-primitive value + is expected to equal false + +Coercible::Coercer::Array#to_set + is expected to eql "a", 1, "b", and 2 + is expected to be an instance of Set + +Coercible::Coercer::Object#inspect + is expected to == "#" + +Coercible::Coercer::Float.to_string is expected to be an instance of String - is expected to eql "1" + is expected to eql "1.0" + +Coercible::Coercer::Date.to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time Coercible::Coercer::Integer.to_float is expected to eql 1.0 is expected to be an instance of Float -Coercible::Coercer::Numeric.to_float - is expected to eql 1.0 +Coercible::Coercer::String.to_time + with a valid time string + including time part + it should behave like a correct time object + is expected to be an instance of Time + year + is expected to == 2011 + sec + is expected to == 50 + min + is expected to == 44 + month + is expected to == 7 + hour + is expected to == 13 + day + is expected to == 22 + not including time part + it should behave like a correct time object + is expected to be an instance of Time + year + is expected to == 2011 + hour + is expected to == 0 + month + is expected to == 7 + sec + is expected to == 0 + day + is expected to == 22 + min + is expected to == 0 + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion -Coercible::Coercer::Date.to_string - is expected to eql "2011-01-01" - is expected to be an instance of String +Coercible::Coercer::Symbol#coerced? + behaves like Coercible::Coercer#coerced? + with a non-primitive value + is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer.new - is expected to be an instance of Coercible::Coercer - config - is expected to respond to #string - config - is expected to be an instance of Coercible::Configuration - config - is expected to respond to #string= +Coercible::Coercer::Object#coerced? + is expected to equal true -Coercible::Coercer::Numeric.to_integer - is expected to eql 1 +Coercible::Coercer::String.to_boolean + with an invalid boolean string +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/string/to_boolean_spec.rb:28:in `block (3 levels) in '. + is expected to raise Exception + with "n" + is expected to equal false + with "off" + is expected to equal false + with "y" + is expected to equal true + with "T" + is expected to equal true + with "t" + is expected to equal true + with "N" + is expected to equal false + with "ON" + is expected to equal true + with "F" + is expected to equal false + with "on" + is expected to equal true + with "false" + is expected to equal false + with "YES" + is expected to equal true + with "0" + is expected to equal false + with "TRUE" + is expected to equal true + with "NO" + is expected to equal false + with "yes" + is expected to equal true + with "true" + is expected to equal true + with "f" + is expected to equal false + with "FALSE" + is expected to equal false + with "no" + is expected to equal false + with "1" + is expected to equal true + with "Y" + is expected to equal true + with "OFF" + is expected to equal false -Coercible::Coercer::TrueClass.to_string - is expected to be an instance of String - is expected to eql "true" +Coercible::Coercer::Decimal.to_decimal + is expected to equal 0.1e1 + +Coercible::Coercer::String.to_date + with a valid date string + is expected to be an instance of Date + month + is expected to == 7 + day + is expected to == 22 + year + is expected to == 2011 + with an invalid date string + is expected to raise Coercible::UnsupportedCoercion + +Coercible::Coercer::String.to_constant + with a non-namespaced qualified name + is expected to equal String + when the name is invalid + is expected to raise NameError + with a namespaced qualified name + is expected to equal Coercible::Coercer::String + with a non-namespaced name + is expected to equal String + with a namespaced name + is expected to equal Coercible::Coercer::String + with a name outside of the namespace + is expected to raise NameError + when the name is unknown + is expected to raise NameError Coercible::Coercer::Hash.to_datetime - when time segments are strings - is expected to be an instance of DateTime - is expected to eql # when time segments are integers is expected to eql # is expected to be an instance of DateTime when time segments are missing + is expected to be an instance of DateTime uses the Time now to populate the segments + when time segments are strings is expected to be an instance of DateTime + is expected to eql # -Coercible::Coercer::Object.to_string - when the value does not respond to #to_str - is expected to raise Coercible::UnsupportedCoercion - when the value responds to #to_str - is expected to equal # +Coercible::Coercer::Integer#to_datetime + is expected to eql "2013-02-16 17:44:32.000" -Coercible::Coercer::Integer#datetime_proc - with Rubinius - is expected to be an instance of Proc - with other Ruby VMs - is expected to be an instance of Proc +Coercible::Coercer::DateTime.to_string + is expected to be an instance of String + is expected to eql "2011-01-01T00:00:00+00:00" -Coercible::Coercer::Float.to_decimal - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal +Coercible::Coercer::FalseClass.to_string + is expected to be an instance of String + is expected to eql "false" -Coercible::Coercer::Object.to_array - when the value responds to #to_ary - does not call #to_a if #to_ary is available - is expected to equal # - when the value responds to #to_a but not #to_ary - is expected to equal # - when the value does not respond to #to_ary or #to_a - is expected to == [#] - is expected to be an instance of Array - when the value returns nil from #to_ary - calls #to_a as a fallback - wraps the value in an Array if #to_a is not available +Coercible::Coercer::String.config + boolean_map + is expected to equal {"0"=>false, "1"=>true, "f"=>false, "false"=>false, "n"=>false, "no"=>false, "off"=>false, "on"=>true, "t"=>true, "true"=>true, "y"=>true, "yes"=>true} + +Coercible::Coercer::Decimal.to_string + is expected to be an instance of String + is expected to eql "1.0" Coercible::Coercer::String.to_integer - with "1.0E+1" - is expected to be a kind of Integer - is expected to eql 10 - with "1.0e-1" - is expected to be a kind of Integer - is expected to eql 0 - with ".1E+1" - is expected to eql 1 - is expected to be a kind of Integer with "+1.0E+1" is expected to eql 10 is expected to be a kind of Integer - with "+1e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "1" + with ".1e+1" is expected to be a kind of Integer is expected to eql 1 - with "+1.0e-1" - is expected to eql 0 - is expected to be a kind of Integer - with ".1E-1" - is expected to be a kind of Integer - is expected to eql 0 with "-1.0" is expected to eql -1 is expected to be a kind of Integer with "-1.0e-1" - is expected to be a kind of Integer - is expected to eql 0 - with "-1e-1" is expected to eql 0 is expected to be a kind of Integer - with "1.7976931348623158e+307" - is expected to be a kind of Integer - is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 - with ".1e+1" + with "+1e-1" + is expected to eql 0 is expected to be a kind of Integer - is expected to eql 1 - with "-1.0E+1" + with "-1E1" is expected to eql -10 is expected to be a kind of Integer - with "1.0" + with "-1.0E-1" + is expected to eql 0 is expected to be a kind of Integer - is expected to eql 1 - with ".1e-1" + with "-1e-1" is expected to eql 0 is expected to be a kind of Integer string starts with e is expected to raise Coercible::UnsupportedCoercion - with ".1" - is expected to eql 0 - is expected to be a kind of Integer - with "1e1" + with "1" is expected to be a kind of Integer - is expected to eql 10 + is expected to eql 1 with "+1.0E-1" is expected to eql 0 is expected to be a kind of Integer - with "+1.0" + with "1.7976931348623158e+307" + is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 is expected to be a kind of Integer - is expected to eql 1 - with "+1.0e+1" + with "1.0e-1" + is expected to eql 0 is expected to be a kind of Integer - is expected to eql 10 - with "1.0e+1" + with "1.0E-1" + is expected to eql 0 is expected to be a kind of Integer - is expected to eql 10 when integer string is big is expected to == 334490140000101135 - with "-1.0e+1" - is expected to eql -10 + with ".1e-1" is expected to be a kind of Integer - with "-1.0E-1" is expected to eql 0 - is expected to be a kind of Integer with an invalid integer string is expected to raise Coercible::UnsupportedCoercion + with "1.0e+1" + is expected to be a kind of Integer + is expected to eql 10 + with "-1.0E+1" + is expected to eql -10 + is expected to be a kind of Integer with "1E+1" is expected to eql 10 is expected to be a kind of Integer - with "+1" + with "1.0" is expected to be a kind of Integer is expected to eql 1 - with "1.0E-1" + with ".1" is expected to eql 0 is expected to be a kind of Integer - with "-1E1" + with ".1E+1" + is expected to eql 1 is expected to be a kind of Integer - is expected to eql -10 - with "-1" + with ".1E-1" is expected to be a kind of Integer - is expected to eql -1 + is expected to eql 0 with "2.2250738585072014e-308" + is expected to eql 0 + is expected to be a kind of Integer + with "-1.0e+1" + is expected to be a kind of Integer + is expected to eql -10 + with "+1" + is expected to be a kind of Integer + is expected to eql 1 + with "+1.0e-1" is expected to be a kind of Integer is expected to eql 0 + with "1e1" + is expected to be a kind of Integer + is expected to eql 10 + with "+1.0" + is expected to be a kind of Integer + is expected to eql 1 + with "+1.0e+1" + is expected to be a kind of Integer + is expected to eql 10 + with "-1" + is expected to eql -1 + is expected to be a kind of Integer + with "1.0E+1" + is expected to eql 10 + is expected to be a kind of Integer -Coercible::Coercer::String.config - boolean_map - is expected to equal {"0"=>false, "1"=>true, "f"=>false, "false"=>false, "n"=>false, "no"=>false, "off"=>false, "on"=>true, "t"=>true, "true"=>true, "y"=>true, "yes"=>true} - -Coercible::Coercer::DateTime.to_date - when DateTime does not support #to_date - is expected to eql # - is expected to be an instance of Date - when DateTime supports #to_date - is expected to equal # - -Coercible::Coercer::Float.to_float - is expected to equal 1.0 - -Coercible::Coercer::Array#to_set - is expected to eql "a", 1, "b", and 2 - is expected to be an instance of Set - -Coercible::Coercer::DateTime.to_datetime - is expected to equal # - -Coercible::Coercer::Date.to_datetime - when Date supports #to_datetime - is expected to equal # - when Date does not support #to_datetime - is expected to be an instance of DateTime - is expected to eql # - -Coercible::Coercer::FalseClass.to_string - is expected to be an instance of String - is expected to eql "false" - -Coercible::Coercer::TimeCoercions.to_datetime - when the value does not respond to #to_datetime - is expected to be an instance of DateTime - is expected to eql # - when the value responds to #to_datetime - is expected to eql # - is expected to be an instance of DateTime - -Coercible::Coercer::Numeric.to_string - is expected to eql "1/1" - -Coercible::Coercer::Date.to_time - is expected to be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - -Coercible::Coercer::String.to_constant - when the name is invalid - is expected to raise NameError - with a non-namespaced qualified name - is expected to equal String - with a namespaced qualified name - is expected to equal Coercible::Coercer::String - with a non-namespaced name - is expected to equal String - with a namespaced name - is expected to equal Coercible::Coercer::String - with a name outside of the namespace - is expected to raise NameError - when the name is unknown - is expected to raise NameError - -Coercible::Coercer::Decimal.to_integer - is expected to be a kind of Integer - is expected to eql 1 - -Coercible::Coercer::String.to_date - with a valid date string - is expected to be an instance of Date - day - is expected to == 22 - month - is expected to == 7 - year - is expected to == 2011 - with an invalid date string - is expected to raise Coercible::UnsupportedCoercion - -Coercible::Configuration.build - is expected to respond to #foo= - is expected to respond to #bar - is expected to be an instance of Coercible::Configuration - is expected to respond to #foo - is expected to respond to #bar= +Coercible::Coercer::Time.to_integer + is expected to eql 1772232765 -Coercible::Coercer::Date#coerced? +Coercible::Coercer::Hash#coerced? behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true with a non-primitive value is expected to equal false + with a primitive value + is expected to equal true -Coercible::Coercer::Integer - behaves like Configurable - .config_keys - is expected to be an instance of Array - is expected not to be empty - .config_name - is expected to be an instance of Symbol - .config_name - is expected to equal :integer - .config - is expected to be an instance of Coercible::Configuration - responds to configuration keys +Coercible::Coercer::Integer#datetime_format + with Rubinius + is expected to == "%Q" + with other Ruby VMs + is expected to == "%s" + +Coercible::Coercer::TimeCoercions.to_time + when the value responds to #to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time + when the value does not respond to #to_time + is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" + is expected to be an instance of Time Coercible::Coercer::String behaves like Configurable - .config - responds to configuration keys - is expected to be an instance of Coercible::Configuration .config_name is expected to equal :string .config_name is expected to be an instance of Symbol .config_keys - is expected not to be empty is expected to be an instance of Array + is expected not to be empty + .config + responds to configuration keys + is expected to be an instance of Coercible::Configuration -Coercible::Coercer::Integer#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false - -Coercible::Coercer::TrueClass#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false - -Coercible::Coercer::Numeric.to_decimal - with an object responding to #to_d - is expected to eql 0.1e1 - with an object not responding to #to_d - is expected to eql 0.1e1 - -Coercible::Coercer::String.to_boolean - with "OFF" - is expected to equal false - with "NO" - is expected to equal false - with "on" - is expected to equal true - with an invalid boolean string -WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/string/to_boolean_spec.rb:28:in `block (3 levels) in '. - is expected to raise Exception - with "T" - is expected to equal true - with "yes" - is expected to equal true - with "f" - is expected to equal false - with "no" - is expected to equal false - with "off" - is expected to equal false - with "ON" - is expected to equal true - with "true" - is expected to equal true - with "false" - is expected to equal false - with "1" - is expected to equal true - with "0" - is expected to equal false - with "t" - is expected to equal true - with "Y" - is expected to equal true - with "FALSE" - is expected to equal false - with "y" - is expected to equal true - with "F" - is expected to equal false - with "N" - is expected to equal false - with "YES" - is expected to equal true - with "n" +Coercible::Coercer::Integer.to_boolean + when the fixnum is 0 is expected to equal false - with "TRUE" + when the fixnum is not 1 or 0 + is expected to raise Coercible::UnsupportedCoercion + when the fixnum is 1 is expected to equal true -Coercible::Coercer::Configurable.config - is expected to equal # +Configuring coercers +WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/integration/configuring_coercers_spec.rb:12:in `block (2 levels) in '. + allows to configure coercers -Coercible::Coercer::Decimal#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false +Coercible::Coercer::String.to_symbol + is expected to equal :value -Coercible::Coercer::Object.to_integer - when the value responds to #to_int - is expected to equal # - when the value does not respond to #to_int - is expected to raise Coercible::UnsupportedCoercion +Coercible::Coercer::Integer.to_integer + is expected to equal 1 -Coercible::Coercer::Array#coerced? +Coercible::Coercer::Float#coerced? behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true with a non-primitive value is expected to equal false + with a primitive value + is expected to equal true + +Coercible::Coercer::Integer.to_string + is expected to be an instance of String + is expected to eql "1" + +Coercible::Coercer::Float.to_decimal + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 Coercible::Coercer::Object.to_hash - when the value does not respond to #to_hash - is expected to raise Coercible::UnsupportedCoercion when the value responds to #to_hash is expected to equal # + when the value does not respond to #to_hash + is expected to raise Coercible::UnsupportedCoercion -Coercible::Coercer::Time.to_integer - is expected to eql 1737822543 +Coercible::Coercer::Date.to_date + is expected to equal # -Coercible::Coercer::DateTime.to_time - when DateTime supports #to_time - is expected to equal 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - when DateTime does not support #to_time - is expected to be an instance of Time - is expected to eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" +Coercible::Coercer::Integer + behaves like Configurable + .config_name + is expected to be an instance of Symbol + .config + is expected to be an instance of Coercible::Configuration + responds to configuration keys + .config_keys + is expected to be an instance of Array + is expected not to be empty + .config_name + is expected to equal :integer -Coercible::Coercer::Object#coerced? - is expected to equal true +Coercible::Coercer::DateTime.to_datetime + is expected to equal # -Coercible::Coercer#[] - with a known type - is expected to be an instance of Coercible::Coercer::String - with an unknown type - is expected to be an instance of Coercible::Coercer::Object +Coercible::Coercer::Numeric.to_integer + is expected to eql 1 + +Coercible::Coercer::TimeCoercions.to_string + is expected to be an instance of String + is expected to eql "2011-01-01" Coercible::Coercer::String.to_datetime - with an invalid date time string - is expected to raise Coercible::UnsupportedCoercion with a valid date string - including time part + not including time part it should behave like a correct datetime object is expected to be an instance of DateTime hour - is expected to == 13 + is expected to == 0 + year + is expected to == 2011 + min + is expected to == 0 month is expected to == 7 - min - is expected to == 44 sec - is expected to == 50 + is expected to == 0 day is expected to == 22 - year - is expected to == 2011 - not including time part + including time part it should behave like a correct datetime object is expected to be an instance of DateTime - day - is expected to == 22 - sec - is expected to == 0 - hour - is expected to == 0 - min - is expected to == 0 year is expected to == 2011 month is expected to == 7 - -Coercible::Coercer::Integer.to_boolean - when the fixnum is 0 - is expected to equal false - when the fixnum is not 1 or 0 + hour + is expected to == 13 + day + is expected to == 22 + sec + is expected to == 50 + min + is expected to == 44 + with an invalid date time string is expected to raise Coercible::UnsupportedCoercion - when the fixnum is 1 - is expected to equal true - -Coercible::Coercer::Hash#coerced? - behaves like Coercible::Coercer#coerced? - with a primitive value - is expected to equal true - with a non-primitive value - is expected to equal false - -Coercible::Coercer::String#coerced? - behaves like Coercible::Coercer#coerced? - with a non-primitive value - is expected to equal false - with a primitive value - is expected to equal true Deprecation Warnings: RSpec::Core::Configuration#treat_symbols_as_metadata_keys_with_true_values= is deprecated, it is now set to true as default and setting it to false has no effect. -Using `should_receive` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:18:in `block (3 levels) in '. +Using `should_receive` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /build/reproducible-path/ruby-coercible-1.0.0/spec/unit/coercible/coercer/object/to_string_spec.rb:13:in `block (3 levels) in '. If you need more of the backtrace for any of these deprecations to @@ -2693,54 +2729,54 @@ 2 deprecation warnings total -Top 10 slowest examples (0.04531 seconds, 8.2% of total time): - Coercible::Coercer::String.to_integer with ".1e+1" is expected to be a kind of Integer - 0.00746 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:44 - Coercible::Coercer::String.to_integer with "1.0" is expected to be a kind of Integer - 0.00677 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:44 - Coercible::Coercer::String.to_integer with "-1.0E+1" is expected to be a kind of Integer - 0.0066 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:44 - Coercible::Coercer::String.to_boolean with "T" is expected to equal true - 0.00471 seconds ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:12 - Coercible::Coercer::Object#inspect is expected to == "#" - 0.00436 seconds ./spec/unit/coercible/coercer/object/inspect_spec.rb:8 - Coercible::Coercer::String.to_symbol is expected to equal :value - 0.00415 seconds ./spec/unit/coercible/coercer/string/to_symbol_spec.rb:8 - Coercible::Coercer::Integer behaves like Configurable .config_keys is expected not to be empty - 0.00308 seconds ./spec/shared/unit/configurable.rb:12 - Coercible::Coercer::Integer.to_float is expected to eql 1.0 - 0.00295 seconds ./spec/unit/coercible/coercer/integer/to_float_spec.rb:11 - Coercible::Coercer::String.to_decimal with "-1.0E+1" is expected to be an instance of BigDecimal - 0.00271 seconds ./spec/unit/coercible/coercer/string/to_decimal_spec.rb:36 - Coercible::Coercer::String.to_integer with "-1E1" is expected to eql -10 - 0.00253 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 +Top 10 slowest examples (0.01967 seconds, 5.2% of total time): + Coercible::Coercer::String.to_datetime with a valid date string including time part it should behave like a correct datetime object sec is expected to == 50 + 0.00303 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:11 + Coercible::Coercer::Object.to_array when the value returns nil from #to_ary wraps the value in an Array if #to_a is not available + 0.00293 seconds ./spec/unit/coercible/coercer/object/to_array_spec.rb:47 + Coercible::Coercer::String.to_integer with "-1.0" is expected to be a kind of Integer + 0.00282 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:44 + Coercible::Coercer::String behaves like Configurable .config_keys is expected not to be empty + 0.00191 seconds ./spec/shared/unit/configurable.rb:12 + Coercible::Coercer::Object.to_string when the value responds to #to_str is expected to equal # + 0.00177 seconds ./spec/unit/coercible/coercer/object/to_string_spec.rb:16 + Coercible::Coercer::String.to_float string starts with e is expected to raise Coercible::UnsupportedCoercion + 0.00177 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:54 + Coercible::Coercer::String.to_integer with "1.7976931348623158e+307" is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 + 0.0016 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::Object.to_string when the value does not respond to #to_str is expected to raise Coercible::UnsupportedCoercion + 0.00149 seconds ./spec/unit/coercible/coercer/object/to_string_spec.rb:20 + Coercible::Configuration.build is expected to respond to #foo= + 0.00129 seconds ./spec/unit/coercible/configuration/class_methods/build_spec.rb:11 + Coercible::Coercer::TimeCoercions.to_datetime when the value does not respond to #to_datetime is expected to eql # + 0.00106 seconds ./spec/unit/coercible/coercer/time_coercions/to_datetime_spec.rb:36 Top 10 slowest example groups: - Coercible::Coercer::Object#inspect - 0.00488 seconds average (0.00488 seconds / 1 example) ./spec/unit/coercible/coercer/object/inspect_spec.rb:3 - Coercible::Coercer::String.to_symbol - 0.00453 seconds average (0.00453 seconds / 1 example) ./spec/unit/coercible/coercer/string/to_symbol_spec.rb:3 - Coercible::Coercer::Numeric.to_string - 0.00328 seconds average (0.00328 seconds / 1 example) ./spec/unit/coercible/coercer/numeric/to_string_spec.rb:3 - Coercible::Coercer::Object#method_missing - 0.00214 seconds average (0.00428 seconds / 2 examples) ./spec/unit/coercible/coercer/object/method_missing_spec.rb:3 - Coercible::Coercer::Integer.to_float - 0.00211 seconds average (0.00423 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/to_float_spec.rb:3 + Coercible::Coercer::Time.to_time + 0.00302 seconds average (0.00302 seconds / 1 example) ./spec/unit/coercible/coercer/time/to_time_spec.rb:3 + Coercible::Coercer::String.to_time + 0.00222 seconds average (0.0333 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_time_spec.rb:14 + Coercible::Coercer::Object.to_string + 0.00221 seconds average (0.00442 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_string_spec.rb:3 + Coercible::Coercer::TimeCoercions.to_datetime + 0.00149 seconds average (0.00596 seconds / 4 examples) ./spec/unit/coercible/coercer/time_coercions/to_datetime_spec.rb:3 Coercible::Coercer::TimeCoercions.to_time - 0.0021 seconds average (0.00841 seconds / 4 examples) ./spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:3 - Coercible::Coercer::FalseClass#coerced? - 0.00185 seconds average (0.0037 seconds / 2 examples) ./spec/unit/coercible/coercer/false_class/coerced_predicate_spec.rb:3 - Coercible::Coercer::Configurable.config - 0.0018 seconds average (0.0018 seconds / 1 example) ./spec/unit/coercible/coercer/configurable/config_spec.rb:3 + 0.00147 seconds average (0.00589 seconds / 4 examples) ./spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:3 + Coercible::Coercer::Date.to_time + 0.00135 seconds average (0.00271 seconds / 2 examples) ./spec/unit/coercible/coercer/date/to_time_spec.rb:3 Coercible::Coercer::Object.to_array - 0.00174 seconds average (0.01215 seconds / 7 examples) ./spec/unit/coercible/coercer/object/to_array_spec.rb:3 - Coercible::Coercer::String.to_integer - 0.00168 seconds average (0.10586 seconds / 63 examples) ./spec/unit/coercible/coercer/string/to_integer_spec.rb:3 + 0.00132 seconds average (0.00921 seconds / 7 examples) ./spec/unit/coercible/coercer/object/to_array_spec.rb:3 + Coercible::Coercer::Symbol#coerced? + 0.00117 seconds average (0.00234 seconds / 2 examples) ./spec/unit/coercible/coercer/symbol/coerced_predicate_spec.rb:3 + Coercible::Coercer::String.to_datetime + 0.00116 seconds average (0.01737 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:14 + Coercible::Coercer::Time#coerced? + 0.00114 seconds average (0.00228 seconds / 2 examples) ./spec/unit/coercible/coercer/time/coerced_predicate_spec.rb:3 -Finished in 0.55334 seconds (files took 0.45243 seconds to load) +Finished in 0.37726 seconds (files took 0.2852 seconds to load) 396 examples, 0 failures -Randomized with seed 58466 +Randomized with seed 7488 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -2782,12 +2818,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/94943/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/17152 and its subdirectories -I: Current time: Sat Jan 25 04:29:08 -12 2025 -I: pbuilder-time-stamp: 1737822548 +I: removing directory /srv/workspace/pbuilder/94943 and its subdirectories +I: Current time: Sat Feb 28 12:52:48 +14 2026 +I: pbuilder-time-stamp: 1772232768