Diff of the two buildlogs: -- --- b1/build.log 2025-02-03 05:47:20.930283257 +0000 +++ b2/build.log 2025-02-03 05:52:04.557511184 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Feb 2 17:45:41 -12 2025 -I: pbuilder-time-stamp: 1738561541 +I: Current time: Mon Feb 3 19:47:29 +14 2025 +I: pbuilder-time-stamp: 1738561649 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -26,52 +26,84 @@ dpkg-source: info: applying rspec3.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/319/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/20635/tmp/hooks/D01_modify_environment starting +debug: Running on virt32z. +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 3 05:47 /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/20635/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/20635/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='armhf' + 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]="arm-unknown-linux-gnueabihf") + 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=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='28863c2379b446179831134ce8c321fc' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - 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='319' - PS1='# ' - PS2='> ' + INVOCATION_ID=a24b131c18d843cea26061cf00457b08 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=20635 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.VzhCGnr2/pbuilderrc_92AS --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.VzhCGnr2/b1 --logfile b1/build.log ruby-coercible_1.0.0-2.1.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.VzhCGnr2/pbuilderrc_gerk --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.VzhCGnr2/b2 --logfile b2/build.log ruby-coercible_1.0.0-2.1.dsc' + SUDO_GID=110 + SUDO_UID=103 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt64b 6.1.0-30-arm64 #1 SMP Debian 6.1.124-1 (2025-01-12) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-30-armmp-lpae #1 SMP Debian 6.1.124-1 (2025-01-12) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/319/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/20635/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -264,7 +296,7 @@ Get: 145 http://deb.debian.org/debian unstable/main armhf ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get: 146 http://deb.debian.org/debian unstable/main armhf ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get: 147 http://deb.debian.org/debian unstable/main armhf ruby-rspec-its all 1.3.0-1 [6864 B] -Fetched 53.4 MB in 2s (28.7 MB/s) +Fetched 53.4 MB in 13s (4129 kB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:armhf. (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 ... 19565 files and directories currently installed.) @@ -751,8 +783,8 @@ Setting up tzdata (2025a-1) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Feb 3 05:46:36 UTC 2025. -Universal Time is now: Mon Feb 3 05:46:36 UTC 2025. +Local time is now: Mon Feb 3 05:49:51 UTC 2025. +Universal Time is now: Mon Feb 3 05:49:51 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up ruby-minitest (5.25.4-1) ... @@ -892,7 +924,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/20635/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/20635/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 @@ -981,50 +1017,39 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 39502 +Randomized with seed 59850 -Coercible::Coercer::FalseClass.to_string - is expected to eql "false" - is expected to be an instance of String - -Coercible::Coercer::DateTime#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 + with a primitive value + is expected to equal true -Coercible::Coercer::Decimal.to_string +Coercible::Coercer::Date.to_string is expected to be an instance of String - is expected to eql "1.0" + is expected to eql "2011-01-01" -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 +Coercible::Coercer::FalseClass.to_string + is expected to be an instance of String + is expected to eql "false" -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 - is expected to be an instance of Coercible::Configuration - responds to configuration keys - .config_name - is expected to be an instance of Symbol +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::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 be an instance of Date - is expected to eql # +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 eql # + is expected to be an instance of DateTime Coercible::Coercer#[] with a known type @@ -1032,332 +1057,397 @@ with an unknown type is expected to be an instance of Coercible::Coercer::Object -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::Date.to_date + is expected to equal # -Coercible::Coercer::Symbol#coerced? +Coercible::Coercer::Time.to_integer + is expected to eql 1738561893 + +Coercible::Coercer::TimeCoercions.to_string + is expected to be an instance of String + is expected to eql "2011-01-01" + +Coercible::Coercer::DateTime.to_datetime + is expected to equal # + +Coercible::Coercer::Decimal.to_integer + is expected to be a kind of Integer + is expected to eql 1 + +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::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::Decimal.to_decimal - is expected to equal 0.1e1 - -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::Float.to_float - is expected to equal 1.0 - -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_symbol + is expected to equal :value -Coercible::Coercer::TimeCoercions.to_string - is expected to eql "2011-01-01" +Coercible::Coercer::Float.to_string + is expected to eql "1.0" is expected to be an instance of String -Coercible::Coercer::Hash.to_datetime - when time segments are integers - 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 strings - is expected to be an instance of DateTime - is expected to eql # - -Coercible::Coercer::Time.to_integer - is expected to eql 1738561623 - -Coercible::Configuration.build - is expected to respond to #foo= - is expected to respond to #bar= - is expected to respond to #bar - is expected to be an instance of Coercible::Configuration - is expected to respond to #foo +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#datetime_proc - with other Ruby VMs - is expected to be an instance of Proc - with Rubinius - is expected to be an instance of Proc +Coercible::Coercer::String.to_datetime + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion + 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 + sec + is expected to == 0 + month + is expected to == 7 + day + is expected to == 22 + min + is expected to == 0 + hour + is expected to == 0 + year + is expected to == 2011 + 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 == 50 + hour + is expected to == 13 + month + is expected to == 7 + year + is expected to == 2011 + min + is expected to == 44 -Coercible::Coercer::Object#inspect - is expected to == "#" +Coercible::Coercer::Float.to_decimal + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal -Coercible::Coercer::Date.to_date - 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::Array#to_set - is expected to be an instance of Set - is expected to eql "a", 1, "b", and 2 +Coercible::Coercer::Configurable.config + is expected to equal # -Coercible::Coercer::Integer.to_float - is expected to be an instance of Float - is expected to eql 1.0 +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::String.to_integer - string starts with e - is expected to raise Coercible::UnsupportedCoercion - with ".1E+1" - is expected to be a kind of Integer - is expected to eql 1 - when integer string is big - is expected to == 334490140000101135 - 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 -10 - with "1e1" + with "1.0e+1" is expected to eql 10 is expected to be a kind of Integer - with "1.0E-1" + with an invalid integer string + is expected to raise Coercible::UnsupportedCoercion + with "2.2250738585072014e-308" 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 + with "1E+1" is expected to eql 10 - with "-1.0e-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 10 - with "+1e-1" - is expected to eql 0 + with ".1E-1" is expected to be a kind of Integer - with "1" + is expected to eql 0 + with "-1" + is expected to eql -1 is expected to be a kind of Integer - is expected to eql 1 - with "1E+1" + with "1.0E+1" is expected to eql 10 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 "-1.0" is expected to be a kind of Integer is expected to eql -1 - with "-1.0E-1" + with ".1" is expected to be a kind of Integer is expected to eql 0 - with "+1.0" - is expected to eql 1 + with "+1.0E-1" is expected to be a kind of Integer - with "2.2250738585072014e-308" is expected to eql 0 + with "1.0e-1" is expected to be a kind of Integer - with "-1e-1" is expected to eql 0 + with "1.7976931348623158e+307" + is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 is expected to be a kind of Integer with "-1E1" - is expected to be a kind of Integer is expected to eql -10 - with "1.0e-1" - is expected to eql 0 is expected to be a kind of Integer - with "+1.0e-1" + with "+1e-1" is expected to be a kind of Integer is expected to eql 0 - with ".1e+1" + with "+1" is expected to be a kind of Integer is expected to eql 1 - with "1.0" + with ".1e+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 10 - with "+1" + with "-1.0e-1" + is expected to eql 0 is expected to be a kind of Integer + with ".1E+1" is expected to eql 1 - with ".1e-1" - is expected to eql 0 is expected to be a kind of Integer - with "1.7976931348623158e+307" - is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 + when integer string is big + is expected to == 334490140000101135 + with "1" + is expected to eql 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 be a kind of Integer - with ".1" is expected to eql 0 + with "1e1" is expected to be a kind of Integer - with ".1E-1" + is expected to eql 10 + string starts with e + is expected to raise Coercible::UnsupportedCoercion + with "-1e-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 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.0e+1" is expected to be a kind of Integer is expected to eql 10 - with "-1" + with "+1.0e-1" is expected to be a kind of Integer - is expected to eql -1 + is expected to eql 0 + with "+1.0" + is expected to eql 1 + is expected to be a kind of Integer + 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 -Coercible::Coercer::Integer#to_datetime - is expected to eql "2013-02-16 17:44:32.000" +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 + 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::Date.to_string - is expected to be an instance of String - is expected to eql "2011-01-01" +Coercible::Coercer::Float#to_float + is expected to eql "2013-02-16 17:44:32.120" -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 eql 0, 0, 0, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time +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::String#coerced? +Coercible::Coercer::Object.to_array + 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 + when the value responds to #to_ary + is expected to equal # + does not call #to_a if #to_ary is available + +Coercible::Coercer::Time.to_time + is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" + +Coercible::Coercer::Hash.to_date + when time segments are strings + 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 integers + is expected to be an instance of Date + is expected to eql # + +Coercible::Coercer::Decimal#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? 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::Decimal.to_integer - is expected to be a kind of Integer - is expected to eql 1 - -Coercible::Coercer::String.to_symbol - is expected to equal :value +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_datetime - with an invalid date time string +Coercible::Coercer::Object.to_hash + when the value does not respond to #to_hash 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 - year - is expected to == 2011 - day - is expected to == 22 - hour - is expected to == 13 - sec - is expected to == 50 - month - is expected to == 7 - min - is expected to == 44 - 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 - hour - is expected to == 0 - day - is expected to == 22 - min - is expected to == 0 - month - is expected to == 7 - sec - is expected to == 0 + when the value responds to #to_hash + 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::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::Float.to_string - is expected to eql "1.0" +Coercible::Coercer::Decimal.to_string is expected to be an instance of String + is expected to eql "1.0" -Coercible::Coercer::Time.to_time - is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" +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::Array#to_set + is expected to be an instance of Set + is expected to eql "a", 1, "b", and 2 + +Coercible::Coercer::Integer.to_integer + is expected to equal 1 + +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 + behaves like Configurable + .config_name + is expected to equal :string + .config_keys + is expected to be an instance of Array + is expected not to be empty + .config + is expected to be an instance of Coercible::Configuration + responds to configuration keys + .config_name + is expected to be an instance of Symbol + +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#to_datetime + is expected to eql "2013-02-16 17:44:32.000" + +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::String.to_time + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion with a valid time string - including time part + not including time part it should behave like a correct time object is expected to be an instance of Time - hour - is expected to == 13 day is expected to == 22 - sec - is expected to == 50 - min - is expected to == 44 month is expected to == 7 + min + is expected to == 0 year is expected to == 2011 - not including time part - it should behave like a correct time object - is expected to be an instance of Time - min + sec is expected to == 0 hour is expected to == 0 + including time part + it should behave like a correct time object + is expected to be an instance of Time + min + is expected to == 44 sec - is expected to == 0 + is expected to == 50 + year + is expected to == 2011 day is expected to == 22 + hour + is expected to == 13 month is expected to == 7 - year - is expected to == 2011 - with an invalid date time string - is expected to raise Coercible::UnsupportedCoercion -Coercible::Coercer::Integer.to_integer - is expected to equal 1 - -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::Integer.to_float + is expected to eql 1.0 + is expected to be an instance of Float -Coercible::Coercer::TimeCoercions.to_time - 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" - 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" +Coercible::Coercer::Integer.to_decimal + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 -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::Numeric.to_float + is expected to eql 1.0 -Coercible::Coercer::Hash#coerced? +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::Symbol.to_string - is expected to eql "piotr" - is expected to be an instance of String - -Coercible::Coercer::Numeric.to_integer - is expected to eql 1 +Coercible::Coercer::String.to_constant + when the name is unknown + is expected to raise NameError + with a namespaced name + is expected to equal Coercible::Coercer::String + with a non-namespaced name + is expected to equal String + with a name outside of the namespace + is expected to raise NameError + with a namespaced qualified name + is expected to equal Coercible::Coercer::String + when the name is invalid + is expected to raise NameError + with a non-namespaced qualified name + is expected to equal String Coercible::Coercer::String.to_date with a valid date string @@ -1371,36 +1461,243 @@ 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 - with a name outside of the namespace - is expected to raise NameError - when the name is unknown - is expected to raise NameError - with a namespaced qualified name - is expected to equal Coercible::Coercer::String - when the name is invalid - is expected to raise NameError - with a namespaced name - is expected to equal Coercible::Coercer::String - with a non-namespaced name - is expected to equal String +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 -Coercible::Coercer::Integer#datetime_format +Coercible::Coercer::Numeric.to_string + is expected to eql "1/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::String.to_float + 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 "-1E1" + is expected to eql -10.0 + 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 ".1E+1" + is expected to eql 1.0 + 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 ".1e+1" + is expected to be an instance of Float + is expected to eql 1.0 + with "-1" + is expected to eql -1.0 + is expected to be an instance of Float + with "1.0" + is expected to be an instance of Float + is expected to eql 1.0 + with "-1e-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" + is expected to eql 0.1 + 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 + with "1.0E-1" + is expected to eql 0.1 + is expected to be an instance of Float + string starts with e + is expected to raise Coercible::UnsupportedCoercion + with "-1.0e-1" + is expected to eql -0.1 + is expected to be an instance of Float + with "1e1" + is expected to eql 10.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 + with "+1e-1" + is expected to eql 0.1 + 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 ".1E-1" + is expected to eql 0.01 + is expected to be an instance of Float + with an invalid float string + is expected to raise Coercible::UnsupportedCoercion + 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 + 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 "1E+1" + is expected to be an instance of Float + 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.0E+1" + is expected to be an instance of Float + 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 eql -0.1 + is expected to be an instance of Float + +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::String.to_boolean + with "FALSE" + is expected to equal false + with "1" + is expected to equal true + with "n" + is expected to equal false + with "ON" + is expected to equal true + with "false" + is expected to equal false + with "no" + is expected to equal false + with "NO" + is expected to equal false + with "true" + is expected to equal true + with "YES" + is expected to equal true + with "f" + is expected to equal false + with "y" + is expected to equal true + with "t" + is expected to equal true + with "yes" + is expected to equal true + with "OFF" + is expected to equal false + with "0" + is expected to equal false + with "T" + is expected to equal true + with "off" + is expected to equal false + with "N" + 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 "F" + is expected to equal false + with "Y" + is expected to equal true + with "TRUE" + is expected to equal true + +Coercible::Coercer::Object#coerced? + is expected to equal true + +Coercible::Coercer::Configurable.config_name + is expected to equal :test + +Coercible::Configuration.build + is expected to respond to #bar + 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::TrueClass.to_string + is expected to eql "true" + is expected to be an instance of String + +Coercible::Coercer::Integer + behaves like Configurable + .config_name + is expected to be an instance of Symbol + .config + responds to configuration keys + is expected to be an instance of Coercible::Configuration + .config_keys + is expected not to be empty + is expected to be an instance of Array + .config_name + is expected to equal :integer + +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::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::Integer#datetime_proc with Rubinius - is expected to == "%Q" + is expected to be an instance of Proc with other Ruby VMs - is expected to == "%s" + is expected to be an instance of Proc -Coercible::Coercer::Time#coerced? +Coercible::Coercer::Symbol.to_string + is expected to eql "piotr" + is expected to be an instance of String + +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::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::Integer#coerced? +Coercible::Coercer::Integer.to_string + is expected to eql "1" + 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 @@ -1408,1279 +1705,1018 @@ is expected to equal true Coercible::Coercer::String.to_decimal - with an invalid decimal string - is expected to raise Coercible::UnsupportedCoercion - with "1.0E-1" - is expected to be an instance of BigDecimal + with "+1.0E-1" 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.0" - is expected to eql -0.1e1 + with "1.0e+1" is expected to be an instance of BigDecimal - with "1.0E+1" is expected to eql 0.1e2 + with "+1.0" 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" is expected to be an instance of BigDecimal is expected to eql 0.1e0 - with ".1e-1" + with "-1.0e+1" + is expected to eql -0.1e2 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 + with "1.0e-1" is expected to be an instance of BigDecimal - with "+1.0" + is expected to eql 0.1e0 + with "1.0" 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.0e-1" + 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 + with "-1.0E+1" is expected to be an instance of BigDecimal - with "1" + is expected to eql -0.1e2 + with "+1.0e+1" is expected to be an instance of BigDecimal - is expected to eql 0.1e1 + is expected to eql 0.1e2 + with an invalid decimal string + is expected to raise Coercible::UnsupportedCoercion with "-1.0E-1" is expected to be an instance of BigDecimal is expected to eql -0.1e0 with "+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 - with "+1.0e-1" + is expected to eql 0.1e1 + with ".1E-1" is expected to be an instance of BigDecimal - is expected to eql 0.1e0 - with "+1.0E-1" + 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 - is expected to eql 0.1e0 + 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 be an instance of BigDecimal + is expected to eql -0.1e0 + with "1.0E+1" is expected to eql 0.1e2 - with "1.0" is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - with ".1e+1" - 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 ".1E+1" + 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 ".1E-1" - is expected to eql 0.1e-1 - is expected to be an instance of BigDecimal - with "+1.0e+1" + with ".1e+1" is expected to be an instance of BigDecimal - is expected to eql 0.1e2 - -Coercible::Coercer::Numeric.to_string - is expected to eql "1/1" - -Coercible::Coercer::Float#to_float - is expected to eql "2013-02-16 17:44:32.120" + is expected to eql 0.1e1 -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_integer + is expected to eql 1 -Coercible::Coercer::Configurable.config - is expected to equal # +Coercible::Coercer::Float.to_float + is expected to equal 1.0 -Coercible::Coercer::Object#coerced? - is expected to equal true +Coercible::Coercer::Decimal.to_float + is expected to eql 1.0 + is expected to be an instance of Float -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::Float.to_integer + is expected to eql 1 + is expected to be a kind of Integer -Coercible::Coercer::Hash.to_date +Coercible::Coercer::Hash.to_time 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 integers - is expected to be an instance of Date - is expected to eql # + is expected to be an instance of Time 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 + 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" + +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::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::Decimal.to_decimal + is expected to equal 0.1e1 -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_format + with Rubinius + is expected to == "%Q" + with other Ruby VMs + is expected to == "%s" -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 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 - 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 # +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::TrueClass.to_string - is expected to be an instance of String - is expected to eql "true" +Coercible::Coercer::Object#inspect + is expected to == "#" -Coercible::Coercer::Integer.to_decimal - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 +Deprecation Warnings: -Coercible::Coercer::Integer.to_string - is expected to eql "1" - is expected to be an instance of String +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. -Coercible::Coercer::Float.to_decimal - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 +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_datetime_spec.rb:18:in `block (3 levels) in '. -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::String - behaves like Configurable - .config_name - is expected to equal :string - .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 - responds to configuration keys - is expected to be an instance of Coercible::Configuration +If you need more of the backtrace for any of these deprecations to +identify where to make the necessary changes, you can configure +`config.raise_errors_for_deprecations!`, and it will turn the +deprecation warnings into errors, giving you the full backtrace. -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} +2 deprecation warnings total -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 # +Top 10 slowest examples (0.12912 seconds, 5.1% of total time): + Coercible::Coercer::String.to_float with "+1.0e+1" is expected to eql 10.0 + 0.01752 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:41 + Coercible::Coercer::Configurable.config is expected to equal # + 0.01634 seconds ./spec/unit/coercible/coercer/configurable/config_spec.rb:24 + Coercible::Coercer::Array#coerced? behaves like Coercible::Coercer#coerced? with a primitive value is expected to equal true + 0.01626 seconds ./spec/shared/unit/coerced_predicate.rb:5 + Coercible::Coercer::Date.to_datetime when Date does not support #to_datetime is expected to eql # + 0.01606 seconds ./spec/unit/coercible/coercer/date/to_datetime_spec.rb:18 + Coercible::Coercer::String.to_datetime with a valid date string not including time part it should behave like a correct datetime object sec is expected to == 0 + 0.01486 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:11 + Coercible::Coercer::String.to_integer with "1.7976931348623158e+307" is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 + 0.01206 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::String.to_decimal with an invalid decimal string is expected to raise Coercible::UnsupportedCoercion + 0.00962 seconds ./spec/unit/coercible/coercer/string/to_decimal_spec.rb:45 + Coercible::Coercer::String.to_decimal with "-1.0E+1" is expected to be an instance of BigDecimal + 0.00955 seconds ./spec/unit/coercible/coercer/string/to_decimal_spec.rb:36 + Coercible::Coercer::String.to_integer with "+1e-1" is expected to eql 0 + 0.00889 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::TimeCoercions.to_datetime when the value does not respond to #to_datetime is expected to eql # + 0.00796 seconds ./spec/unit/coercible/coercer/time_coercions/to_datetime_spec.rb:36 -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 +Top 10 slowest example groups: + Coercible::Coercer::Configurable.config + 0.02306 seconds average (0.02306 seconds / 1 example) ./spec/unit/coercible/coercer/configurable/config_spec.rb:3 + Coercible::Coercer::Decimal.to_decimal + 0.02152 seconds average (0.02152 seconds / 1 example) ./spec/unit/coercible/coercer/decimal/to_decimal_spec.rb:3 + Coercible::Coercer::String.to_symbol + 0.01926 seconds average (0.01926 seconds / 1 example) ./spec/unit/coercible/coercer/string/to_symbol_spec.rb:3 + Coercible::Coercer::Array#coerced? + 0.01303 seconds average (0.02606 seconds / 2 examples) ./spec/unit/coercible/coercer/array/coerced_predicate_spec.rb:3 + Coercible::Coercer::TimeCoercions.to_datetime + 0.01199 seconds average (0.04795 seconds / 4 examples) ./spec/unit/coercible/coercer/time_coercions/to_datetime_spec.rb:3 + Coercible::Coercer::Date.to_datetime + 0.01173 seconds average (0.0352 seconds / 3 examples) ./spec/unit/coercible/coercer/date/to_datetime_spec.rb:3 + Coercible::Coercer::Integer#datetime_proc + 0.01044 seconds average (0.02088 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:3 + Coercible::Coercer::Symbol#coerced? + 0.01025 seconds average (0.0205 seconds / 2 examples) ./spec/unit/coercible/coercer/symbol/coerced_predicate_spec.rb:3 + Coercible::Coercer::Decimal#coerced? + 0.00968 seconds average (0.01936 seconds / 2 examples) ./spec/unit/coercible/coercer/decimal/coerced_predicate_spec.rb:3 + Coercible::Coercer::String.to_datetime + 0.00899 seconds average (0.13489 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:14 -Coercible::Coercer::Integer.to_boolean - when the fixnum is not 1 or 0 +Finished in 2.53 seconds (files took 2.2 seconds to load) +396 examples, 0 failures + +Randomized with seed 59850 + +/usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner + +┌──────────────────────────────────────────────────────────────────────────────┐ +│ Run tests for ruby3.1 from debian/ruby-tests.rake │ +└──────────────────────────────────────────────────────────────────────────────┘ + +RUBYLIB=/build/reproducible-path/ruby-coercible-1.0.0/debian/ruby-coercible/usr/lib/ruby/vendor_ruby:. GEM_PATH=/build/reproducible-path/ruby-coercible-1.0.0/debian/ruby-coercible/usr/share/rubygems-integration/all:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake +/usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation +Run options: include {:focus=>true} + +All examples were filtered out; ignoring {:focus=>true} + +Randomized with seed 38588 + +Coercible::Coercer::Float.to_float + is expected to equal 1.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::Object.to_hash + when the value does not respond to #to_hash is expected to raise Coercible::UnsupportedCoercion - when the fixnum is 0 - is expected to equal false - when the fixnum is 1 - is expected to equal true + when the value responds to #to_hash + is expected to equal # + +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::String.to_float - with ".1E-1" - is expected to eql 0.01 + with "+1.0e-1" + is expected to eql 0.1 is expected to be an instance of Float + string starts with e + is expected to raise Coercible::UnsupportedCoercion with "-1E1" 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 "1.0E+1" + is expected to be an instance of Float 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 0.1 - is expected to be an instance of Float - with "1.0E-1" + with an invalid float string + is expected to raise Coercible::UnsupportedCoercion + with "+1.0E-1" is expected to eql 0.1 is expected to be an instance of Float - 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 is expected to be an instance of Float - with "+1e-1" + with ".1e-1" + is expected to eql 0.01 is expected to be an instance of Float - is expected to eql 0.1 - with "-1.0e-1" - is expected to eql -0.1 + with "1E+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 "-1e-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 ".1e-1" - is expected to eql 0.01 - is expected to be an instance of Float - with "1" - is expected to eql 1.0 + with "1e1" is expected to be an instance of Float - with "1E+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 ".1E-1" + is expected to eql 0.01 + is expected to be an instance of Float + with "1.0e+1" 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 0.1 is expected to be an instance of Float with "+1.0" is expected to be an instance of Float is expected to eql 1.0 - with "-1e-1" + with "-1.0e-1" is expected to be an instance of Float is expected to eql -0.1 - with "1.0e+1" + with "1" is expected to be an instance of Float - is expected to eql 10.0 + is expected to eql 1.0 with "+1.0E+1" is expected to be an instance of Float is expected to eql 10.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 + with "+1.0e+1" + is expected to eql 10.0 is expected to be an instance of Float with ".1E+1" - is expected to be an instance of Float 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 + 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 - with "1.0" is expected to be an instance of Float - is expected to eql 1.0 - with "+1" + with "1.0" is expected to be an instance of Float is expected to eql 1.0 - with ".1e+1" - 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 -1.0 - with an invalid float string - is expected to raise Coercible::UnsupportedCoercion - with "1e1" is expected to be an instance of Float - is expected to eql 10.0 - with "+1.0E-1" + with "+1" is expected to be an instance of Float - is expected to eql 0.1 + is expected to eql 1.0 -Coercible::Coercer::Object.to_hash - when the value does not respond to #to_hash +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 - when the value responds to #to_hash + +Coercible::Coercer::String.to_symbol + is expected to equal :value + +Coercible::Coercer::Decimal.to_integer + is expected to eql 1 + is expected to be a kind of Integer + +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::Date.to_date + is expected to equal # + +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::DateTime.to_datetime - 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 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 eql 1.0 - is expected to be an instance of Float +Coercible::Coercer::TimeCoercions.to_time + 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" + 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" -Coercible::Coercer::FalseClass#coerced? +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#method_missing + when method doesn't match coercion method regexp + is expected to raise NoMethodError + when method matches coercion method regexp + is expected to equal # + +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::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::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::String.to_boolean - with "T" - is expected to equal true - with "yes" - is expected to equal true - with "ON" - is expected to equal true - with "y" - is expected to equal true - with "t" - is expected to equal true - with "F" - is expected to equal false - with "OFF" - is expected to equal false - with "true" - is expected to equal true - with "FALSE" - is expected to equal false - with "0" - is expected to equal false - with "n" - is expected to equal false - with "1" - is expected to equal true - with "false" - is expected to equal false - with "N" - is expected to equal false - with "YES" - is expected to equal true - with "off" - is expected to equal false - with "no" - is expected to equal false - with "Y" - is expected to equal true - with "on" - is expected to equal true - with "TRUE" - 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 "NO" - is expected to equal false - with "f" - is expected to equal false +Coercible::Coercer::TrueClass.to_string + is expected to eql "true" + is expected to be an instance of String + +Coercible::Coercer::Integer.to_decimal + is expected to eql 0.1e1 + is expected to be an instance of BigDecimal + +Coercible::Coercer::String.to_datetime + with a valid date string + including time part + it should behave like a correct datetime object + is expected to be an instance of DateTime + year + is expected to == 2011 + month + is expected to == 7 + sec + is expected to == 50 + min + is expected to == 44 + hour + is expected to == 13 + day + is expected to == 22 + not including time part + it should behave like a correct datetime object + is expected to be an instance of DateTime + month + is expected to == 7 + hour + is expected to == 0 + min + is expected to == 0 + day + is expected to == 22 + sec + is expected to == 0 + year + is expected to == 2011 + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion + +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 + +Coercible::Coercer::Decimal.to_decimal + is expected to equal 0.1e1 + +Coercible::Coercer::TimeCoercions.to_date + when the value responds to #to_date + is expected to be an instance of Date + is expected to eql # + when the value does not respond to #to_date + is expected to eql # + is expected to be an instance of Date + +Coercible::Coercer::Decimal.to_float + is expected to eql 1.0 + is expected to be an instance of Float + +Coercible::Coercer::Float.to_decimal + is expected to be an instance of BigDecimal + is expected to eql 0.1e1 + +Coercible::Coercer::Integer#datetime_format + with other Ruby VMs + is expected to == "%s" + with Rubinius + is expected to == "%Q" Coercible::Coercer::Hash.to_time - when time segments are missing + 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 - 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 + when time segments are missing is expected to be an instance of Time - is expected to eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" + uses the Time now to populate the segments -Coercible::Coercer::Numeric.to_float - is expected to eql 1.0 +Coercible::Coercer::DateTime.to_datetime + is expected to equal # -Coercible::Coercer::Float.to_integer - is expected to be a kind of Integer +Coercible::Coercer::Numeric.to_integer is expected to eql 1 -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_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::Configurable.config_name is expected to equal :test -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. +Coercible::Coercer::Float.to_integer + is expected to eql 1 + is expected to be a kind of Integer -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_date_spec.rb:16:in `block (3 levels) in '. +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 +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 -If you need more of the backtrace for any of these deprecations to -identify where to make the necessary changes, you can configure -`config.raise_errors_for_deprecations!`, and it will turn the -deprecation warnings into errors, giving you the full backtrace. +Coercible::Coercer::Integer.to_integer + is expected to equal 1 -2 deprecation warnings total +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 -Top 10 slowest examples (0.06937 seconds, 5.9% of total time): - Coercible::Coercer::Integer behaves like Configurable .config_keys is expected not to be empty - 0.01638 seconds ./spec/shared/unit/configurable.rb:12 - Coercible::Coercer::Array#to_set is expected to eql "a", 1, "b", and 2 - 0.00902 seconds ./spec/unit/coercible/coercer/array/to_set_spec.rb:11 - Coercible::Coercer::Hash.to_datetime when time segments are integers is expected to be an instance of DateTime - 0.00854 seconds ./spec/unit/coercible/coercer/hash/to_datetime_spec.rb:26 - Coercible::Coercer::Object#inspect is expected to == "#" - 0.00816 seconds ./spec/unit/coercible/coercer/object/inspect_spec.rb:8 - Coercible::Coercer::String.to_datetime with a valid date string not including time part it should behave like a correct datetime object year is expected to == 2011 - 0.00765 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:6 - Coercible::Coercer::String.to_integer with "1.0E-1" is expected to eql 0 - 0.00492 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 - Coercible::Coercer::Object.to_integer when the value does not respond to #to_int is expected to raise Coercible::UnsupportedCoercion - 0.0047 seconds ./spec/unit/coercible/coercer/object/to_integer_spec.rb:20 - Coercible::Coercer::Integer behaves like Configurable .config responds to configuration keys - 0.00387 seconds ./spec/shared/unit/configurable.rb:20 - Coercible::Coercer::String.to_integer with "1e1" is expected to eql 10 - 0.00308 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 - Coercible::Coercer::String.to_integer with "-1.0E+1" is expected to be a kind of Integer - 0.00306 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:44 +Coercible::Coercer::Time.to_integer + is expected to eql 1738561901 -Top 10 slowest example groups: - Coercible::Coercer::Object#inspect - 0.00897 seconds average (0.00897 seconds / 1 example) ./spec/unit/coercible/coercer/object/inspect_spec.rb:3 - Coercible::Coercer::FalseClass#coerced? - 0.00763 seconds average (0.01525 seconds / 2 examples) ./spec/unit/coercible/coercer/false_class/coerced_predicate_spec.rb:3 - Coercible::Coercer::Integer#datetime_format - 0.00719 seconds average (0.01438 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/datetime_format_spec.rb:3 - Coercible::Coercer::Symbol#coerced? - 0.00717 seconds average (0.01435 seconds / 2 examples) ./spec/unit/coercible/coercer/symbol/coerced_predicate_spec.rb:3 - Coercible::Coercer::Array#coerced? - 0.00665 seconds average (0.0133 seconds / 2 examples) ./spec/unit/coercible/coercer/array/coerced_predicate_spec.rb:3 - Coercible::Coercer::Float.to_decimal - 0.00605 seconds average (0.01211 seconds / 2 examples) ./spec/unit/coercible/coercer/float/to_decimal_spec.rb:3 - Coercible::Coercer::Array#to_set - 0.00584 seconds average (0.01169 seconds / 2 examples) ./spec/unit/coercible/coercer/array/to_set_spec.rb:3 - Coercible::Coercer::DateTime.to_date - 0.00577 seconds average (0.01731 seconds / 3 examples) ./spec/unit/coercible/coercer/date_time/to_date_spec.rb:3 - Coercible::Coercer::Integer - 0.00491 seconds average (0.02944 seconds / 6 examples) ./spec/unit/coercible/coercer/integer_spec.rb:3 - Coercible::Coercer::Object.to_integer - 0.00455 seconds average (0.00911 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_integer_spec.rb:3 +Coercible::Coercer::Object#inspect + is expected to == "#" -Finished in 1.18 seconds (files took 0.89658 seconds to load) -396 examples, 0 failures +Coercible::Coercer::DateTime.to_date + when DateTime supports #to_date + is expected to equal # + when DateTime does not support #to_date + is expected to be an instance of Date + is expected to eql # -Randomized with seed 39502 +Coercible::Coercer::String.to_constant + with a non-namespaced name + is expected to equal String + with a namespaced qualified name + is expected to equal Coercible::Coercer::String + when the name is invalid + is expected to raise NameError + with a non-namespaced qualified name + is expected to equal String + with a name outside of the namespace + is expected to raise NameError + with a namespaced name + is expected to equal Coercible::Coercer::String + when the name is unknown + is expected to raise NameError -/usr/bin/ruby3.1 /usr/bin/gem2deb-test-runner +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 -┌──────────────────────────────────────────────────────────────────────────────┐ -│ Run tests for ruby3.1 from debian/ruby-tests.rake │ -└──────────────────────────────────────────────────────────────────────────────┘ +Coercible::Coercer::Time.to_time + is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" -RUBYLIB=/build/reproducible-path/ruby-coercible-1.0.0/debian/ruby-coercible/usr/lib/ruby/vendor_ruby:. GEM_PATH=/build/reproducible-path/ruby-coercible-1.0.0/debian/ruby-coercible/usr/share/rubygems-integration/all:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake -/usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation -Run options: include {:focus=>true} +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" -All examples were filtered out; ignoring {:focus=>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 + is expected to be an instance of DateTime + uses the Time now to populate the segments + when time segments are strings + is expected to eql # + is expected to be an instance of DateTime -Randomized with seed 48967 +Coercible::Coercer::Float.to_string + is expected to be an instance of String + is expected to eql "1.0" -Coercible::Coercer::Integer#datetime_proc - with other Ruby VMs - is expected to be an instance of Proc - with Rubinius - is expected to be an instance of Proc +Coercible::Configuration.build + is expected to be an instance of Coercible::Configuration + is expected to respond to #foo + is expected to respond to #bar= + is expected to respond to #bar + is expected to respond to #foo= -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::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::DateTime.to_datetime - is expected to equal # +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 be an instance of DateTime + is expected to eql # -Coercible::Coercer::Float.to_integer - is expected to eql 1 - is expected to be a kind of Integer +Coercible::Coercer::Date.to_string + is expected to eql "2011-01-01" + is expected to be an instance of String -Coercible::Coercer::TrueClass#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 +Coercible::Coercer::Integer.to_float + is expected to eql 1.0 + is expected to be an instance of Float + Coercible::Coercer::String.to_boolean - with "T" - is expected to equal true - with "yes" + with "ON" is expected to equal true - with "no" + with "n" is expected to equal false with "0" is expected to equal false - with "y" + 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 "YES" is expected to equal true - with "n" + with "F" is expected to equal false - with "on" + with "TRUE" is expected to equal true - with "off" + with "OFF" is expected to equal false - with "false" + with "off" is expected to equal false - with "F" + with "yes" + is expected to equal true + with "N" is expected to equal false with "1" is expected to equal true - with "ON" - is expected to equal true - with "true" + with "y" is expected to equal true - with "f" - is expected to equal false with "NO" is expected to equal false - with "N" + with "FALSE" is expected to equal false - with "OFF" + with "f" 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 "Y" + with "no" + is expected to equal false + with "t" is expected to equal true - with "YES" + with "true" is expected to equal true - with "TRUE" + with "on" is expected to equal true - with "t" + with "T" is expected to equal true - with "FALSE" + with "Y" + is expected to equal true + with "false" is expected to equal false -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::Integer#to_datetime - is expected to eql "2013-02-16 17:44:32.000" - -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::Numeric.to_integer - is expected to eql 1 - -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::String#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_datetime - 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 - min - is expected to == 44 - sec - is expected to == 50 - day - is expected to == 22 - 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 - year - is expected to == 2011 - hour - is expected to == 0 - day - is expected to == 22 - min - is expected to == 0 - sec - is expected to == 0 - month - is expected to == 7 - with an invalid date time 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::String.to_decimal - with ".1e+1" - 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.1e1 - 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 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 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 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 "1.0" - 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" - 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.1e2 - 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.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.0e-1" - is expected to be an instance of BigDecimal - is expected to eql -0.1e0 - with ".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 - -Coercible::Coercer::Integer.to_string - is expected to eql "1" - is expected to be an instance of String - -Coercible::Coercer::Float.to_decimal - is expected to be an instance of BigDecimal - is expected to eql 0.1e1 - Coercible::Coercer::String.to_integer - with "-1.0e-1" + with "1.7976931348623158e+307" is expected to be a kind of Integer + is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 + with ".1e-1" is expected to eql 0 + 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" + 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 ".1e-1" - is expected to eql 0 + with "1" + is expected to eql 1 is expected to be a kind of Integer - with "+1.0e-1" + with "+1e-1" is expected to eql 0 is expected to be a kind of Integer - with ".1" + with "1.0E-1" is expected to be a kind of Integer is expected to eql 0 - with "-1" - is expected to eql -1 - is expected to be a kind of Integer - with "+1.0E+1" - is expected to eql 10 + with "1.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 "+1.0E-1" + with "+1.0e-1" is expected to be a kind of Integer is expected to eql 0 - with "+1.0e+1" + with an invalid integer string + is expected to raise Coercible::UnsupportedCoercion + with "-1.0E-1" + is expected to eql 0 is expected to be a kind of Integer + with "+1.0e+1" is expected to eql 10 - with "+1e-1" is expected to be a kind of Integer - is expected to eql 0 - with "1.0e-1" + with ".1E+1" + is expected to eql 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 eql 10 + is expected to be a kind of Integer + 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 + when integer string is big + is expected to == 334490140000101135 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.0E+1" + with "-1.0e+1" + is expected to eql -10 is expected to be a kind of Integer - is expected to eql 10 with "1E+1" - is expected to eql 10 - is expected to be a kind of Integer - with "1.7976931348623158e+307" - is expected to eql 17976931348623157580412819756850388593900235011794141176754562789180111453639664485361928830517704263...0189893797509826303293149283469713429932049693599732425511693654044437030940398714664210204414967808 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 "2.2250738585072014e-308" is expected to be a kind of Integer is expected to eql 0 - with "1" - is expected to be a kind of Integer - is expected to eql 1 - with "1.0E-1" + 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 "-1E1" - is expected to eql -10 + with "1.0e-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 ".1E+1" + with "-1E1" is expected to be a kind of Integer - is expected to eql 1 - with "-1.0e+1" is expected to eql -10 - is expected to be a kind of Integer - with "1.0" - 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 10 is expected to be a kind of Integer - with "2.2250738585072014e-308" + with "-1.0e-1" is expected to eql 0 is expected to be a kind of Integer - with "-1e-1" - is expected to eql 0 + with "+1" is expected to be a kind of Integer - when integer string is big - is expected to == 334490140000101135 - -Coercible::Coercer::FalseClass.to_string - is expected to be an instance of String - is expected to eql "false" - -Coercible::Coercer::Decimal.to_float - is expected to be an instance of Float - is expected to eql 1.0 - -Coercible::Coercer::TimeCoercions.to_time - 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" - 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::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::String - behaves like Configurable - .config - is expected to be an instance of Coercible::Configuration - responds to configuration keys - .config_name - is expected to equal :string - .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 - -Coercible::Coercer::Object#coerced? - is expected to equal true - -Coercible::Coercer::TimeCoercions.to_string - is expected to be an instance of String - is expected to eql "2011-01-01" + is expected to eql 1 + with "-1" + is expected to be a kind of Integer + is expected to eql -1 -Coercible::Coercer::Integer#coerced? +Coercible::Coercer::String#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 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 + is expected to be an instance of String + is expected to eql "1" -Coercible::Coercer::Numeric.to_string - is expected to eql "1/1" +Coercible::Coercer::FalseClass.to_string + is expected to be an instance of String + is expected to eql "false" -Coercible::Coercer::Integer - behaves like Configurable - .config_name - is expected to be an instance of Symbol - .config_keys - is expected to be an instance of Array - is expected not to be empty - .config_name - is expected to equal :integer - .config - responds to configuration keys - is expected to be an instance of Coercible::Configuration +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.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::String.to_decimal + with "1.0E-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e0 + with ".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.1e-1 + 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" + 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.0" + 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 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 ".1e-1" + is expected to be an instance of BigDecimal + is expected to eql 0.1e-1 + with an invalid decimal string + is expected to raise Coercible::UnsupportedCoercion + with "-1.0e+1" + is expected to be an instance of BigDecimal + is expected to eql -0.1e2 + 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.1e0 + 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.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 ".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.1e2 -Coercible::Coercer::Integer.to_integer - is expected to equal 1 +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 does not respond to #to_hash - is expected to raise Coercible::UnsupportedCoercion - when the value responds to #to_hash - is expected to equal # +Coercible::Coercer::Numeric.to_float + is expected to eql 1.0 Coercible::Coercer::Hash.to_date + 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 integers is expected to eql # 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 -Coercible::Coercer::Integer.to_decimal - is expected to eql 0.1e1 - is expected to be an instance of BigDecimal +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::Symbol.to_string +Coercible::Coercer::Decimal.to_string + is expected to eql "1.0" is expected to be an instance of String - is expected to eql "piotr" -Coercible::Coercer::DateTime.to_date - when DateTime supports #to_date - is expected to equal # - when DateTime does not support #to_date - is expected to be an instance of Date - is expected to eql # +Coercible::Coercer::Integer + 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 :integer -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 eql 1, 1, 1, 1, 1, 2011, 6, 1, false, and "UTC" - is expected to be an instance of Time - 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_datetime + is expected to eql "2013-02-16 17:44:32.000" -Coercible::Coercer::Float#coerced? +Coercible::Coercer::Numeric.to_string + is expected to eql "1/1" + +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 + with a non-primitive value + is expected to equal false -Coercible::Coercer::String.to_float - 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 - is expected to eql 10.0 - with ".1E+1" - is expected to eql 1.0 - is expected to be an instance of Float - with an invalid float string - is expected to raise Coercible::UnsupportedCoercion - with ".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 - is expected to eql -10.0 - 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 - with "-1.0E+1" - is expected to be an instance of Float - is expected to eql -10.0 - string starts with e +Coercible::Coercer::String.to_date + with a valid date string + is expected to be an instance of Date + year + is expected to == 2011 + month + is expected to == 7 + day + is expected to == 22 + with an invalid date string is expected to raise Coercible::UnsupportedCoercion - with "+1.0E+1" - is expected to eql 10.0 - is expected to be an instance of Float - with "-1.0" - is expected to be an instance of Float - is expected to eql -1.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 ".1e+1" - is expected to be an instance of Float - is expected to eql 1.0 - with ".1E-1" - is expected to be an instance of Float - is expected to eql 0.01 - with "1.0E+1" - is expected to be an instance of Float - is expected to eql 10.0 - with "1" - is expected to be an instance of Float - is expected to eql 1.0 - with "1.0" - is expected to eql 1.0 - 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.0e+1" - is expected to be an instance of Float - is expected to eql 10.0 - with "-1.0e-1" - is expected to eql -0.1 - 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.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 - 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" - 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 - with "-1.0e+1" - is expected to eql -10.0 - is expected to be an instance of Float - with "+1e-1" - is expected to be an instance of Float - is expected to eql 0.1 - -Coercible::Coercer::Numeric.to_float - is expected to eql 1.0 - -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 be an instance of DateTime - is expected to eql # -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::Object.to_array + when the value responds to #to_a but not #to_ary + is expected to equal # + 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 responds to #to_ary + does not call #to_a if #to_ary is available + 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 -Coercible::Coercer::Decimal#coerced? +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::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::Float.to_float - is expected to equal 1.0 +Coercible::Coercer::Object#coerced? + is expected to equal true -Coercible::Coercer::Date#coerced? +Coercible::Coercer::String + behaves like Configurable + .config_name + is expected to equal :string + .config_name + is expected to be an instance of Symbol + .config + responds to configuration keys + is expected to be an instance of Coercible::Configuration + .config_keys + is expected to be an instance of Array + is expected not to be empty + +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::Decimal.to_decimal - is expected to equal 0.1e1 - -Coercible::Coercer::Configurable.config - 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::String.to_symbol - is expected to equal :value - -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#to_float + is expected to eql "2013-02-16 17:44:32.120" -Coercible::Coercer::Integer.to_boolean - when the fixnum is 1 - is expected to equal true - when the fixnum is not 1 or 0 - is expected to raise Coercible::UnsupportedCoercion - when the fixnum is 0 - is expected to equal false +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::String.to_time + with an invalid date time string + is expected to raise Coercible::UnsupportedCoercion with a valid time string - not including time part + including time part it should behave like a correct time object is expected to be an instance of Time - min - is expected to == 0 - year - is expected to == 2011 - month - is expected to == 7 - sec - is expected to == 0 day is expected to == 22 - hour - is expected to == 0 - including time part - it should behave like a correct time object - is expected to be an instance of Time + min + is expected to == 44 month is expected to == 7 + hour + is expected to == 13 year is expected to == 2011 - min - is expected to == 44 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 + month + is expected to == 7 day is expected to == 22 hour - is expected to == 13 - with an invalid date time string - is expected to raise Coercible::UnsupportedCoercion - -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::Float.to_string - is expected to eql "1.0" - is expected to be an instance of String - -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::Date.to_date - is expected to equal # - -Coercible::Coercer::String.to_constant - when the name is unknown - is expected to raise NameError - with a name outside of the namespace - is expected to raise NameError - with a namespaced qualified name - is expected to equal Coercible::Coercer::String - with a namespaced name - is expected to equal Coercible::Coercer::String - 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 - -Coercible::Coercer::Time.to_time - is expected to equal 0, 0, 0, 1, 1, 2012, 0, 1, false, and "UTC" - -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 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 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::Integer.to_float - is expected to eql 1.0 - is expected to be an instance of Float - -Coercible::Coercer::Float#to_float - is expected to eql "2013-02-16 17:44:32.120" - -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 - -Coercible::Coercer::Object#inspect - is expected to == "#" - -Coercible::Coercer::Integer#datetime_format - with other Ruby VMs - is expected to == "%s" - with Rubinius - is expected to == "%Q" - -Coercible::Coercer::Time.to_integer - is expected to eql 1738561627 - -Coercible::Coercer::Decimal.to_string - is expected to eql "1.0" - is expected to be an instance of String - -Coercible::Coercer::Array#to_set - is expected to eql "a", 1, "b", and 2 - is expected to be an instance of Set + is expected to == 0 + min + is expected to == 0 + sec + is expected to == 0 + year + is expected to == 2011 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::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 - is expected to be a kind of Integer - is expected to eql 1 - -Coercible::Coercer::Configurable.config_name - is expected to equal :test - -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::TimeCoercions.to_date - when the value responds to #to_date - is expected to be an instance of Date - is expected to eql # - when the value does not respond to #to_date - is expected to be an instance of Date - is expected to eql # - -Coercible::Coercer::Date.to_string - is expected to eql "2011-01-01" - is expected to be an instance of String - -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::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::TrueClass.to_string - is expected to eql "true" - is expected to be an instance of String - -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::Hash.to_datetime - when time segments are integers - 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 strings - is expected to eql # - is expected to be an instance of DateTime - 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 `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/integer/datetime_proc_spec.rb:11: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_hash_spec.rb:13:in `block (3 levels) in '. If you need more of the backtrace for any of these deprecations to @@ -2690,54 +2726,54 @@ 2 deprecation warnings total -Top 10 slowest examples (0.05262 seconds, 5.1% of total time): - Coercible::Coercer::String.to_float with "+1.0E-1" is expected to be an instance of Float - 0.00996 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:39 - 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.00778 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:7 - 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" - 0.00559 seconds ./spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:23 - Coercible::Coercer::String behaves like Configurable .config_keys is expected not to be empty - 0.00547 seconds ./spec/shared/unit/configurable.rb:12 - Coercible::Coercer::Hash.to_time when time segments are missing is expected to be an instance of Time - 0.00514 seconds ./spec/unit/coercible/coercer/hash/to_time_spec.rb:16 - Coercible::Coercer::String.to_boolean with an invalid boolean string is expected to raise Exception - 0.00497 seconds ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:27 - Coercible::Coercer::String.to_float with "1.0E+1" is expected to eql 10.0 - 0.00402 seconds ./spec/unit/coercible/coercer/string/to_float_spec.rb:41 - Coercible::Configuration.build is expected to respond to #foo= - 0.00363 seconds ./spec/unit/coercible/configuration/class_methods/build_spec.rb:11 - Coercible::Coercer::Integer#datetime_proc with other Ruby VMs is expected to be an instance of Proc - 0.00311 seconds ./spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:19 - Coercible::Coercer::Integer#datetime_proc with Rubinius is expected to be an instance of Proc - 0.00294 seconds ./spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:15 +Top 10 slowest examples (0.11904 seconds, 5.6% of total time): + Coercible::Coercer::String.to_boolean with "true" is expected to equal true + 0.01915 seconds ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:12 + Coercible::Coercer::String.to_datetime with a valid date string including time part it should behave like a correct datetime object year is expected to == 2011 + 0.01529 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:6 + 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 + 0.01395 seconds ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:4 + Coercible::Coercer::Integer behaves like Configurable .config_keys is expected not to be empty + 0.01257 seconds ./spec/shared/unit/configurable.rb:12 + Coercible::Coercer::String.to_integer with ".1" is expected to eql 0 + 0.01257 seconds ./spec/unit/coercible/coercer/string/to_integer_spec.rb:46 + Coercible::Coercer::Object.to_hash when the value does not respond to #to_hash is expected to raise Coercible::UnsupportedCoercion + 0.01189 seconds ./spec/unit/coercible/coercer/object/to_hash_spec.rb:20 + 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" + 0.01039 seconds ./spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:36 + Coercible::Coercer::String.to_boolean with "T" is expected to equal true + 0.00947 seconds ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:12 + Coercible::Coercer::String.to_time with a valid time string including time part it should behave like a correct time object min is expected to == 44 + 0.00748 seconds ./spec/unit/coercible/coercer/string/to_time_spec.rb:10 + Coercible::Coercer#[] with an unknown type is expected to be an instance of Coercible::Coercer::Object + 0.00628 seconds ./spec/unit/coercible/coercer/element_reader_spec.rb:17 Top 10 slowest example groups: - Coercible::Coercer::Integer#datetime_proc - 0.00436 seconds average (0.00873 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/datetime_proc_spec.rb:3 + Coercible::Coercer::Integer#to_datetime + 0.01007 seconds average (0.01007 seconds / 1 example) ./spec/unit/coercible/coercer/integer/to_datetime_spec.rb:3 + Coercible::Coercer::Float.to_float + 0.00936 seconds average (0.00936 seconds / 1 example) ./spec/unit/coercible/coercer/float/to_float_spec.rb:3 + Coercible::Coercer::String.to_boolean + 0.00904 seconds average (0.20785 seconds / 23 examples) ./spec/unit/coercible/coercer/string/to_boolean_spec.rb:3 Coercible::Coercer::TimeCoercions.to_time - 0.00394 seconds average (0.01574 seconds / 4 examples) ./spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:3 + 0.00898 seconds average (0.03593 seconds / 4 examples) ./spec/unit/coercible/coercer/time_coercions/to_time_spec.rb:3 + Coercible::Coercer::Integer.to_integer + 0.00855 seconds average (0.00855 seconds / 1 example) ./spec/unit/coercible/coercer/integer/to_integer_spec.rb:3 + Coercible::Coercer::Object.to_hash + 0.00834 seconds average (0.01667 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_hash_spec.rb:3 + Coercible::Coercer::Numeric.to_string + 0.00742 seconds average (0.00742 seconds / 1 example) ./spec/unit/coercible/coercer/numeric/to_string_spec.rb:3 Coercible::Coercer::String.to_datetime - 0.00362 seconds average (0.05428 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:14 - Coercible::Coercer::DateTime.to_datetime - 0.0034 seconds average (0.0034 seconds / 1 example) ./spec/unit/coercible/coercer/date_time/to_datetime_spec.rb:3 - Coercible::Coercer.new - 0.00331 seconds average (0.01325 seconds / 4 examples) ./spec/unit/coercible/coercer/class_methods/new_spec.rb:3 - Coercible::Coercer::String.to_time - 0.0033 seconds average (0.04947 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_time_spec.rb:14 - Coercible::Coercer::Integer#coerced? - 0.00323 seconds average (0.00645 seconds / 2 examples) ./spec/unit/coercible/coercer/integer/coerced_predicate_spec.rb:3 - Coercible::Coercer::Configurable.config - 0.00314 seconds average (0.00314 seconds / 1 example) ./spec/unit/coercible/coercer/configurable/config_spec.rb:3 - Coercible::Coercer::Symbol#coerced? - 0.00307 seconds average (0.00614 seconds / 2 examples) ./spec/unit/coercible/coercer/symbol/coerced_predicate_spec.rb:3 - Coercible::Coercer::Object.to_string - 0.00307 seconds average (0.00614 seconds / 2 examples) ./spec/unit/coercible/coercer/object/to_string_spec.rb:3 + 0.0074 seconds average (0.11099 seconds / 15 examples) ./spec/unit/coercible/coercer/string/to_datetime_spec.rb:14 + Coercible::Coercer::DateTime.to_date + 0.00701 seconds average (0.02102 seconds / 3 examples) ./spec/unit/coercible/coercer/date_time/to_date_spec.rb:3 + Coercible::Coercer::Decimal#coerced? + 0.00648 seconds average (0.01297 seconds / 2 examples) ./spec/unit/coercible/coercer/decimal/coerced_predicate_spec.rb:3 -Finished in 1.03 seconds (files took 0.87174 seconds to load) +Finished in 2.13 seconds (files took 1.83 seconds to load) 396 examples, 0 failures -Randomized with seed 48967 +Randomized with seed 38588 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -2779,12 +2815,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/20635/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/20635/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/319 and its subdirectories -I: Current time: Sun Feb 2 17:47:16 -12 2025 -I: pbuilder-time-stamp: 1738561636 +I: removing directory /srv/workspace/pbuilder/20635 and its subdirectories +I: Current time: Mon Feb 3 19:52:00 +14 2025 +I: pbuilder-time-stamp: 1738561920