sbuild (Debian sbuild) 0.89.3+deb13u1 (16 August 2025) on +=======================================================================================+ | ruby-rubocop-rspec 2.16.0-1+rebuild1766607741 (amd64) Wed, 24 Dec 2025 20:22:22 +0000 | +=======================================================================================+ Package: ruby-rubocop-rspec Version: 2.16.0-1+rebuild1766607741 Source Version: 2.16.0-1+rebuild1766607741 Distribution: unstable Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 Build Type: binary I: No tarballs found in /home/admin/.cache/sbuild I: Creating chroot on-demand by running: mmdebstrap --variant=buildd --arch=amd64 --skip=output/mknod --format=tar unstable - I: Unpacking tarball from STDIN to /tmp/tmp.sbuild.mkVIyTK47e... I: automatically chosen mode: unshare I: chroot architecture amd64 is equal to the host's architecture I: finding correct signed-by value... I: using /tmp/mmdebstrap.Ix723rNTqw as tempdir I: skipping output/mknod as requested for ./dev/console I: skipping output/mknod as requested for ./dev/full I: skipping output/mknod as requested for ./dev/null I: skipping output/mknod as requested for ./dev/ptmx I: skipping output/mknod as requested for ./dev/random I: skipping output/mknod as requested for ./dev/tty I: skipping output/mknod as requested for ./dev/urandom I: skipping output/mknod as requested for ./dev/zero I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: installing remaining packages inside the chroot... I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.Ix723rNTqw... I: success in 11.9850 seconds I: The chroot directory at /tmp/tmp.sbuild.mkVIyTK47e will be removed at the end of the build I: To avoid creating a new chroot from scratch every time, either: I: - place a chroot tarball at /home/admin/.cache/sbuild/unstable-amd64.tar and update it manually, for example by running: mmdebstrap --variant=buildd --arch=amd64 --skip=output/mknod --format=tar unstable /home/admin/.cache/sbuild/unstable-amd64.tar I: - or let sbuild take care of this via the setting UNSHARE_MMDEBSTRAP_KEEP_TARBALL by adding '$unshare_mmdebstrap_keep_tarball = 1;' to your ~/.config/sbuild/config.pl. I: - or completely disable this behaviour via the setting UNSHARE_MMDEBSTRAP_AUTO_CREATE by adding '$unshare_mmdebstrap_auto_create = 0;' to your ~/.config/sbuild/config.pl. I: Refer to UNSHARE_MMDEBSTRAP_KEEP_TARBALL in sbuild.conf(5) for more information I: Setting up the chroot... I: Creating chroot session... I: Setting up log color... I: Setting up apt archive... +------------------------------------------------------------------------------+ | Update chroot Wed, 24 Dec 2025 20:22:36 +0000 | +------------------------------------------------------------------------------+ Ign:1 file:/mass-rebuild ./ InRelease Get:2 file:/mass-rebuild ./ Release [1617 B] Get:2 file:/mass-rebuild ./ Release [1617 B] Ign:3 file:/mass-rebuild ./ Release.gpg Get:4 file:/mass-rebuild ./ Packages [70.4 kB] Get:5 http://deb.debian.org/debian unstable InRelease [187 kB] Get:6 http://deb.debian.org/debian experimental InRelease [90.7 kB] Get:7 http://deb.debian.org/debian unstable/main amd64 Packages [10.2 MB] Get:8 http://deb.debian.org/debian experimental/main amd64 Packages [432 kB] Get:9 http://incoming.debian.org/debian-buildd buildd-unstable InRelease [48.9 kB] Get:10 http://incoming.debian.org/debian-buildd buildd-unstable/main amd64 Packages [84.0 kB] Fetched 11.1 MB in 1s (9169 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages will be upgraded: libselinux1 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/85.8 kB of archives. After this operation, 1024 B disk space will be freed. Get:1 file:/mass-rebuild ./ libselinux1 3.9-4+rebuild1766544377 [85.8 kB] (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 ... 11800 files and directories currently installed.) Preparing to unpack .../libselinux1_3.9-4+rebuild1766544377_amd64.deb ... Unpacking libselinux1:amd64 (3.9-4+rebuild1766544377) over (3.9-4+b1) ... Setting up libselinux1:amd64 (3.9-4+rebuild1766544377) ... Processing triggers for libc-bin (2.42-6) ... +------------------------------------------------------------------------------+ | Fetch source files Wed, 24 Dec 2025 20:22:39 +0000 | +------------------------------------------------------------------------------+ Local sources ------------- /home/admin/mass-rebuild/builds/3/ruby-rubocop-rspec/ruby-rubocop-rspec_2.16.0-1+rebuild1766607741.dsc exists in /home/admin/mass-rebuild/builds/3/ruby-rubocop-rspec; copying to chroot +------------------------------------------------------------------------------+ | Install package build dependencies Wed, 24 Dec 2025 20:22:40 +0000 | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: debhelper-compat (= 13), gem2deb (>= 1), rake, rubocop (>= 0.87), ruby-rack, ruby-rspec, yard, build-essential Filtered Build-Depends: debhelper-compat (= 13), gem2deb (>= 1), rake, rubocop (>= 0.87), ruby-rack, ruby-rspec, yard, build-essential dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/build/reproducible-path/resolver-ajSTut/apt_archive/sbuild-build-depends-main-dummy.deb'. Ign:1 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ InRelease Get:2 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ Release [609 B] Ign:3 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ Release.gpg Get:4 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ Sources [670 B] Get:5 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ Packages [709 B] Fetched 1988 B in 0s (0 B/s) Reading package lists... Ign:1 file:/mass-rebuild ./ InRelease Get:2 file:/mass-rebuild ./ Release [1617 B] Get:2 file:/mass-rebuild ./ Release [1617 B] Ign:3 file:/mass-rebuild ./ Release.gpg Hit:4 http://deb.debian.org/debian experimental InRelease Hit:5 http://incoming.debian.org/debian-buildd buildd-unstable InRelease Reading package lists... Reading package lists... Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... Solving dependencies... The following additional packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils ca-certificates debhelper dh-autoreconf dh-strip-nondeterminism dwz file gem2deb gem2deb-test-runner gettext gettext-base groff-base intltool-debian libarchive-zip-perl libdebhelper-perl libelf1t64 libffi8 libfile-stripnondeterminism-perl libgmp-dev libgmpxx4ldbl libjs-jquery libmagic-mgc libmagic1t64 libpipeline1 libruby libruby3.3 libtool libuchardet0 libunistring5 libxml2-16 libyaml-0-2 m4 man-db openssl po-debconf racc rake rubocop ruby ruby-all-dev ruby-ast ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-json ruby-minitest ruby-net-telnet ruby-parallel ruby-power-assert ruby-progressbar ruby-rack ruby-rainbow ruby-regexp-parser ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubocop-ast ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-unicode-display-width ruby-webrick ruby-whitequark-parser ruby-xmlrpc ruby3.3 ruby3.3-dev rubygems-integration sensible-utils yard Suggested packages: autoconf-archive gnu-standards autoconf-doc dh-make git-buildpackage pristine-tar gettext-doc libasprintf-dev libgettextpo-dev gnulib-l10n groff gmp-doc libgmp10-doc libmpfr-dev libtool-doc gfortran | fortran95-compiler m4-doc apparmor less www-browser libmail-box-perl ri ruby-dev bundler ruby-asciidoctor ruby-rackup ruby-redcloth yard-doc Recommended packages: apt-file debian-policy devscripts python3-debian curl | wget | lynx libarchive-cpio-perl javascript-common ruby-sdbm libltdl-dev libmail-sendmail-perl zip ruby-rackup ruby-rack-session fonts-lato ruby3.3-doc graphviz ruby-redcarpet The following NEW packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils ca-certificates debhelper dh-autoreconf dh-strip-nondeterminism dwz file gem2deb gem2deb-test-runner gettext gettext-base groff-base intltool-debian libarchive-zip-perl libdebhelper-perl libelf1t64 libffi8 libfile-stripnondeterminism-perl libgmp-dev libgmpxx4ldbl libjs-jquery libmagic-mgc libmagic1t64 libpipeline1 libruby libruby3.3 libtool libuchardet0 libunistring5 libxml2-16 libyaml-0-2 m4 man-db openssl po-debconf racc rake rubocop ruby ruby-all-dev ruby-ast ruby-csv ruby-did-you-mean ruby-diff-lcs ruby-json ruby-minitest ruby-net-telnet ruby-parallel ruby-power-assert ruby-progressbar ruby-rack ruby-rainbow ruby-regexp-parser ruby-rspec ruby-rspec-core ruby-rspec-expectations ruby-rspec-mocks ruby-rspec-support ruby-rubocop-ast ruby-ruby2-keywords ruby-rubygems ruby-test-unit ruby-unicode-display-width ruby-webrick ruby-whitequark-parser ruby-xmlrpc ruby3.3 ruby3.3-dev rubygems-integration sbuild-build-depends-main-dummy sensible-utils yard 0 upgraded, 76 newly installed, 0 to remove and 0 not upgraded. Need to get 25.7 MB/25.8 MB of archives. After this operation, 108 MB of additional disk space will be used. Get:1 file:/mass-rebuild ./ ruby-json 2.15.2+dfsg-1+rebuild1766547894 [86.2 kB] Get:2 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [896 B] Get:3 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get:4 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.5.4-1 [1496 kB] Get:5 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20250419 [162 kB] Get:6 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get:7 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get:8 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.46-5 [43.6 kB] Get:9 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.2-1 [245 kB] Get:10 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-2 [68.5 kB] Get:11 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-10 [1194 kB] Get:12 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.41.3-2 [98.9 kB] Get:13 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-2 [42.1 kB] Get:14 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get:15 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.20-2 [325 kB] Get:16 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3.1 [494 kB] Get:17 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get:18 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.18.1-3 [878 kB] Get:19 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.2-1 [772 kB] Get:20 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.29 [92.6 kB] Get:21 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-9 [540 kB] Get:22 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 21 [12.2 kB] Get:23 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get:24 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get:25 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get:26 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.194-1 [185 kB] Get:27 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.16-2 [108 kB] Get:28 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get:29 http://deb.debian.org/debian unstable/main amd64 libxml2-16 amd64 2.15.1+dfsg-2+b1 [641 kB] Get:30 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.2-1 [1687 kB] Get:31 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get:32 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.22 [216 kB] Get:33 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.29 [943 kB] Get:34 http://deb.debian.org/debian unstable/main amd64 rubygems-integration all 1.19 [5488 B] Get:35 http://deb.debian.org/debian unstable/main amd64 ruby-csv all 3.3.4-1 [42.2 kB] Get:36 http://deb.debian.org/debian unstable/main amd64 ruby-did-you-mean all 1.6.3-2 [20.9 kB] Get:37 http://deb.debian.org/debian unstable/main amd64 ruby-net-telnet all 0.2.0-1 [13.1 kB] Get:38 http://deb.debian.org/debian unstable/main amd64 ruby-ruby2-keywords all 0.0.5-1 [4300 B] Get:39 http://deb.debian.org/debian unstable/main amd64 ruby-webrick all 1.9.1-1 [59.6 kB] Get:40 http://deb.debian.org/debian unstable/main amd64 ruby-xmlrpc all 0.3.3-2 [24.4 kB] Get:41 http://deb.debian.org/debian unstable/main amd64 libffi8 amd64 3.5.2-3 [26.1 kB] Get:42 http://deb.debian.org/debian unstable/main amd64 libyaml-0-2 amd64 0.2.5-2+b1 [53.8 kB] Get:43 http://deb.debian.org/debian unstable/main amd64 libruby3.3 amd64 3.3.8-2 [6301 kB] Get:44 http://deb.debian.org/debian unstable/main amd64 ruby3.3 amd64 3.3.8-2 [834 kB] Get:45 http://deb.debian.org/debian unstable/main amd64 libruby amd64 1:3.3+b1 [5440 B] Get:46 http://deb.debian.org/debian unstable/main amd64 ruby-rubygems all 3.6.7-2 [407 kB] Get:47 http://deb.debian.org/debian unstable/main amd64 ruby amd64 1:3.3+b1 [6560 B] Get:48 http://deb.debian.org/debian unstable/main amd64 rake all 13.2.1-1 [65.2 kB] Get:49 http://deb.debian.org/debian unstable/main amd64 ruby-minitest all 5.26.1-1 [67.3 kB] Get:50 http://deb.debian.org/debian unstable/main amd64 ruby-power-assert all 2.0.5-1 [11.7 kB] Get:51 http://deb.debian.org/debian unstable/main amd64 ruby-test-unit all 3.6.2-1 [79.1 kB] Get:52 http://deb.debian.org/debian unstable/main amd64 gem2deb-test-runner amd64 2.2.6 [18.4 kB] Get:53 http://deb.debian.org/debian unstable/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-5 [330 kB] Get:54 http://deb.debian.org/debian unstable/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-5 [658 kB] Get:55 http://deb.debian.org/debian unstable/main amd64 ruby3.3-dev amd64 3.3.8-2 [1045 kB] Get:56 http://deb.debian.org/debian unstable/main amd64 ruby-all-dev amd64 1:3.3+b1 [6496 B] Get:57 http://deb.debian.org/debian unstable/main amd64 gem2deb amd64 2.2.6 [48.3 kB] Get:58 http://deb.debian.org/debian unstable/main amd64 libjs-jquery all 3.7.1+dfsg+~3.5.33-1 [319 kB] Get:59 http://deb.debian.org/debian unstable/main amd64 racc all 1.8.1-2 [75.6 kB] Get:60 http://deb.debian.org/debian unstable/main amd64 ruby-progressbar all 1.13.0-1 [24.5 kB] Get:61 http://deb.debian.org/debian unstable/main amd64 ruby-parallel all 1.27.0-1 [13.1 kB] Get:62 http://deb.debian.org/debian unstable/main amd64 ruby-ast all 2.4.3-1 [10.7 kB] Get:63 http://deb.debian.org/debian unstable/main amd64 ruby-whitequark-parser all 3.3.4.2-2 [507 kB] Get:64 http://deb.debian.org/debian unstable/main amd64 ruby-rainbow all 3.1.1-1 [13.0 kB] Get:65 http://deb.debian.org/debian unstable/main amd64 ruby-regexp-parser all 2.6.1-1 [61.7 kB] Get:66 http://deb.debian.org/debian unstable/main amd64 ruby-rubocop-ast all 1.24.0-2 [53.5 kB] Get:67 http://deb.debian.org/debian unstable/main amd64 ruby-unicode-display-width all 1.6.1-1 [10.3 kB] Get:68 http://deb.debian.org/debian unstable/main amd64 rubocop all 1.39.0+dfsg-1 [595 kB] Get:69 http://deb.debian.org/debian unstable/main amd64 ruby-diff-lcs all 1.6.2-1 [29.8 kB] Get:70 http://deb.debian.org/debian unstable/main amd64 ruby-rack all 3.1.18-1 [99.8 kB] Get:71 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-support all 3.13.0c0e0m0s1-2 [28.5 kB] Get:72 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-core all 3.13.0c0e0m0s1-2 [164 kB] Get:73 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-expectations all 3.13.0c0e0m0s1-2 [90.2 kB] Get:74 http://deb.debian.org/debian unstable/main amd64 ruby-rspec-mocks all 3.13.0c0e0m0s1-2 [81.3 kB] Get:75 http://deb.debian.org/debian unstable/main amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B] Get:76 http://deb.debian.org/debian unstable/main amd64 yard all 0.9.37-1 [547 kB] Preconfiguring packages ... Fetched 25.7 MB in 0s (104 MB/s) Selecting previously unselected package sensible-utils. (Reading database ... 11799 files and directories currently installed.) Preparing to unpack .../00-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../01-openssl_3.5.4-1_amd64.deb ... Unpacking openssl (3.5.4-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../02-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../03-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../04-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../05-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../06-gettext-base_0.23.2-1_amd64.deb ... Unpacking gettext-base (0.23.2-1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../07-libuchardet0_0.0.8-2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../08-groff-base_1.23.0-10_amd64.deb ... Unpacking groff-base (1.23.0-10) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../09-bsdextrautils_2.41.3-2_amd64.deb ... Unpacking bsdextrautils (2.41.3-2) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../10-libpipeline1_1.5.8-2_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-2) ... Selecting previously unselected package man-db. Preparing to unpack .../11-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../12-m4_1.4.20-2_amd64.deb ... Unpacking m4 (1.4.20-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../13-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../14-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../15-automake_1%3a1.18.1-3_all.deb ... Unpacking automake (1:1.18.1-3) ... Selecting previously unselected package autopoint. Preparing to unpack .../16-autopoint_0.23.2-1_all.deb ... Unpacking autopoint (0.23.2-1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../17-libdebhelper-perl_13.29_all.deb ... Unpacking libdebhelper-perl (13.29) ... Selecting previously unselected package libtool. Preparing to unpack .../18-libtool_2.5.4-9_all.deb ... Unpacking libtool (2.5.4-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../19-dh-autoreconf_21_all.deb ... Unpacking dh-autoreconf (21) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../20-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../21-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../22-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../23-libelf1t64_0.194-1_amd64.deb ... Unpacking libelf1t64:amd64 (0.194-1) ... Selecting previously unselected package dwz. Preparing to unpack .../24-dwz_0.16-2_amd64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../25-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../26-libxml2-16_2.15.1+dfsg-2+b1_amd64.deb ... Unpacking libxml2-16:amd64 (2.15.1+dfsg-2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../27-gettext_0.23.2-1_amd64.deb ... Unpacking gettext (0.23.2-1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../28-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../29-po-debconf_1.0.22_all.deb ... Unpacking po-debconf (1.0.22) ... Selecting previously unselected package debhelper. Preparing to unpack .../30-debhelper_13.29_all.deb ... Unpacking debhelper (13.29) ... Selecting previously unselected package rubygems-integration. Preparing to unpack .../31-rubygems-integration_1.19_all.deb ... Unpacking rubygems-integration (1.19) ... Selecting previously unselected package ruby-csv. Preparing to unpack .../32-ruby-csv_3.3.4-1_all.deb ... Unpacking ruby-csv (3.3.4-1) ... Selecting previously unselected package ruby-did-you-mean. Preparing to unpack .../33-ruby-did-you-mean_1.6.3-2_all.deb ... Unpacking ruby-did-you-mean (1.6.3-2) ... Selecting previously unselected package ruby-net-telnet. Preparing to unpack .../34-ruby-net-telnet_0.2.0-1_all.deb ... Unpacking ruby-net-telnet (0.2.0-1) ... Selecting previously unselected package ruby-ruby2-keywords. Preparing to unpack .../35-ruby-ruby2-keywords_0.0.5-1_all.deb ... Unpacking ruby-ruby2-keywords (0.0.5-1) ... Selecting previously unselected package ruby-webrick. Preparing to unpack .../36-ruby-webrick_1.9.1-1_all.deb ... Unpacking ruby-webrick (1.9.1-1) ... Selecting previously unselected package ruby-xmlrpc. Preparing to unpack .../37-ruby-xmlrpc_0.3.3-2_all.deb ... Unpacking ruby-xmlrpc (0.3.3-2) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../38-libffi8_3.5.2-3_amd64.deb ... Unpacking libffi8:amd64 (3.5.2-3) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../39-libyaml-0-2_0.2.5-2+b1_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-2+b1) ... Selecting previously unselected package libruby3.3:amd64. Preparing to unpack .../40-libruby3.3_3.3.8-2_amd64.deb ... Unpacking libruby3.3:amd64 (3.3.8-2) ... Selecting previously unselected package ruby3.3. Preparing to unpack .../41-ruby3.3_3.3.8-2_amd64.deb ... Unpacking ruby3.3 (3.3.8-2) ... Selecting previously unselected package libruby:amd64. Preparing to unpack .../42-libruby_1%3a3.3+b1_amd64.deb ... Unpacking libruby:amd64 (1:3.3+b1) ... Selecting previously unselected package ruby-rubygems. Preparing to unpack .../43-ruby-rubygems_3.6.7-2_all.deb ... Unpacking ruby-rubygems (3.6.7-2) ... Selecting previously unselected package ruby. Preparing to unpack .../44-ruby_1%3a3.3+b1_amd64.deb ... Unpacking ruby (1:3.3+b1) ... Selecting previously unselected package rake. Preparing to unpack .../45-rake_13.2.1-1_all.deb ... Unpacking rake (13.2.1-1) ... Selecting previously unselected package ruby-minitest. Preparing to unpack .../46-ruby-minitest_5.26.1-1_all.deb ... Unpacking ruby-minitest (5.26.1-1) ... Selecting previously unselected package ruby-power-assert. Preparing to unpack .../47-ruby-power-assert_2.0.5-1_all.deb ... Unpacking ruby-power-assert (2.0.5-1) ... Selecting previously unselected package ruby-test-unit. Preparing to unpack .../48-ruby-test-unit_3.6.2-1_all.deb ... Unpacking ruby-test-unit (3.6.2-1) ... Selecting previously unselected package gem2deb-test-runner. Preparing to unpack .../49-gem2deb-test-runner_2.2.6_amd64.deb ... Unpacking gem2deb-test-runner (2.2.6) ... Selecting previously unselected package libgmpxx4ldbl:amd64. Preparing to unpack .../50-libgmpxx4ldbl_2%3a6.3.0+dfsg-5_amd64.deb ... Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package libgmp-dev:amd64. Preparing to unpack .../51-libgmp-dev_2%3a6.3.0+dfsg-5_amd64.deb ... Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-5) ... Selecting previously unselected package ruby3.3-dev:amd64. Preparing to unpack .../52-ruby3.3-dev_3.3.8-2_amd64.deb ... Unpacking ruby3.3-dev:amd64 (3.3.8-2) ... Selecting previously unselected package ruby-all-dev:amd64. Preparing to unpack .../53-ruby-all-dev_1%3a3.3+b1_amd64.deb ... Unpacking ruby-all-dev:amd64 (1:3.3+b1) ... Selecting previously unselected package gem2deb. Preparing to unpack .../54-gem2deb_2.2.6_amd64.deb ... Unpacking gem2deb (2.2.6) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../55-libjs-jquery_3.7.1+dfsg+~3.5.33-1_all.deb ... Unpacking libjs-jquery (3.7.1+dfsg+~3.5.33-1) ... Selecting previously unselected package racc. Preparing to unpack .../56-racc_1.8.1-2_all.deb ... Unpacking racc (1.8.1-2) ... Selecting previously unselected package ruby-json:amd64. Preparing to unpack .../57-ruby-json_2.15.2+dfsg-1+rebuild1766547894_amd64.deb ... Unpacking ruby-json:amd64 (2.15.2+dfsg-1+rebuild1766547894) ... Selecting previously unselected package ruby-progressbar. Preparing to unpack .../58-ruby-progressbar_1.13.0-1_all.deb ... Unpacking ruby-progressbar (1.13.0-1) ... Selecting previously unselected package ruby-parallel. Preparing to unpack .../59-ruby-parallel_1.27.0-1_all.deb ... Unpacking ruby-parallel (1.27.0-1) ... Selecting previously unselected package ruby-ast. Preparing to unpack .../60-ruby-ast_2.4.3-1_all.deb ... Unpacking ruby-ast (2.4.3-1) ... Selecting previously unselected package ruby-whitequark-parser. Preparing to unpack .../61-ruby-whitequark-parser_3.3.4.2-2_all.deb ... Unpacking ruby-whitequark-parser (3.3.4.2-2) ... Selecting previously unselected package ruby-rainbow. Preparing to unpack .../62-ruby-rainbow_3.1.1-1_all.deb ... Unpacking ruby-rainbow (3.1.1-1) ... Selecting previously unselected package ruby-regexp-parser. Preparing to unpack .../63-ruby-regexp-parser_2.6.1-1_all.deb ... Unpacking ruby-regexp-parser (2.6.1-1) ... Selecting previously unselected package ruby-rubocop-ast. Preparing to unpack .../64-ruby-rubocop-ast_1.24.0-2_all.deb ... Unpacking ruby-rubocop-ast (1.24.0-2) ... Selecting previously unselected package ruby-unicode-display-width. Preparing to unpack .../65-ruby-unicode-display-width_1.6.1-1_all.deb ... Unpacking ruby-unicode-display-width (1.6.1-1) ... Selecting previously unselected package rubocop. Preparing to unpack .../66-rubocop_1.39.0+dfsg-1_all.deb ... Unpacking rubocop (1.39.0+dfsg-1) ... Selecting previously unselected package ruby-diff-lcs. Preparing to unpack .../67-ruby-diff-lcs_1.6.2-1_all.deb ... Unpacking ruby-diff-lcs (1.6.2-1) ... Selecting previously unselected package ruby-rack. Preparing to unpack .../68-ruby-rack_3.1.18-1_all.deb ... Unpacking ruby-rack (3.1.18-1) ... Selecting previously unselected package ruby-rspec-support. Preparing to unpack .../69-ruby-rspec-support_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-support (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec-core. Preparing to unpack .../70-ruby-rspec-core_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-core (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec-expectations. Preparing to unpack .../71-ruby-rspec-expectations_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec-mocks. Preparing to unpack .../72-ruby-rspec-mocks_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... Selecting previously unselected package ruby-rspec. Preparing to unpack .../73-ruby-rspec_3.13.0c0e0m0s1-2_all.deb ... Unpacking ruby-rspec (3.13.0c0e0m0s1-2) ... Selecting previously unselected package yard. Preparing to unpack .../74-yard_0.9.37-1_all.deb ... Unpacking yard (0.9.37-1) ... Selecting previously unselected package sbuild-build-depends-main-dummy. Preparing to unpack .../75-sbuild-build-depends-main-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-main-dummy (0.invalid.0) ... Setting up libpipeline1:amd64 (1.5.8-2) ... Setting up ruby-rainbow (3.1.1-1) ... Setting up ruby-ruby2-keywords (0.0.5-1) ... Setting up bsdextrautils (2.41.3-2) ... Setting up ruby-regexp-parser (2.6.1-1) ... Setting up ruby-power-assert (2.0.5-1) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-2+b1) ... Setting up libxml2-16:amd64 (2.15.1+dfsg-2+b1) ... Setting up libdebhelper-perl (13.29) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up gettext-base (0.23.2-1) ... Setting up m4 (1.4.20-2) ... Setting up file (1:5.46-5) ... Setting up libelf1t64:amd64 (0.194-1) ... Setting up ruby-minitest (5.26.1-1) ... Setting up autotools-dev (20240727.1) ... Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-5) ... Setting up ruby-test-unit (3.6.2-1) ... Setting up ruby-ast (2.4.3-1) ... Setting up ruby-net-telnet (0.2.0-1) ... Setting up ruby-csv (3.3.4-1) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up autopoint (0.23.2-1) ... Setting up autoconf (2.72-3.1) ... Setting up ruby-rspec-support (3.13.0c0e0m0s1-2) ... Setting up ruby-webrick (1.9.1-1) ... Setting up libffi8:amd64 (3.5.2-3) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up libuchardet0:amd64 (0.0.8-2) ... Setting up ruby-progressbar (1.13.0-1) ... Setting up libjs-jquery (3.7.1+dfsg+~3.5.33-1) ... Setting up ruby-did-you-mean (1.6.3-2) ... Setting up openssl (3.5.4-1) ... Setting up ruby-xmlrpc (0.3.3-2) ... Setting up automake (1:1.18.1-3) ... update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up gettext (0.23.2-1) ... Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-5) ... Setting up libtool (2.5.4-9) ... Setting up ruby-parallel (1.27.0-1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (21) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up groff-base (1.23.0-10) ... Setting up po-debconf (1.0.22) ... Setting up rubygems-integration (1.19) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up debhelper (13.29) ... Setting up rake (13.2.1-1) ... Setting up libruby3.3:amd64 (3.3.8-2) ... Setting up ruby-rubygems (3.6.7-2) ... Setting up ruby3.3-dev:amd64 (3.3.8-2) ... Setting up ruby3.3 (3.3.8-2) ... Setting up libruby:amd64 (1:3.3+b1) ... Setting up ruby-all-dev:amd64 (1:3.3+b1) ... Setting up ruby (1:3.3+b1) ... Setting up racc (1.8.1-2) ... Setting up ruby-json:amd64 (2.15.2+dfsg-1+rebuild1766547894) ... Setting up ruby-rspec-core (3.13.0c0e0m0s1-2) ... Setting up ruby-unicode-display-width (1.6.1-1) ... Setting up ruby-diff-lcs (1.6.2-1) ... Setting up ruby-whitequark-parser (3.3.4.2-2) ... Setting up ruby-rack (3.1.18-1) ... Setting up gem2deb-test-runner (2.2.6) ... Setting up ruby-rubocop-ast (1.24.0-2) ... Setting up yard (0.9.37-1) ... Setting up ruby-rspec-expectations (3.13.0c0e0m0s1-2) ... Setting up rubocop (1.39.0+dfsg-1) ... Setting up ruby-rspec-mocks (3.13.0c0e0m0s1-2) ... Setting up gem2deb (2.2.6) ... Setting up ruby-rspec (3.13.0c0e0m0s1-2) ... Setting up sbuild-build-depends-main-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.42-6) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. +------------------------------------------------------------------------------+ | Check architectures Wed, 24 Dec 2025 20:22:48 +0000 | +------------------------------------------------------------------------------+ Arch check ok (amd64 included in all) +------------------------------------------------------------------------------+ | Build environment Wed, 24 Dec 2025 20:22:48 +0000 | +------------------------------------------------------------------------------+ Kernel: Linux 6.12.57+deb13-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) amd64 (x86_64) Toolchain package versions: binutils_2.45.50.20251209-1 dpkg-dev_1.23.3 g++-15_15.2.0-12 gcc-15_15.2.0-12 libc6-dev_2.42-6 libstdc++-15-dev_15.2.0-12 libstdc++6_15.2.0-12 linux-libc-dev_6.17.13-1 Package versions: apt_3.1.12 autoconf_2.72-3.1 automake_1:1.18.1-3 autopoint_0.23.2-1 autotools-dev_20240727.1 base-files_14 base-passwd_3.6.8 bash_5.3-1 binutils_2.45.50.20251209-1 binutils-common_2.45.50.20251209-1 binutils-x86-64-linux-gnu_2.45.50.20251209-1 bsdextrautils_2.41.3-2 build-essential_12.12 bzip2_1.0.8-6 ca-certificates_20250419 coreutils_9.7-3 cpp_4:15.2.0-4 cpp-15_15.2.0-12 cpp-15-x86-64-linux-gnu_15.2.0-12 cpp-x86-64-linux-gnu_4:15.2.0-4 dash_0.5.12-12 debconf_1.5.91 debhelper_13.29 debian-archive-keyring_2025.1 debianutils_5.23.2 dh-autoreconf_21 dh-strip-nondeterminism_1.15.0-1 diffutils_1:3.12-1 dpkg_1.23.3 dpkg-dev_1.23.3 dwz_0.16-2 file_1:5.46-5 findutils_4.10.0-3 g++_4:15.2.0-4 g++-15_15.2.0-12 g++-15-x86-64-linux-gnu_15.2.0-12 g++-x86-64-linux-gnu_4:15.2.0-4 gcc_4:15.2.0-4 gcc-15_15.2.0-12 gcc-15-base_15.2.0-12 gcc-15-x86-64-linux-gnu_15.2.0-12 gcc-x86-64-linux-gnu_4:15.2.0-4 gem2deb_2.2.6 gem2deb-test-runner_2.2.6 gettext_0.23.2-1 gettext-base_0.23.2-1 grep_3.12-1 groff-base_1.23.0-10 gzip_1.13-1 hostname_3.25 init-system-helpers_1.69 intltool-debian_0.35.0+20060710.6 libacl1_2.3.2-2+b1 libapt-pkg7.0_3.1.12 libarchive-zip-perl_1.68-1 libasan8_15.2.0-12 libatomic1_15.2.0-12 libattr1_1:2.5.2-3 libaudit-common_1:4.1.2-1 libaudit1_1:4.1.2-1+b1 libbinutils_2.45.50.20251209-1 libblkid1_2.41.3-2 libbz2-1.0_1.0.8-6 libc-bin_2.42-6 libc-dev-bin_2.42-6 libc-gconv-modules-extra_2.42-6 libc6_2.42-6 libc6-dev_2.42-6 libcap-ng0_0.8.5-4+b2 libcap2_1:2.75-10+b5 libcc1-0_15.2.0-12 libcrypt-dev_1:4.5.1-1 libcrypt1_1:4.5.1-1 libctf-nobfd0_2.45.50.20251209-1 libctf0_2.45.50.20251209-1 libdb5.3t64_5.3.28+dfsg2-11 libdebconfclient0_0.282+b2 libdebhelper-perl_13.29 libdpkg-perl_1.23.3 libelf1t64_0.194-1 libffi8_3.5.2-3 libfile-stripnondeterminism-perl_1.15.0-1 libgcc-15-dev_15.2.0-12 libgcc-s1_15.2.0-12 libgdbm-compat4t64_1.26-1 libgdbm6t64_1.26-1 libgmp-dev_2:6.3.0+dfsg-5 libgmp10_2:6.3.0+dfsg-5 libgmpxx4ldbl_2:6.3.0+dfsg-5 libgomp1_15.2.0-12 libgprofng0_2.45.50.20251209-1 libhogweed6t64_3.10.2-1 libhwasan0_15.2.0-12 libisl23_0.27-1 libitm1_15.2.0-12 libjansson4_2.14-2+b4 libjs-jquery_3.7.1+dfsg+~3.5.33-1 liblsan0_15.2.0-12 liblz4-1_1.10.0-6 liblzma5_5.8.1-2 libmagic-mgc_1:5.46-5 libmagic1t64_1:5.46-5 libmd0_1.1.0-2+b1 libmount1_2.41.3-2 libmpc3_1.3.1-2 libmpfr6_4.2.2-2 libnettle8t64_3.10.2-1 libpam-modules_1.7.0-5 libpam-modules-bin_1.7.0-5 libpam-runtime_1.7.0-5 libpam0g_1.7.0-5 libpcre2-8-0_10.46-1 libperl5.40_5.40.1-7 libpipeline1_1.5.8-2 libquadmath0_15.2.0-12 libruby_1:3.3+b1 libruby3.3_3.3.8-2 libseccomp2_2.6.0-2+b1 libselinux1_3.9-4+rebuild1766544377 libsframe2_2.45.50.20251209-1 libsmartcols1_2.41.3-2 libssl3t64_3.5.4-1 libstdc++-15-dev_15.2.0-12 libstdc++6_15.2.0-12 libsystemd0_259-1 libtinfo6_6.5+20251123-1 libtool_2.5.4-9 libtsan2_15.2.0-12 libubsan1_15.2.0-12 libuchardet0_0.0.8-2 libudev1_259-1 libunistring5_1.3-2 libuuid1_2.41.3-2 libxml2-16_2.15.1+dfsg-2+b1 libxxhash0_0.8.3-2 libyaml-0-2_0.2.5-2+b1 libzstd1_1.5.7+dfsg-2 linux-libc-dev_6.17.13-1 m4_1.4.20-2 make_4.4.1-3 man-db_2.13.1-1 mawk_1.3.4.20250131-2 ncurses-base_6.5+20251123-1 ncurses-bin_6.5+20251123-1 openssl_3.5.4-1 openssl-provider-legacy_3.5.4-1 patch_2.8-2 perl_5.40.1-7 perl-base_5.40.1-7 perl-modules-5.40_5.40.1-7 po-debconf_1.0.22 racc_1.8.1-2 rake_13.2.1-1 rpcsvc-proto_1.4.3-1 rubocop_1.39.0+dfsg-1 ruby_1:3.3+b1 ruby-all-dev_1:3.3+b1 ruby-ast_2.4.3-1 ruby-csv_3.3.4-1 ruby-did-you-mean_1.6.3-2 ruby-diff-lcs_1.6.2-1 ruby-json_2.15.2+dfsg-1+rebuild1766547894 ruby-minitest_5.26.1-1 ruby-net-telnet_0.2.0-1 ruby-parallel_1.27.0-1 ruby-power-assert_2.0.5-1 ruby-progressbar_1.13.0-1 ruby-rack_3.1.18-1 ruby-rainbow_3.1.1-1 ruby-regexp-parser_2.6.1-1 ruby-rspec_3.13.0c0e0m0s1-2 ruby-rspec-core_3.13.0c0e0m0s1-2 ruby-rspec-expectations_3.13.0c0e0m0s1-2 ruby-rspec-mocks_3.13.0c0e0m0s1-2 ruby-rspec-support_3.13.0c0e0m0s1-2 ruby-rubocop-ast_1.24.0-2 ruby-ruby2-keywords_0.0.5-1 ruby-rubygems_3.6.7-2 ruby-test-unit_3.6.2-1 ruby-unicode-display-width_1.6.1-1 ruby-webrick_1.9.1-1 ruby-whitequark-parser_3.3.4.2-2 ruby-xmlrpc_0.3.3-2 ruby3.3_3.3.8-2 ruby3.3-dev_3.3.8-2 rubygems-integration_1.19 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.9-2 sensible-utils_0.0.26 sqv_1.3.0-5 sysvinit-utils_3.15-6 tar_1.35+dfsg-3.1 util-linux_2.41.3-2 xz-utils_5.8.1-2 yard_0.9.37-1 zlib1g_1:1.3.dfsg+really1.3.1-1+b2 +------------------------------------------------------------------------------+ | Build Wed, 24 Dec 2025 20:22:48 +0000 | +------------------------------------------------------------------------------+ Unpack source ------------- Format: 3.0 (quilt) Source: ruby-rubocop-rspec Binary: ruby-rubocop-rspec Architecture: all Version: 2.16.0-1+rebuild1766607741 Maintainer: Debian Ruby Team Uploaders: Miguel Landaeta , Utkarsh Gupta Homepage: https://github.com/rubocop-hq/rubocop-rspec Standards-Version: 4.6.1 Vcs-Browser: https://salsa.debian.org/ruby-team/ruby-rubocop-rspec Vcs-Git: https://salsa.debian.org/ruby-team/ruby-rubocop-rspec.git Testsuite: autopkgtest-pkg-ruby Build-Depends: debhelper-compat (= 13), gem2deb (>= 1), rake, rubocop (>= 0.87), ruby-rack, ruby-rspec, yard Package-List: ruby-rubocop-rspec deb ruby optional arch=all Checksums-Sha1: 1fbcce986c7a46c6d0329e9bfc7689f79aca81b7 182047 ruby-rubocop-rspec_2.16.0.orig.tar.gz b29e4fcb5b58681d278c2963ab26375e202dabce 3668 ruby-rubocop-rspec_2.16.0-1+rebuild1766607741.debian.tar.xz Checksums-Sha256: b9a37140b4ed41adff824d399ddfe0e5ce5d4a8089ab466a237d948cd7e0a336 182047 ruby-rubocop-rspec_2.16.0.orig.tar.gz 22c0ce55f26a8effdedfe17c877a73eeb936eb17c4b1cd05abe37bef7abf3af0 3668 ruby-rubocop-rspec_2.16.0-1+rebuild1766607741.debian.tar.xz Files: a2ec1c2ebdf13223e609e5a7a97a9832 182047 ruby-rubocop-rspec_2.16.0.orig.tar.gz b313973dd238c24d45c00c36e5ad86db 3668 ruby-rubocop-rspec_2.16.0-1+rebuild1766607741.debian.tar.xz Ruby-Versions: all dpkg-source: warning: extracting unsigned source package (ruby-rubocop-rspec_2.16.0-1+rebuild1766607741.dsc) dpkg-source: info: extracting ruby-rubocop-rspec in /build/reproducible-path/ruby-rubocop-rspec-2.16.0 dpkg-source: info: unpacking ruby-rubocop-rspec_2.16.0.orig.tar.gz dpkg-source: info: unpacking ruby-rubocop-rspec_2.16.0-1+rebuild1766607741.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 01-disable-bundler.patch dpkg-source: info: applying 0002-spec_helper-require-shared-context-assuming-it-s-on-.patch Check disk space ---------------- Sufficient free space for build +------------------------------------------------------------------------------+ | Starting Timed Build Commands Wed, 24 Dec 2025 20:22:49 +0000 | +------------------------------------------------------------------------------+ apt-get update -q && apt-get install -t experimental -qy ruby-all-dev --------------------------------------------------------------------- Ign:1 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ InRelease Ign:2 file:/mass-rebuild ./ InRelease Get:3 file:/mass-rebuild ./ Release [1617 B] Get:4 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ Release [609 B] Get:3 file:/mass-rebuild ./ Release [1617 B] Ign:5 copy:/build/reproducible-path/resolver-ajSTut/apt_archive ./ Release.gpg Ign:6 file:/mass-rebuild ./ Release.gpg Hit:7 http://deb.debian.org/debian unstable InRelease Hit:8 http://incoming.debian.org/debian-buildd buildd-unstable InRelease Hit:9 http://deb.debian.org/debian experimental InRelease Fetched 609 B in 0s (2605 B/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Solving dependencies... The following additional packages will be installed: libruby3.4 ruby3.4 ruby3.4-dev Recommended packages: ruby-sdbm fonts-lato ruby3.4-doc The following NEW packages will be installed: libruby3.4 ruby3.4 ruby3.4-dev The following packages will be upgraded: ruby-all-dev 1 upgraded, 3 newly installed, 0 to remove and 26 not upgraded. Need to get 8784 kB of archives. After this operation, 36.3 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian experimental/main amd64 libruby3.4 amd64 3.4.5-1~exp1 [6731 kB] Get:2 http://deb.debian.org/debian experimental/main amd64 ruby3.4 amd64 3.4.5-1~exp1 [920 kB] Get:3 http://deb.debian.org/debian experimental/main amd64 ruby3.4-dev amd64 3.4.5-1~exp1 [1127 kB] Get:4 http://deb.debian.org/debian experimental/main amd64 ruby-all-dev amd64 1:3.3+support3.4~0 [6292 B] debconf: unable to initialize frontend: Dialog debconf: (TERM is not set, so the dialog frontend is not usable.) debconf: falling back to frontend: Readline Fetched 8784 kB in 0s (89.9 MB/s) Selecting previously unselected package libruby3.4:amd64. (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 ... 20688 files and directories currently installed.) Preparing to unpack .../libruby3.4_3.4.5-1~exp1_amd64.deb ... Unpacking libruby3.4:amd64 (3.4.5-1~exp1) ... Selecting previously unselected package ruby3.4. Preparing to unpack .../ruby3.4_3.4.5-1~exp1_amd64.deb ... Unpacking ruby3.4 (3.4.5-1~exp1) ... Selecting previously unselected package ruby3.4-dev:amd64. Preparing to unpack .../ruby3.4-dev_3.4.5-1~exp1_amd64.deb ... Unpacking ruby3.4-dev:amd64 (3.4.5-1~exp1) ... Preparing to unpack .../ruby-all-dev_1%3a3.3+support3.4~0_amd64.deb ... Unpacking ruby-all-dev:amd64 (1:3.3+support3.4~0) over (1:3.3+b1) ... Setting up libruby3.4:amd64 (3.4.5-1~exp1) ... Setting up ruby3.4 (3.4.5-1~exp1) ... Setting up ruby3.4-dev:amd64 (3.4.5-1~exp1) ... Setting up ruby-all-dev:amd64 (1:3.3+support3.4~0) ... Processing triggers for man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Processing triggers for libc-bin (2.42-6) ... I: Finished running 'apt-get update -q && apt-get install -t experimental -qy ruby-all-dev'. Finished processing commands. -------------------------------------------------------------------------------- User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ADDRESS=pt_BR.UTF-8 LC_ALL=C.UTF-8 LC_IDENTIFICATION=pt_BR.UTF-8 LC_MEASUREMENT=pt_BR.UTF-8 LC_MONETARY=pt_BR.UTF-8 LC_NAME=pt_BR.UTF-8 LC_NUMERIC=pt_BR.UTF-8 LC_PAPER=pt_BR.UTF-8 LC_TELEPHONE=pt_BR.UTF-8 LC_TIME=pt_BR.UTF-8 LOGNAME=sbuild PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SHELL=/bin/sh USER=sbuild dpkg-buildpackage ----------------- Command: dpkg-buildpackage --sanitize-env -us -uc -mAutomated rebuild -b dpkg-buildpackage: info: source package ruby-rubocop-rspec dpkg-buildpackage: info: source version 2.16.0-1+rebuild1766607741 dpkg-buildpackage: info: source distribution UNRELEASED dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --buildsystem=ruby --with ruby dh_auto_clean -O--buildsystem=ruby dh_ruby --clean W: XS-Ruby-Versions is deprecated, and will be ignored dh_autoreconf_clean -O--buildsystem=ruby dh_clean -O--buildsystem=ruby debian/rules binary dh binary --buildsystem=ruby --with ruby dh_update_autotools_config -O--buildsystem=ruby dh_autoreconf -O--buildsystem=ruby dh_auto_configure -O--buildsystem=ruby dh_ruby --configure dh_auto_build -O--buildsystem=ruby dh_ruby --build dh_auto_test -O--buildsystem=ruby dh_ruby --test create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=ruby dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-rubocop-rspec/ -O--buildsystem=ruby dh_ruby --install /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec ┌──────────────────────────────────────────────────────────────────────────────┐ │ ruby-rubocop-rspec: Installing files and building extensions for ruby3.3 │ └──────────────────────────────────────────────────────────────────────────────┘ /usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20251224-64-igfsor/gemspec Successfully built RubyGem Name: rubocop-rspec Version: 2.16.0 File: rubocop-rspec-2.16.0.gem /usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all /tmp/d20251224-64-igfsor/rubocop-rspec-2.16.0.gem /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/config/default.yml /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/config/obsoletion.yml /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop-rspec.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/align_left_let_brace.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/align_right_let_brace.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/any_instance.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/around_block.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/base.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/be.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/be_eq.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/be_eql.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/be_nil.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/before_after_all.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/capybara/current_path_expectation.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/capybara/feature_methods.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/capybara/negation_matcher.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/capybara/specific_actions.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/capybara/specific_finders.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/capybara/specific_matcher.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/capybara/visibility_matcher.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/change_by_zero.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/class_check.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/context_method.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/context_wording.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/describe_class.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/describe_method.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/describe_symbol.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/described_class.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/described_class_module_wrapping.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/dialect.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/duplicated_metadata.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/empty_example_group.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/empty_hook.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/empty_line_after_example.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/empty_line_after_example_group.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/empty_line_after_final_let.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/empty_line_after_hook.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/empty_line_after_subject.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/example_length.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/example_without_description.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/example_wording.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/excessive_docstring_spacing.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/expect_actual.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/expect_change.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/expect_in_hook.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/expect_output.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/factory_bot/attribute_defined_statically.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/factory_bot/consistent_parentheses_style.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/factory_bot/create_list.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/factory_bot/factory_class_name.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/factory_bot/factory_name_style.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/factory_bot/syntax_methods.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/file_path.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/focus.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/hook_argument.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/hooks_before_examples.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/identical_equality_assertion.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/implicit_block_expectation.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/implicit_expect.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/implicit_subject.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/instance_spy.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/instance_variable.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/it_behaves_like.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/iterated_expectation.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/leading_subject.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/leaky_constant_declaration.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/let_before_examples.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/let_setup.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/message_chain.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/message_expectation.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/message_spies.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/missing_example_group_argument.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/capybara_help.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/comments_help.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/css_selector.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/empty_line_separation.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/final_end_location.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/inside_example_group.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/metadata.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/namespace.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/skip_or_pending.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/top_level_group.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/mixin/variable.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/multiple_describes.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/multiple_expectations.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/multiple_memoized_helpers.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/multiple_subjects.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/named_subject.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/nested_groups.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/no_expectation_example.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/not_to_not.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/overwriting_setup.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/pending.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/pending_without_reason.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/predicate_matcher.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/rails/avoid_setup_hook.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/rails/have_http_status.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/rails/http_status.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/rails/inferred_spec_type.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/receive_counts.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/receive_never.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/repeated_description.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/repeated_example.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/repeated_example_group_body.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/repeated_example_group_description.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/repeated_include_example.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/return_from_stub.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/scattered_let.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/scattered_setup.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/shared_context.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/shared_examples.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/single_argument_message_chain.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/sort_metadata.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/stubbed_mock.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/subject_declaration.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/subject_stub.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/unspecified_exception.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/variable_definition.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/variable_name.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/verified_double_reference.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/verified_doubles.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/void_expect.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec/yield.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/cop/rspec_cops.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/align_let_brace.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/concept.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/config_formatter.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/corrector/move_node.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/description_extractor.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/example.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/example_group.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/factory_bot.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/factory_bot/language.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/hook.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/inject.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/language.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/language/node_pattern.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/node.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/shared_contexts/default_rspec_language_config_context.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/version.rb /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all/gems/rubocop-rspec-2.16.0/lib/rubocop/rspec/wording.rb Successfully installed rubocop-rspec-2.16.0 1 gem installed cd debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all rm -rf bin rm -rf build_info rm -rf cache rm -rf doc rm -rf extensions rmdir plugins cd gems/rubocop-rspec-2.16.0 rm -f chmod 644 lib/rubocop/cop/rspec/align_left_let_brace.rb lib/rubocop/cop/rspec/align_right_let_brace.rb lib/rubocop/cop/rspec/any_instance.rb lib/rubocop/cop/rspec/around_block.rb lib/rubocop/cop/rspec/base.rb lib/rubocop/cop/rspec/be.rb lib/rubocop/cop/rspec/be_eq.rb lib/rubocop/cop/rspec/be_eql.rb lib/rubocop/cop/rspec/be_nil.rb lib/rubocop/cop/rspec/before_after_all.rb lib/rubocop/cop/rspec/capybara/current_path_expectation.rb lib/rubocop/cop/rspec/capybara/feature_methods.rb lib/rubocop/cop/rspec/capybara/negation_matcher.rb lib/rubocop/cop/rspec/capybara/specific_actions.rb lib/rubocop/cop/rspec/capybara/specific_finders.rb lib/rubocop/cop/rspec/capybara/specific_matcher.rb lib/rubocop/cop/rspec/capybara/visibility_matcher.rb lib/rubocop/cop/rspec/change_by_zero.rb lib/rubocop/cop/rspec/class_check.rb lib/rubocop/cop/rspec/context_method.rb lib/rubocop/cop/rspec/context_wording.rb lib/rubocop/cop/rspec/describe_class.rb lib/rubocop/cop/rspec/describe_method.rb lib/rubocop/cop/rspec/describe_symbol.rb lib/rubocop/cop/rspec/described_class.rb lib/rubocop/cop/rspec/described_class_module_wrapping.rb lib/rubocop/cop/rspec/dialect.rb lib/rubocop/cop/rspec/duplicated_metadata.rb lib/rubocop/cop/rspec/empty_example_group.rb lib/rubocop/cop/rspec/empty_hook.rb lib/rubocop/cop/rspec/empty_line_after_example.rb lib/rubocop/cop/rspec/empty_line_after_example_group.rb lib/rubocop/cop/rspec/empty_line_after_final_let.rb lib/rubocop/cop/rspec/empty_line_after_hook.rb lib/rubocop/cop/rspec/empty_line_after_subject.rb lib/rubocop/cop/rspec/example_length.rb lib/rubocop/cop/rspec/example_without_description.rb lib/rubocop/cop/rspec/example_wording.rb lib/rubocop/cop/rspec/excessive_docstring_spacing.rb lib/rubocop/cop/rspec/expect_actual.rb lib/rubocop/cop/rspec/expect_change.rb lib/rubocop/cop/rspec/expect_in_hook.rb lib/rubocop/cop/rspec/expect_output.rb lib/rubocop/cop/rspec/factory_bot/attribute_defined_statically.rb lib/rubocop/cop/rspec/factory_bot/consistent_parentheses_style.rb lib/rubocop/cop/rspec/factory_bot/create_list.rb lib/rubocop/cop/rspec/factory_bot/factory_class_name.rb lib/rubocop/cop/rspec/factory_bot/factory_name_style.rb lib/rubocop/cop/rspec/factory_bot/syntax_methods.rb lib/rubocop/cop/rspec/file_path.rb lib/rubocop/cop/rspec/focus.rb lib/rubocop/cop/rspec/hook_argument.rb lib/rubocop/cop/rspec/hooks_before_examples.rb lib/rubocop/cop/rspec/identical_equality_assertion.rb lib/rubocop/cop/rspec/implicit_block_expectation.rb lib/rubocop/cop/rspec/implicit_expect.rb lib/rubocop/cop/rspec/implicit_subject.rb lib/rubocop/cop/rspec/instance_spy.rb lib/rubocop/cop/rspec/instance_variable.rb lib/rubocop/cop/rspec/it_behaves_like.rb lib/rubocop/cop/rspec/iterated_expectation.rb lib/rubocop/cop/rspec/leading_subject.rb lib/rubocop/cop/rspec/leaky_constant_declaration.rb lib/rubocop/cop/rspec/let_before_examples.rb lib/rubocop/cop/rspec/let_setup.rb lib/rubocop/cop/rspec/message_chain.rb lib/rubocop/cop/rspec/message_expectation.rb lib/rubocop/cop/rspec/message_spies.rb lib/rubocop/cop/rspec/missing_example_group_argument.rb lib/rubocop/cop/rspec/mixin/capybara_help.rb lib/rubocop/cop/rspec/mixin/comments_help.rb lib/rubocop/cop/rspec/mixin/css_selector.rb lib/rubocop/cop/rspec/mixin/empty_line_separation.rb lib/rubocop/cop/rspec/mixin/final_end_location.rb lib/rubocop/cop/rspec/mixin/inside_example_group.rb lib/rubocop/cop/rspec/mixin/metadata.rb lib/rubocop/cop/rspec/mixin/namespace.rb lib/rubocop/cop/rspec/mixin/skip_or_pending.rb lib/rubocop/cop/rspec/mixin/top_level_group.rb lib/rubocop/cop/rspec/mixin/variable.rb lib/rubocop/cop/rspec/multiple_describes.rb lib/rubocop/cop/rspec/multiple_expectations.rb lib/rubocop/cop/rspec/multiple_memoized_helpers.rb lib/rubocop/cop/rspec/multiple_subjects.rb lib/rubocop/cop/rspec/named_subject.rb lib/rubocop/cop/rspec/nested_groups.rb lib/rubocop/cop/rspec/no_expectation_example.rb lib/rubocop/cop/rspec/not_to_not.rb lib/rubocop/cop/rspec/overwriting_setup.rb lib/rubocop/cop/rspec/pending.rb lib/rubocop/cop/rspec/pending_without_reason.rb lib/rubocop/cop/rspec/predicate_matcher.rb lib/rubocop/cop/rspec/rails/avoid_setup_hook.rb lib/rubocop/cop/rspec/rails/have_http_status.rb lib/rubocop/cop/rspec/rails/http_status.rb lib/rubocop/cop/rspec/rails/inferred_spec_type.rb lib/rubocop/cop/rspec/receive_counts.rb lib/rubocop/cop/rspec/receive_never.rb lib/rubocop/cop/rspec/repeated_description.rb lib/rubocop/cop/rspec/repeated_example.rb lib/rubocop/cop/rspec/repeated_example_group_body.rb lib/rubocop/cop/rspec/repeated_example_group_description.rb lib/rubocop/cop/rspec/repeated_include_example.rb lib/rubocop/cop/rspec/return_from_stub.rb lib/rubocop/cop/rspec/scattered_let.rb lib/rubocop/cop/rspec/scattered_setup.rb lib/rubocop/cop/rspec/shared_context.rb lib/rubocop/cop/rspec/shared_examples.rb lib/rubocop/cop/rspec/single_argument_message_chain.rb lib/rubocop/cop/rspec/sort_metadata.rb lib/rubocop/cop/rspec/stubbed_mock.rb lib/rubocop/cop/rspec/subject_declaration.rb lib/rubocop/cop/rspec/subject_stub.rb lib/rubocop/cop/rspec/unspecified_exception.rb lib/rubocop/cop/rspec/variable_definition.rb lib/rubocop/cop/rspec/variable_name.rb lib/rubocop/cop/rspec/verified_double_reference.rb lib/rubocop/cop/rspec/verified_doubles.rb lib/rubocop/cop/rspec/void_expect.rb lib/rubocop/cop/rspec/yield.rb lib/rubocop/cop/rspec_cops.rb lib/rubocop/rspec/align_let_brace.rb lib/rubocop/rspec/concept.rb lib/rubocop/rspec/config_formatter.rb lib/rubocop/rspec/corrector/move_node.rb lib/rubocop/rspec/description_extractor.rb lib/rubocop/rspec/example.rb lib/rubocop/rspec/example_group.rb lib/rubocop/rspec/factory_bot/language.rb lib/rubocop/rspec/factory_bot.rb lib/rubocop/rspec/hook.rb lib/rubocop/rspec/inject.rb lib/rubocop/rspec/language/node_pattern.rb lib/rubocop/rspec/language.rb lib/rubocop/rspec/node.rb lib/rubocop/rspec/shared_contexts/default_rspec_language_config_context.rb lib/rubocop/rspec/version.rb lib/rubocop/rspec/wording.rb lib/rubocop/rspec.rb lib/rubocop-rspec.rb find lib/ -type d -empty -delete cd - cd - dh_installchangelogs -pruby-rubocop-rspec /build/reproducible-path/ruby-rubocop-rspec-2.16.0/CHANGELOG.md upstream /usr/bin/ruby3.3 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby3.3 │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -e gem\ \"rubocop-rspec\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.3 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.3 -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 Randomized with seed 11381 RuboCop::Cop::RSpec::Capybara::SpecificFinders does not register an offense when using `find_by_id` registers an offense when using `find` and other args registers an offense when using `find` does not register an offense when using `find` with argument is id with multiple matcher registers an offense when using `find` with no parentheses does not register an offense when using `find` with argument is not id registers an offense when using `find` with method chain registers an offense when using `find` and other args with no parentheses does not register an offense when using `find with argument is attribute not specified id registers an offense when using `find with argument is attribute specified id does not register an offense when using `find with argument is element with attribute specified id does not register an offense when using `find with argument is element with id with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::RSpec::Hook extracts name #knowable_scope? knows the scope of a hook with a symbol literal knows the scope of a hook with no argument does not break if a hook is not given a symbol literal knows the scope of a hook with hash metadata #scope interprets around(:example) { } as having scope each interprets before(:each) { } as having scope each defaults to example hook with hash metadata classifies :each as an example hook interprets after(:suite) { } as having scope suite ignores other arguments to hooks interprets before(:all) { } as having scope context interprets after { } as having scope each interprets around(:context) { } as having scope context #metadata extracts hash metadata extracts symbol metadata extracts hash metadata with no scope given withstands no arguments combines symbol and hash metadata RuboCop::Cop::RSpec::DescribedClass when EnforcedStyle is :described_class flags for the use of the described class ignores if a local variable is part of the namespace flags the use of described class with module accepts an empty block ignores describe that do not reference to a class ignores subclasses flags with metadata ignores non-matching namespace in usages takes class from innermost describe flags the use of described class with namespace ignores if `described_class` is a part of the constant flags the use of described class with nested namespace ignores violations within a hook scope change ignores non-matching namespace ignores class if the scope is changing allows accessing constants from variables when in a nested namespace ignores described class as string ignores non-matching namespace defined on `describe` level ignores violations within a class scope change when SkipBlocks is `true` ignores violations within non-rspec blocks when SkipBlocks is `false` flags violations within all blocks when EnforcedStyle is :explicit ignores describe that do not reference to a class autocorrects corresponding ignores violations within a hook scope change flags the use of the described_class ignores described_class as string ignores violations within a class scope change with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::ExampleWording flags an unclear description despite uppercase and lowercase strings flags \-separated multiline interpolated strings finds description with `Should` at the beginning ignores non-example blocks flags an unclear description flags a lone should not flags \-separated multiline strings skips interpolated description without literal `should` at the start flags an unclear description despite extra spaces flags a lone should finds description with `should` at the beginning skips words beginning with 'it' ignores heredocs finds interpolated description with `should` at the beginning skips descriptions without `should` at the beginning skips descriptions starting with words that begin with `should` finds leading it in interpolated description finds description with `SHOULDN'T` at the beginning finds leading its finds description with `shouldn't` at the beginning when `DisallowedExamples: Workz` flags an unclear description flags an unclear description despite uppercase and lowercase strings finds an invalid example across two lines finds a valid sentence across two lines with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::ScatteredLet doesnt flag `let!` in the middle of multiple `let`s works with heredocs flags `let` after the first different node flags `let` at different nesting levels works with comments flags scattered `let!`s flags `let` with proc argument with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::VariableDefinition with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when EnforcedStyle is `strings` does not register offense for string names registers an offense for symbol name registers an offense for interpolated symbol when EnforcedStyle is `symbols` registers an offense for string name does not register offense for multiline string does not register offense for interpolated string does not register offense for symbol names RuboCop::Cop::RSpec::OverwritingSetup registers an offense for overwritten `subject` registers an offense for string arguments registers an offense for overriding an unnamed subject registers an offense for `let!` overwriting `let` does not register an offense for dynamic names for `let` does not register an offense for overwriting in different context registers an offense for overwritten `let` registers an offense for `subject!` and `let!` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::FilePath does not register offense for absolute file path does not register an offense for files defining an empty class does not register an offense for different parent directories does not register an offense for alphanumeric class names registers an offense for path with incorrect collapsed namespace registers an offense for a bad path registers an offense for a wrong class name with a symbol argument does not register an offense for ACRONYMClassNames registers an offense when second argument contains spaces does not register an offense for non-alphanumeric characters does not register an offense for ALLCAPS class names registers an offense for a wrong class name does not register an offense for class specs registers an offense for a wrong class but a correct method does not register an offense for multiple top level describes registers an offense for a file missing a .rb does not register an offense for an arbitrary spec name for an operator method registers an offense for a wrong class and highlights metadata does not register an offense for flat hierarchies for instance methods does not register an offense for CamelCaps class names does not register an offense for an arbitrary spec suffix does not register an offense for instance methods does not register an offense for flat hierarchies for class methods registers an offense for a path containing the class name registers an offense for a bad path for all kinds of example groups registers an offense for a repeated .rb registers an offense for a file missing _spec does not register an offense for bang method registers an offense for path with incorrect expanded namespace does not register an offense for class methods does not register an offense for subdirs for class methods does not register an offense for shared examples does not register an offense for subdirs for instance methods does not register an offense for example groups do not describe a class / method registers an offense for a feature file missing _spec registers an offense for a file without the .rb extension when `type: :routing` is used and it does not end with _spec.rb registers an offense when path is under spec/routing and it ends with _spec.rb does not register an offense when configured with CustomTransform does not register an offense for custom module name transformation does not register an offense for routing specs when path is under spec/routing and it does not end with _spec.rb registers an offense when `type: :routing` is used and it ends with _spec.rb does not register an offense when configured with IgnoreMethods does not register an offense for the described method when configured with SpecSuffixOnly registers an offense when the file extension is not .rb registers an offense when _spec.rb suffix is missing does not register an offense for the described class registers an offense when a feature file is missing _spec.rb suffix with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::PredicateMatcher when enforced style is `explicit` when strict is true accepts built in matchers registers an offense for a predicate method with built-in equiv registers an offense for a predicate mather registers an offense for a predicate method with a block registers an offense for a predicate matcher with a block registers an offense for a predicate method with argument accepts non-predicate matcher registers an offense for a predicate mather with argument when custom matchers are allowed accepts custom allowed explicit matchers when strict is false accepts built in matchers registers an offense for a predicate method with built-in equiv accepts non-predicate matcher registers an offense for a predicate mather registers an offense for a predicate method with argument registers an offense for a predicate mather with argument registers an offense for a predicate matcher with a block registers an offense for a predicate method with a block when custom matchers are allowed accepts custom allowed explicit matchers with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when enforced style is `inflected` when strict is false registers an offense for a predicate method in actual accepts a predicate method that is not checked true/false registers an offense for a predicate method with argument accepts non-predicate method registers an offense for a predicate method in actual registers an offense for a predicate method with built-in equiv registers an offense for a predicate method with a block when strict is true registers an offense for a predicate method with a block accepts strict checking boolean matcher registers an offense for a predicate method in actual registers an offense for a predicate method with built-in equiv accepts a predicate method that is not checked true/false registers an offense for a predicate method with argument accepts non-predicate method RuboCop::Cop::RSpec::BeforeAfterAll when using after each does not register an offense when using before each does not register an offense when using before all registers an offense with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when using after all registers an offense RuboCop::Cop::RSpec::FactoryBot::CreateList with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when EnforcedStyle is :create_list ignores n.times with n as argument flags n.times when create call doesn't have method calls flags usage of n.times with no arguments ignores n.times when there is other calls but create flags usage of n.times with nested block arguments ignores create method of other object flags usage of Array.new(n) with block argument flags usage of n.times with arguments ignores empty n.times ignores n.times when there is no create call inside ignores n.times when create call does have method calls flags usage of n.times with keyword arguments ignores create in other block flags usage of Array.new(n) with no arguments flags usage of n.times when FactoryBot.create is used flags FactoryGirl.create calls with a block flags usage of n.times with block argument flags usage of n.times when FactoryGirl.create is used when EnforcedStyle is :n_times flags usage of create_list with keyword arguments flags usage of FactoryGirl.create_list ignores create method of other object flags usage of create_list flags usage of FactoryGirl.create_list with a block flags usage of create_list with argument when Ruby 2.7 ignores n.times with numblock RuboCop::Cop::RSpec::VerifiedDoubles ignores instance_doubles ignores doubles that have no name specified finds a `double` instead of an `instance_double` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when configuration does not specify IgnoreSymbolicNames finds a `spy` instead of an `instance_spy` find doubles whose name is a symbol when configured to ignore symbolic names ignores doubles whose name is a symbol still flags doubles whose name is a string when configured not to ignore nameless doubles flags doubles that have no name specified RuboCop::Cop::RSpec::ExpectInHook adds an offense for `expect` in `before` hook accepts `allow` in `before` hook adds an offense for `expect` in `around` hook adds an offense for `expect` in `after` hook adds an offense for `expect` with block in `before` hook accepts an empty `before` hook accepts `expect` in `it` when Ruby 2.7 adds an offense for `expect` in `around` hook with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::EmptyHook with `around` hook accepts multiline `around` hook accepts non-empty `around` hook detects offense for empty `around` when the hook is between other blocks detects offense for empty `append_after` with `prepend_after` hook accepts non-empty `prepend_after` hook detects offense for empty `prepend_after` accepts multiline `prepend_after` hook with `after` hook detects offense for empty `after` accepts non-empty `after` hook accepts multiline `after` hook with `prepend_before` hook accepts non-empty `prepend_before` hook accepts multiline `prepend_before` hook detects offense for empty `prepend_before` with `before` hook detects offense for empty `before` with :context scope detects offense for empty `before` autocorrects `before` with semicolon accepts multiline `before` hook detects offense for empty `before` with :example scope detects offense for empty `before` with :each scope detects offense for empty `before` with :suite scope accepts non-empty `before` hook detects offense for empty `before` with :all scope with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb with `append_after` hook accepts multiline `append_after` hook detects offense for empty `append_after` accepts non-empty `append_after` hook with `append_before` hook accepts non-empty `append_before` hook accepts multiline `append_before` hook detects offense for empty `append_before` RuboCop::CLI --autocorrect when corrects `RSpec/Capybara/CurrentPathExpectation` with `Style/TrailingCommaInArguments` autocorrects be compatible with each other rubocop terminates with a success RuboCop::Cop::RSpec::Base with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when the file is a source file without "spec" in the name ignores the source when the path is not a specified pattern ignores the source when the path is not a spec file when the source path ends with `_spec.rb` registers an offense ignores the file if it is ignored when the source path contains `/spec/` registers an offense when the source path starts with `spec/` registers an offense when custom patterns are specified registers offenses when the path matches a custom specified pattern DSL alias configuration with the default config detects `describe` as an example group does not detect `epic` as an example group when `epic` is set as an alias to example group detects `describe` as an example group detects `epic` as an example group RuboCop::Cop::RSpec::ChangeByZero does not register an offense when the argument to `by` is not zero registers an offense when the argument to `by` is zero when `NegatedMatcher` is not defined (default) registers an offense when the argument to `by` is zero with compound expectations by `|` registers an offense when the argument to `by` is zero with compound expectations by `and` registers an offense when the argument to `by` is zero with compound expectations by `or` registers an offense when the argument to `by` is zero with compound expectations by `&` when with a line break registers an offense when the argument to `by` is zero with compound expectations by `or` registers an offense when the argument to `by` is zero with compound expectations by `&` registers an offense when the argument to `by` is zero with compound expectations by `|` registers an offense when the argument to `by` is zero with compound expectations by `and` with `NegatedMatcher: 'not_change'` registers an offense and autocorrect when the argument to `by` is zero with compound expectations registers an offense and autocorrect when the argument to `by` is zero with compound expectations with line break with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::MultipleExpectations generates a todo based on the worst violation without configuration flags multiple expectations approves of one expectation per example counts aggregate_failures as one expectation flags multiple is_expected flags multiple expects with blocks counts every aggregate_failures as an expectation flags multiple expect_any_instance_of with Max configuration permits two expectations flags three expectations with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb with metadata checks examples with siblings with `aggregate_failures: true` ignores examples with `aggregate_failures: true` defined deeply prefers example metadata over example group metadata ignores examples with `aggregate_failures: true` checks examples with `aggregate_failures: false` checks example groups with `aggregate_failures: false` ignores example groups with `:aggregate_failures` ignores example groups with `aggregate_failures: true` ignores examples with `:aggregate_failures` RuboCop::RSpec::ConfigFormatter builds a YAML dump with spacing between cops RuboCop::Cop::RSpec::InstanceVariable flags an instance variable inside a shared example ignores instance variables outside of specs ignores an instance variable without describe flags several instance variables inside a describe ignores an instance variable inside a dynamic class flags an instance variable inside a describe ignores non-spec blocks with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when used in a custom matcher ignores instance variables inside `matcher` flags instance variables outside `matcher` ignores instance variables inside `RSpec::Matchers.define` when configured with AssignmentOnly flags an instance variable when it is also assigned flags an instance variable when it is also assigned in a sibling example group ignores an instance variable when it is not assigned RuboCop::Cop::RSpec::PendingWithoutReason when pending by example method registers offense when pending by metadata on example without reason registers offense when pending by metadata on example with reason registers no offense when skipped by example group method registers offense when skipped by skip step with reason registers no offense when skipped by metadata on example without reason registers offense when pending by metadata on example group without reason registers offense when skipped by metadata on example group without reason registers offense when pending by pending step with reason registers no offense when pending by pending step without reason registers offense with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when skipped by metadata on example with reason registers no offense when skipped by skip step without reason registers offense when skipped by example method registers offense when pending by hash metadata on example group without reason registers offense RuboCop::Cop::RSpec::AnyInstance finds `expect_any_instance_of` instead of an instance double finds old `any_instance` syntax instead of an instance double finds `allow_any_instance_of` instead of an instance double with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::LetSetup complains when let! is used and not referenced complains when let! used in shared example including ignores let! when used in example complains when let! is used and not referenced within nested group flags blockpass complains when there is only one nested node into example group ignores used helpers defined as strings complains when let! is used and not referenced in shared example group complains when there is a custom nesting level flags unused helpers defined as strings ignores let! when used in `before` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::Capybara::VisibilityMatcher does not register an offense when using multiple options registers an offense when using `visible: true` recognizes multiple negative matchers registers an offense when using a selector` does not register an offense when using `visible: :hidden` registers an offense when using a using multiple options` does not register an offense when using other options recognizes multiple matchers does not register an offense when no options are given` registers an offense when using `visible: false` does not register an offense when using `visible: :all` does not register an offense when using `visible: :visible` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::DescribeMethod ignores describes with only a class skips specs not having a string second argument skips methods starting with a . or # enforces non-method names with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::EmptyLineAfterHook when AllowConsecutiveOneLiners option has default value `true` flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive does not register an offense for multiline `around` block registers an offense for multiline blocks without empty line after allows chained one-liner with different hooks allows multiple one-liner blocks registers an offense for empty line after `before` hook flags a missing empty line before a comment registers an offense for empty line after `around` hook flags a missing empty line before a multiline comment does not register an offense for empty line after `before` hook does not register an offense for empty line after `around` hook does not register an offense for `before` being the latest node flags a missing empty line after a `rubocop:enable` directive does not register an offense for chained one-liner `before` hooks does not register an offense for multiline `before` block registers an offense for empty line after `after` hook does not register an offense for a comment followed by an empty line does not register an offense for empty line after `after` hook allows multiple one-liner blocks with comments registers an offense for multiline blocks without empty line before does not register an offense for multiline `after` block flags a missing empty line before a `rubocop:disable` directive with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when AllowConsecutiveOneLiners option `false` registers an offense for multiline blocks without empty line after registers an offense for multiple one-liner blocks with comments does not register an offense for a comment followed by an empty line does not register an offense for empty line after `before` hook registers an offense for empty line after `after` hook registers an offense for multiple one-liner different hook blocks does not register an offense for multiline `around` block does not register an offense for empty line after `around` hook does not register an offense for `before` being the latest node does not register an offense for empty line after `after` hook flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line before a multiline comment registers an offense for empty line after `around` hook flags a missing empty line after a `rubocop:enable` directive does not register an offense for multiline `after` block does not register an offense for multiline `before` block registers an offense for multiple one-liner same hook blocks flags a missing empty line before a comment registers an offense for empty line after `before` hook registers an offense for multiline blocks without empty line before flags a missing empty line before a `rubocop:disable` directive when Ruby 2.7 does not register an offense for multiline `around` block registers an offense for empty line after `around` hook RuboCop::Cop::RSpec::EmptyLineAfterExampleGroup flags a missing empty line before a multiline comment flags a missing empty line before a comment handles describes in an if block flags a missing empty line before a `rubocop:disable` directive does not register an offense for a comment followed by an empty line flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line after a `rubocop:enable` directive checks for empty line after describe highlights single line formulations correctly approves empty line after context checks for empty line after context approves empty line after describe with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::UnspecifiedException with raise_exception matcher allows parameterized exceptions allows exception types with messages allows exception matching regular expressions allows classes with blocks with do/end allows empty exception specification when not expecting an error allows exception classes allows classes with blocks with braces allows exception messages detects the `unspecified_exception` offense allows exception types with matching regular expressions with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb with raise_error matcher allows exception types with messages detects the `unspecified_exception` offense allows parameterized exceptions allows exception messages allows empty exception specification when not expecting an error allows exception types with matching regular expressions allows exception matching regular expressions allows classes with blocks with do/end allows exception classes allows classes with blocks with braces RuboCop::Cop::RSpec::AroundBlock when #run is called does not register an offense when the hook is scoped with a symbol registers an offense with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when yielded to another block does not register an offense when used as a block arg does not register an offense when the yielded value is unused registers an offense when two values are yielded and the first is unused registers an offense for the first argument when no value is yielded registers an offense when passed to another method does not register an offense when Ruby 2.7 when passed to another method does not register an offense when a method other than #run or #call is called registers an offense when #run is called does not register an offense when #call is called does not register an offense when used as a block arg does not register an offense when the yielded value is unused registers an offense when the yielded value is referenced but not used registers an offense when a method other than #run or #call is called registers an offense when #call is called does not register an offense RuboCop::Cop::RSpec::StubbedMock flags `receive_message_chain` with `.and_return` ignores message allowances flags `expect_any_instance_of` flags with order and count constraints (PENDING: Not implemented yet) flags `receive_messages` tolerates passed arguments without parentheses flags stubbed message expectation with argument matching and a block ignores `have_received` flags stubbed message expectation with argument matching flags block-pass flags stubbed message expectation with a block flags `is_expected` flags `receive_message_chain` flags `receive_message_chain` with a block flags stubbed message expectation with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::FactoryBot::AttributeDefinedStatically accepts valid factory definitions accepts valid traits_for_enum definition registers an offense for attributes defined on explicit receiver does not add offense if method called on a local variable accepts valid association definitions registers an offense for offending code registers an offense in a trait does not add offense if out of factory bot block registers an offense in a transient block accepts valid sequence definition registers an offense for an attribute defined on `self` does not add offense if method called on another object with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::SortMetadata registers an offense also when the metadata is not on one single line registers an offense when using mixed metadata, but only the hash keys are in alphabetical order does not register an offense when using mixed metadata in alphabetical order (respectively) does not register an offense when using only a hash of metadata with keys in alphabetical order registers an offense when using only symbol metadata in a config block, but not in alphabetical order does not register an offense when using only symbol metadata in alphabetical order registers an offense only when example or group has a block ignores includes' positional arguments registers an offense when using mixed metadata and both symbols metadata and hash keys are not in alphabetical order and the hash values are complex objects registers an offense when using mixed metadata and both symbols metadata and hash keys are not in alphabetical order registers an offense when using mixed metadata, but only the symbol keys are in alphabetical order registers an offense when using only symbol metadata, but not in alphabetical order registers an offense when using only a hash of metadata, but with keys not in alphabetical order when using custom RSpec language without adjusting the RuboCop RSpec language configuration does not register an offense with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when using custom RSpec language and adjusting the RuboCop RSpec language configuration registers an offense RuboCop::Cop::RSpec::LeadingSubject registers an offense for subject below include with a block registers an offense for subject below let! does not register an offense for subjects in contexts registers an offense for subject below let does not register an offense for subjects in tests registers an offense when subject is below a non-offending node registers an offense for subject below let with proc argument registers an offense for subject below include with a blockpass registers an offense for subject below include registers an offense for subject below hook does not register an offense for subject above let registers an offense for subject below example group registers an offense for subject below example registers an offense for subject below shared example group does not register an offense for subject in arbitrary code does not register an offense for subject nested inside a block with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::Capybara::FeatureMethods flags violations for `given!` ignores feature calls outside spec flags violations for `background` flags violations for `scenario` flags violations for `xscenario` allows includes before the spec flags violations for `feature` flags violations inside shared groups flags violations for `given` ignores variables inside examples with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with configured `EnabledMethods` ignores usage of the enabled method flags other methods RuboCop::Cop::RSpec::DescribeSymbol flags violations for `describe :symbol` with multiple arguments flags violations for `describe :symbol` flags violations for a nested `describe` does not flag non-Symbol arguments flags violations for `RSpec.describe :symbol` does not flag `context :symbol` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::MultipleDescribes flags multiple top-level example groups with class and method ignores single top-level example group flags multiple top-level example groups with an arbitrary argument flags multiple top-level example groups only with class ignores multiple shared example groups flags multiple top-level example groups aliases with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::RSpec::ExampleGroup exposes examples in scope config/default.yml has configuration for all cops and amendments includes a valid Enabled for every cop ends every description with a period does not have newlines in cop descriptions has descriptions for all cops sorts configuration keys alphabetically with nested namespaces last RuboCop::Cop::RSpec::ReceiveCounts flags usage of `at_least(2).times` flags usage of `at_least(1).times` flags usage of `at_most(2).times` flags usage of `exactly(1).times` with a block flags usage of `at_most(1).times` flags usage of `exactly(1).times` after `with` flags usage of `exactly(2).times` allows exactly(1).times when not called on `receive` flags usage of `at_least(2).times` with a block allows `exactly(3).times` flags usage of `exactly(1).times` with return value flags usage of `exactly(1).times` allows `exactly(n).times` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::FactoryBot::SyntaxMethods registers an offense for `FactoryBot.attributes_for_pair` in a shared group registers an offense for `::FactoryBot.null_list` registers an offense for `::FactoryBot.build_stubbed_list` registers an offense for `FactoryBot.attributes_for_list` registers an offense for `::FactoryBot.create_list` registers an offense for `FactoryBot.attributes_for` registers an offense for `::FactoryBot.attributes_for_list` registers an offense for `FactoryBot.null` does not register an offense when used outside an example group registers an offense for `FactoryBot.create_list` in a shared group does not register an offense for `attributes_for_pair` registers an offense for `FactoryBot.build_stubbed_pair` does not register an offense when used outside an example group does not register an offense for `null_list` registers an offense for `::FactoryBot.build_stubbed` does not register an offense when used outside an example group does not register an offense when used outside an example group does not register an offense when used outside an example group registers an offense for `FactoryBot.attributes_for` in a shared group registers an offense for `FactoryBot.build` in a shared group registers an offense for `FactoryBot.build_list` in a shared group registers an offense for `::FactoryBot.create` does not register an offense for `build_list` does not register an offense when used outside an example group registers an offense for `FactoryBot.build_stubbed` in a shared group does not register an offense for `build_pair` registers an offense for `FactoryBot.build_stubbed_pair` in a shared group does not register an offense when used outside an example group registers an offense for `FactoryBot.create` registers an offense for `::FactoryBot.null_pair` does not register an offense for `create_list` registers an offense for `FactoryBot.create_list` does not register an offense for `null` does not register an offense for `create_pair` does not register an offense when used outside an example group does not register an offense for `build_stubbed` registers an offense for `FactoryBot.create_pair` in a shared group registers an offense for `FactoryBot.attributes_for_pair` registers an offense for `FactoryBot.null_pair` in a shared group does not register an offense for `attributes_for` registers an offense for `FactoryBot.null` in a shared group registers an offense for `::FactoryBot.null` registers an offense for `FactoryBot.create` in a shared group registers an offense for `FactoryBot.null_pair` does not register an offense for `generate_list` does not register an offense when used outside an example group does not register an offense when used outside an example group registers an offense for `FactoryBot.generate_list` in a shared group does not register an offense when used outside an example group registers an offense for `FactoryBot.generate` registers an offense for `FactoryBot.generate_list` registers an offense for `::FactoryBot.build_pair` does not register an offense for `generate` registers an offense for `::FactoryBot.attributes_for` does not register an offense for `null_pair` does not register an offense for `build_stubbed_pair` does not register an offense when used outside an example group registers an offense for `FactoryBot.null_list` in a shared group registers an offense for `FactoryBot.build_pair` in a shared group does not register an offense when used outside an example group registers an offense for `FactoryBot.build` does not register an offense for `attributes_for_list` registers an offense for `::FactoryBot.build` registers an offense for `FactoryBot.build_stubbed_list` registers an offense for `FactoryBot.attributes_for_list` in a shared group registers an offense for `FactoryBot.build_list` does not register an offense for `build` registers an offense for `::FactoryBot.build_list` registers an offense for `::FactoryBot.generate_list` does not register an offense for `build_stubbed_list` registers an offense for `::FactoryBot.generate` registers an offense for `::FactoryBot.build_stubbed_pair` registers an offense for `FactoryBot.create_pair` registers an offense for `FactoryBot.generate` in a shared group registers an offense for `FactoryBot.null_list` does not register an offense when used outside an example group does not register an offense when used outside an example group registers an offense for `FactoryBot.build_stubbed` does not register an offense when used outside an example group registers an offense for `::FactoryBot.attributes_for_pair` registers an offense for `FactoryBot.build_pair` does not register an offense for `create` registers an offense for `::FactoryBot.create_pair` does not register an offense when used outside an example group registers an offense for `FactoryBot.build_stubbed_list` in a shared group with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::ExampleLength ignores non-spec blocks allows a short example ignores comments allows an empty example with CountComments enabled flags the example when `CountAsOne` is not empty folds array into one line with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when inspecting large examples flags the example RuboCop::Cop::RSpec::ExcessiveDocstringSpacing ignores heredocs does not consider indented whitespace excessive ignores non-example blocks when using `it` finds descriptions with multiple inner extra whitespace finds interpolated description with leading whitespace handles interpolated one-word descriptions flags \-separated multiline strings whose trailing whitespace does not make sense skips descriptions without any excessive whitespace finds description with leading whitespace skips blocks without text finds interpolated description with trailing whitespace handles one-word descriptions flags lone whitespace flags \-separated multiline interpolated strings with leading whitespace skips interpolated description without leading whitespace handles descriptions starting with an interpolated value skips \-separated multiline strings whose trailing whitespace makes sense finds description with trailing whitespace finds descriptions with inner extra whitespace with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when using other common example groups supports `feature` supports `skip` (with a block) supports `skip` (without a block) supports `its` supports `xcontext` when using `describe` finds description with trailing whitespace finds descriptions with multiple inner extra whitespace skips descriptions without any excessive whitespace skips interpolated description without leading whitespace finds descriptions with inner extra whitespace skips \-separated multiline strings whose trailing whitespace makes sense skips blocks without text flags \-separated multiline strings whose trailing whitespace does not make sense flags lone whitespace flags \-separated multiline interpolated strings with leading whitespace finds interpolated description with trailing whitespace finds description with leading whitespace finds interpolated description with leading whitespace when using `context` skips blocks without text finds description with trailing whitespace finds descriptions with inner extra whitespace finds interpolated description with trailing whitespace skips \-separated multiline strings whose trailing whitespace makes sense flags \-separated multiline interpolated strings with leading whitespace skips interpolated description without leading whitespace flags lone whitespace finds interpolated description with both trailing and leading whitespace finds descriptions with multiple inner extra whitespace finds description with leading whitespace flags \-separated multiline strings whose trailing whitespace does not make sense skips descriptions without any excessive whitespace finds interpolated description with leading whitespace RuboCop::Cop::RSpec::HooksBeforeExamples does not flag `before` in a nested context does not flag hooks before the examples works with comments flags `before` after `include_examples` flags `before` after `it` allows inclusion of context before hooks ignores single-line example blocks flags scoped hook after an example flags `after` after an example flags `before` after `context` when Ruby 2.7 flags `around` after `it` flags `around` after `context` flags `around` after `include_examples` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::MessageChain finds `receive_message_chain` finds old `stub_chain` syntax with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::MultipleMemoizedHelpers ignores overridden `#let` ignores `#subject!` ignores a reasonable number of memoized helpers flags excessive `#let!` ignores `#subject` without a name flags excessive `#let` flags nested `#let` support --auto-gen-config ignores `#subject` ignores distributed `#let` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when using AllowSubject configuration flags `#subject` ignores overridden subjects flags `#subject` without name flags `#subject!` RuboCop::RSpec::Wording rewrites "should fax the document" as "faxes the document" rewrites "should do nothing" as "does nothing" rewrites "should deploy the app" as "deploys the app" rewrites "should WORRY" as "WORRIES" rewrites "SHOULD RETAIN UPPERCASE" as "RETAINS UPPERCASE" rewrites "should pay for pizza" as "pays for pizza" rewrites "shouldn't" as "does not" rewrites "should obey my orders" as "obeys my orders" rewrites "should alias the method" as "aliases the method" rewrites "should not return something" as "does not return something" rewrites "should worry about the future" as "worries about the future" rewrites "should WISH me luck" as "WISHES me luck" rewrites "" as "" rewrites "should have sweets" as "has sweets" rewrites "SHOULDN'T BE true" as "IS NOT true" rewrites "should really only return one item" as "really only returns one item" rewrites "SHOULDN'T NOT RETAIN UPPERCASE" as "DOES NOT NOT RETAIN UPPERCASE" rewrites "should buy the product" as "buys the product" rewrites "should search the internet" as "searches the internet" rewrites "shouldn't return something" as "does not return something" rewrites "should return something" as "returns something" rewrites "shouldn't be true" as "is not true" rewrites "should" as "" rewrites "should not" as "does not" rewrites "should miss me" as "misses me" rewrites "should echo the input" as "echoes the input" rewrites "should amass debt" as "amasses debt" rewrites "should fizz" as "fizzes" rewrites "should wish me luck" as "wishes me luck" RuboCop::Cop::RSpec::Capybara::NegationMatcher with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb with EnforcedStyle `have_no` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_text` with heredoc with EnforcedStyle `not_to` registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` RuboCop::Cop::RSpec::EmptyLineAfterSubject flags a missing empty line before a `rubocop:disable` directive does not register an offense for multiline subject block registers an offense for empty line after subject! flags a missing empty line after a `rubocop:enable` directive does not register an offense for empty line after subject flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line before a multiline comment registers an offense for empty line after subject does not register an offense for subject being the latest node flags a missing empty line before a comment does not register an offense for a comment followed by an empty line does not register an offense for empty line after subject! with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::SharedContext shared_context does not register an offense for `shared_context` with before does not register an offense for `shared_context` with let registers an offense for shared_context with only examples does not register an offense for `shared_context` with subject does not register an offense for empty contexts with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb shared_examples registers an offense for shared_examples with only hooks registers an offense for shared_examples with only subject does not register an offense for `shared_examples` with it registers an offense for shared_examples with only let does not register an offense for empty examples RuboCop::RSpec::Example extracts interpolated doc string returns nil for examples without doc strings returns node extracts doc string for unimplemented examples extracts keywords extracts doc string extracts implementation extracts symbol doc string extracts method doc string value object semantics can be used as a key in a hash computes #hash based on class and node compares by value RuboCop::Cop::RSpec::RepeatedIncludeExample behaves like detect repeated include examples with include method: it_behaves_like without parameters registers an offense for repeated it_behaves_like allows it_behaves_like with different names registers an offense for repeated it_behaves_like with parentheses allows repeated it_behaves_like in separate example groups with parameters allows repeated it_behaves_like with variable arguments accepts repeated it_behaves_like with different parameters with parentheses allows repeated it_behaves_like with block registers an offense for repeated it_behaves_like with composite literal / const parameters accepts repeated it_behaves_like with different parameters allows repeated it_behaves_like in separate example groups allows repeated it_behaves_like with passed block registers an offense for repeated it_behaves_like with parentheses registers an offense for repeated it_behaves_like behaves like detect repeated include examples with include method: it_should_behave_like with parameters registers an offense for repeated it_should_behave_like registers an offense for repeated it_should_behave_like with composite literal / const parameters allows repeated it_should_behave_like in separate example groups allows repeated it_should_behave_like with passed block registers an offense for repeated it_should_behave_like with parentheses accepts repeated it_should_behave_like with different parameters allows repeated it_should_behave_like with variable arguments accepts repeated it_should_behave_like with different parameters with parentheses allows repeated it_should_behave_like with block without parameters registers an offense for repeated it_should_behave_like with parentheses allows repeated it_should_behave_like in separate example groups registers an offense for repeated it_should_behave_like allows it_should_behave_like with different names with mixed include methods registers an offense for repeated includes with same parameters allows includes of different shared_examples allows includes with different parameters registers an offense for repeated includes with no parameters behaves like detect repeated include examples with include method: include_examples with parameters allows repeated include_examples in separate example groups registers an offense for repeated include_examples with parentheses allows repeated include_examples with passed block allows repeated include_examples with block registers an offense for repeated include_examples accepts repeated include_examples with different parameters registers an offense for repeated include_examples with composite literal / const parameters allows repeated include_examples with variable arguments accepts repeated include_examples with different parameters with parentheses without parameters registers an offense for repeated include_examples with parentheses allows include_examples with different names allows repeated include_examples in separate example groups registers an offense for repeated include_examples with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::MessageSpies when EnforcedStyle is receive flags expect(...).to have_received with flags expect(...).not_to have_received flags expect(ivar).to have_received flags expect(lvar).to have_received generates a todo based on the detected style flags expect(send).to have_received approves of expect(...).to receive flags expect(const).to have_received flags expect(...).to have_received at_most flags expect(...).to_not have_received generates a todo based on the detected style with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when EnforcedStyle is have_received flags expect(lvar).to receive flags expect(...).to receive at_most generates a todo based on the detected style flags expect(ivar).to receive flags expect(...).to receive with flags expect(...).not_to receive flags expect(send).to receive approves of expect(...).to have_received flags expect(...).to_not receive generates a todo based on the detected style flags expect(const).to receive RuboCop::Cop::RSpec::MessageExpectation when EnforcedStyle is expect flags allow(...).to receive generates a todo based on the detected style approves of expect(...).to receive generates a todo based on the detected style when EnforcedStyle is allow generates a todo based on the detected style flags expect(...).to receive generates a todo based on the detected style approves of allow(...).to receive with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::DescribedClassModuleWrapping registers an offense when RSpec.describe is nested within a module registers an offense when RSpec.describe is nested within two modules allows a module that does not contain RSpec.describe allows a describe block in the outermost scope with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::Capybara::SpecificActions registers an offense for abstract action when first argument is element with replaceable attributes id for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes text for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes download for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes title for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes wait for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes obscured for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes title for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes obscured for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes alt for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes exact for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes obscured for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes download for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes focused for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes near for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes wait for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes text for `click_button` does not register an offense when using abstract action with first argument is element with multiple nonreplaceable pseudo-classes does not register an offense for abstract action when first argument is element with replaceable attributes maximum for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes between for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes class for `click_link` with attribute `href` registers an offense when using find and click action when consecutive chain methods registers an offense for abstract action when first argument is element with replaceable attributes title for `click_link` with option `href` registers an offense when using find and click action when first argument is button with class registers an offense for abstract action when first argument is element with replaceable attributes minimum for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes left_of for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes text for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes below for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes between for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_link` without `href` registers an offense when using find and click action with other argument does not register an offense for abstract action when first argument is element with replaceable attributes match for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes id for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes minimum for `click_link` without `href` registers an offense when using find and click action when first argument is link with href registers an offense for abstract action when first argument is element with replaceable attributes count for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes class for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_link` with attribute `href` does not register an offense for find and click aciton when first argument is multiple selector `+` registers an offense for abstract action when first argument is element with replaceable attributes count for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes focused for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes above for `click_link` with attribute `href` registers an offense when using abstract action with first argument is element with multiple replaceable attributes does not register an offense for abstract action when first argument is element with replaceable attributes title for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes name for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes match for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes id for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes visible for `click_link` without `href` registers an offense when using abstract action with state registers an offense for abstract action when first argument is element with replaceable attributes maximum for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes match for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes exact for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes exact for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes above for `click_link` with option `href` does not register an offense for abstract action when first argument is element with nonreplaceable attributes registers an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes text for `click_link` with attribute `href` does not register an offense for find and click aciton when first argument is multiple selector `>` registers an offense for abstract action when first argument is element with replaceable attributes below for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes visible for `click_link` with attribute `href` does not register an offense when using abstract action with first argument is element with replaceable pseudo-classesand not boolean attributes does not register an offense for abstract action when first argument is element with replaceable attributes alt for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes between for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes style for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes maximum for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes left_of for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes disabled for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes obscured for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes focused for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes right_of for `click_link` with attribute `href` does not register an offense for find and click aciton when first argument is not an element registers an offense for abstract action when first argument is element with replaceable attributes alt for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes type for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes between for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes near for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes above for `click_button` registers an offense when using find and click aciton when first argument is multiple selector ` ` does not register an offense for find and click aciton when first argument is multiple selector `,` does not register an offense for abstract action when first argument is element with replaceable attributes class for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes style for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes focused for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes visible for `click_button` registers an offense when using abstract action with first argument is element with replaceable pseudo-classes registers an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_link` with option `href` does not register an offense for find and click action when first argument is link registers an offense when using abstract action with first argument is element with multiple replaceable pseudo-classes registers an offense for abstract action when first argument is element with replaceable attributes wait for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes near for `click_link` with attribute `href` registers an offense when using find and click action when first argument is button registers an offense for abstract action when first argument is element with replaceable attributes visible for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes right_of for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes minimum for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes right_of for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes right_of for `click_link` with option `href` does not register an offense for abstract action when first argument is element with multiple nonreplaceable attributes registers an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes style for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes maximum for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes value for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes style for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes count for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_link` with option `href` does not register an offense for find and click aciton when first argument is not a replaceable element registers an offense for abstract action when first argument is element with replaceable attributes download for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes exact for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes class for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes wait for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes below for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes count for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes near for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes above for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes minimum for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes below for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes match for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes left_of for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes left_of for `click_link` with attribute `href` does not register an offense for find and click aciton when first argument is multiple selector `~` registers an offense for abstract action when first argument is element with replaceable attributes id for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_button` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ContextWording skips describe blocks skips descriptions beginning with 'when' skips descriptions beginning with 'when,' finds shared_context without `when` at the beginning finds context without `when` at the beginning finds context without separate `when` at the beginning with mixed metadata finds context without separate `when` at the beginning with symbol metadata finds context without separate `when` at the beginning with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb with metadata hash finds context without separate `when` at the beginning when configured skips descriptions with allowed prefixes at the beginning finds context without allowed prefixes at the beginning when `AllowedPatterns: [とき$]` finds shared_context without `とき` at the ending skips descriptions ending with 'とき' finds context without `とき` at the ending with a multi-word prefix skips descriptions with allowed multi-word prefixes when `Prefixes: [when]` and `AllowedPatterns: [patterns]` finds context without `when` at the beginning and not included `/patterns/` finds shared_context without `when` at the beginning and not included `/patterns/` skips descriptions include with 'patterns' skips descriptions beginning with 'when' with special regex characters matches special characters matches the full prefix RuboCop::Cop::RSpec::DescribeClass flags specs with non `type` metadata checks first-line describe statements supports ::RSpec.describe ignores nested describe statements doesn't flag top level describe in a shared example ignores feature specs - also with complex options checks describe statements after a require supports RSpec.describe doesn't flag top level describe in an unnamed shared context ignores an empty describe checks highlights the first argument of a describe ignores `type` metadata ignored by default doesn't flag top level describe in a shared context flags non-ignored `type` metadata when argument is a String literal ignores class without namespace ignores value constants checks `camelCase` checks empty strings ignores top-level constants with `::` at start ignores value constants with namespace ignores class with namespace checks numbers at start with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when IgnoredMetadata is configured ignores configured metadata ignores configured `type` metadata RuboCop::Cop::RSpec::VerifiedDoubleReference does not flag a violation when reference is not a supported style with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb mock_model when EnforcedStyle is constant does not flag a violation when using a constant reference flags a violation when using a string reference generates a todo based on the detected style when EnforcedStyle is string does not flag a violation when using a string reference flags a violation when using a constant reference generates a todo based on the detected style object_spy when EnforcedStyle is string generates a todo based on the detected style flags a violation when using a constant reference does not flag a violation when using a string reference when EnforcedStyle is constant flags a violation when using a string reference generates a todo based on the detected style does not flag a violation when using a constant reference stub_model when EnforcedStyle is constant flags a violation when using a string reference does not flag a violation when using a constant reference generates a todo based on the detected style when EnforcedStyle is string does not flag a violation when using a string reference flags a violation when using a constant reference generates a todo based on the detected style instance_double when EnforcedStyle is constant generates a todo based on the detected style does not flag a violation when using a constant reference flags a violation when using a string reference when EnforcedStyle is string flags a violation when using a constant reference does not flag a violation when using a string reference generates a todo based on the detected style class_double when EnforcedStyle is string does not flag a violation when using a string reference flags a violation when using a constant reference generates a todo based on the detected style when EnforcedStyle is constant generates a todo based on the detected style does not flag a violation when using a constant reference flags a violation when using a string reference object_double when EnforcedStyle is constant does not flag a violation when using a constant reference flags a violation when using a string reference generates a todo based on the detected style when EnforcedStyle is string generates a todo based on the detected style flags a violation when using a constant reference does not flag a violation when using a string reference instance_spy when EnforcedStyle is string does not flag a violation when using a string reference generates a todo based on the detected style flags a violation when using a constant reference when EnforcedStyle is constant does not flag a violation when using a constant reference generates a todo based on the detected style flags a violation when using a string reference class_spy when EnforcedStyle is constant does not flag a violation when using a constant reference generates a todo based on the detected style flags a violation when using a string reference when EnforcedStyle is string does not flag a violation when using a string reference generates a todo based on the detected style flags a violation when using a constant reference RuboCop::Cop::RSpec::VariableName when configured for `snake_case` when `subject!` does not register offense for snake_case registers an offense for camelCase when `let` with string names registers an offense for camelCase registers an offense for kebab-case does not register offense for interpolated string does not register an offense for snake_case when `let!` does not register offense for snake_case registers an offense for camelCase when `subject` registers an offense for camelCase does not register offense for snake_case when `let` with proc registers offense when `let` with symbol names registers an offense for PascalCase registers an offense for camelCase does not register an offense for snake_case registers offense with multiple lets does not register offense for interpolated symbol when configured to ignore certain patterns (deprecated key) registers an offense when not matching any ignored patterns does not register an offense when matching any ignored pattern when configured for `camelCase` when `subject!` does not register offense for camelCase registers an offense for snake_case when `subject` does not register offense for camelCase registers an offense for snake_case when `let` does not register offense for camelCase registers an offense for snake_case when `let!` does not register offense for camelCase registers an offense for snake_case when configured to allow certain patterns does not register an offense when matching any allowed pattern registers an offense when not matching any allowed patterns with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::ReceiveNever flags usage of `never` after `with` flags usage of `never` allows method called `never` flags usage of `never` with `expect_any_instance_of` flags usage of `never` with `is_expected` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::BeNil with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb with EnforcedStyle `be_nil` does not register an offense when using `#be` with other values registers an offense when using `#be` for `nil` value does not register an offense when using `#be_nil` with EnforcedStyle `be` does not register an offense when using other `#be_*` methods registers an offense when using `#be_nil` does not register an offense when using `#be` for `nil` value RuboCop::Cop::RSpec::ContextMethod ignores describe blocks flags context with `#` at the beginning flags context with `.` at the beginning with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RubocopBug has a single example has an expectation RuboCop::Cop::RSpec::Rails::AvoidSetupHook does not register an offense for an unrelated `setup` call registers an offense for `setup` does not register an offense for `before` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::HookArgument when EnforcedStyle is :example does not flag :example for hooks ignores non-rspec hooks generates a todo based on the detected style ignores hooks with more than one argument generates a todo based on the detected style detects :each for hooks detects hooks without default scopes generates a todo based on the detected style ignores :context and :suite when Ruby 2.7 detects :each for hooks detects hooks without default scopes does not flag :example for hooks with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when EnforcedStyle is :implicit does not flag hooks without default scopes ignores hooks with more than one argument ignores :context and :suite detects :each for hooks generates a todo based on the detected style ignores non-rspec hooks generates a todo based on the detected style generates a todo based on the detected style detects :example for hooks when Ruby 2.7 does not flag hooks without default scopes detects :example for hooks detects :each for hooks when EnforcedStyle is :each detects :example for hooks ignores :context and :suite ignores hooks with more than one argument does not flag :each for hooks ignores non-rspec hooks detects hooks without default scopes generates a todo based on the detected style generates a todo based on the detected style generates a todo based on the detected style when Ruby 2.7 detects :example for hooks does not flag :each for hooks detects hooks without default scopes CHANGELOG.md has link definitions for all implicit links entry has a whitespace between the * and the body has a link to the contributors at the end body does not start with a lower case ends with a punctuation link to related issue on github has a valid URL has an issue number prefixed with # has a colon and a whitespace at the end contributors list does not contain duplicates is alphabetically sorted (case insensitive) RuboCop::Cop::RSpec::SubjectStub flags multiple-method stubs flags stubs inside helper methods flags when subject is stubbed and there are several named subjects in the same example group flags deeply nested subject stubs flags stub inside all matcher flags spy subject stubs flags nested subject stubs flags nested stubs when nested subject is anonymous flags nested subject stubs when adjacent context redefines flags when a forced subject! is mocked and called as subject flags when there are several top level example groups flags when a forced subject! is mocked and called by name flags stub within context where subject name changed flags when subject is stubbed flags negated runners flags when an unnamed forced subject! is mocked ignores subjects from sibling example groups flags when subject is mocked flags when an implicit subject is mocked flags one-line expectation syntax flags an expectation made on an unnamed subject flags nested subject stubs when example group does not define subject flags nested subject stubs when nested subject uses same name flags chain stubs flags when an unnamed subject is mocked ignores subjects from parent example groups redefined with let top level example groups flags in top level describe flags in top level ffeature flags in top level shared_examples_for flags in top level feature flags in top level context flags in top level fcontext flags in top level fdescribe flags in top level xcontext flags in top level shared_context flags in top level xdescribe flags in top level shared_examples flags in top level example_group flags in top level xfeature with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::EmptyLineAfterFinalLet does not register an offense for let being the latest node registers an offense for empty line after let with proc argument registers an offense for empty line after the last `let!` does not register an offense for let in tests does not register an offense for empty line after let flags a missing empty line before a comment does not register an offense for HEREDOC for let does not register an offense for multiline let block flags a missing empty line after a `rubocop:enable` directive flags a missing empty line before a `rubocop:disable` directive registers an offense for silly HEREDOC offense flags a missing empty line before a multiline comment does not register an offense for empty lines between the lets flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive registers an offense for empty line after last let does not register an offense for silly HEREDOC syntax for let does not register an offense for comment followed by an empty line after let with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::RepeatedExample registers an offense for repeated example does not flag examples when different its block expectations are used registers an offense when repeated its are used does not flag examples with different implementations does not flag examples when different its arguments are used does not register a violation if rspec tag magic is involved does not flag repeated examples in different scopes with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::EmptyExampleGroup flags custom include methods by default flags example group with no examples defined in an iterator flags an empty example group with no examples defined in `case`branches ignores example groups inside examples ignores example group with examples defined in a nested iterator ignores examples groups with includes ignores example group with examples but no examples in `case` branches ignores example groups defined inside methods ignores example group with examples defined in `case` branches ignores example group with examples defined in an obscure iterators ignores example group with examples defined in `if` branches flags an empty example group ignores example group with examples defined in an custom block ignores example groups with pending examples ignores methods matching example group names flags an empty example group with no examples defined in `if` branches ignores example group with examples but no examples in `if` branches flags example group with examples defined in hooks flags an empty top level describe ignores example group with examples defined in iterator ignores example group with examples defined in an iterator when a custom include method is specified ignores an empty example group with a custom include with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::FactoryBot::ConsistentParenthesesStyle when EnforcedStyle is :enforce_parentheses dose not register an offense when using `generate` with not a one argument ignores FactoryBot DSL methods without a first positional argument flags the call with an explicit receiver with already valid usage of parentheses does not flag as invalid - build does not flag as invalid - create with mixed tests flags the call to use parentheses with create flags the call to use parentheses with multiline method calls expects parentheses around multiline call with nested calling works in a bigger context flags the call to use parentheses with build flags the call to use parentheses with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when EnforcedStyle is :omit_parentheses dose not register an offense when using `generate` with not a one argument flags the call with an explicit receiver ignores FactoryBot DSL methods without a first positional argument works in a bigger context with mixed tests flags the call not to use parentheses with nest call inner call is ignored and not fixed with build flags the call to not use parentheses when create and first argument are not on same line does not register an offense with already valid usage of parentheses does not flag as invalid - build does not flag as invalid - create with multiline method calls removes parentheses around multiline call when create and some argument are not on same line does not register an offense with nested calling that does not require fixing does not flag the nested call when is a part of an array does not flag the call with create flags the call to not use parentheses with nested calling flags the call to use parentheses when create and first argument are on same line register an offense when is a part of a hash does not flag the call RuboCop::Cop::RSpec::NestedGroups counts nesting correctly when non-spec nesting flags nested example groups inside shared examples flags example groups wrapped in modules flags nested example groups flags nested example groups defined inside `describe` support --auto-gen-config flags example groups wrapped in classes when AllowedGroups is configured as accept nested example groups defined inside `describe`path is not counted flags nested example groups defined inside `describe`path is not counted but exceeded max when Max is configured as 2 flags two levels of nesting with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when configured with MaxNesting emits a deprecation warning RuboCop::Cop::RSpec::MissingExampleGroupArgument accepts methods with a name like an example block checks first argument of describe accepts describe with an argument checks first argument of nested describe checks first argument of context with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::FactoryBot::FactoryNameStyle when EnforcedStyle is :symbol registers an offense when using `create` with string name registers an offense when using `build` with string name does not register an offense when using `build` with string interpolation name` registers an offense when using `create` with string name and multiline method calls does not register an offense when using `create` with symbol name` does not register an offense when using `create` with keyword argument registers an offense when using `create` with an explicit receiver does not register an offense when using `create` with string interpolation name` does not register an offense when using `build` with symbol name` does not register an offense when using `build` with keyword argument with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when EnforcedStyle is :string registers an offense when using `build` with a method call does not register an offense when using `build` with keyword argument does not register an offense when using `build` with string interpolation name` does not register an offense when using `create` with keyword argument registers an offense when using `create` with an explicit receiver registers an offense when using `create` with symbol name does not register an offense when using `build` with string name` does not register an offense when using `create` with a local variable registers an offense when using `build` with symbol name registers an offense when using `create` with a method call does not register an offense when using `create` with string name` does not register an offense when using `build` with a local variable does not register an offense when using `create` with string interpolation name` registers an offense when using `create` with symbol name and multiline method calls RuboCop::Cop::RSpec::LetBeforeExamples flags `let` after `include_examples`, but does not autocorrect flags `let` after `it` flags `let` after `context` does not flag `let` before the examples flags `let` after `it_behaves_like` allows inclusion of context before `let` does not flag `let` in a nested context flags `let` with proc argument ignores single-line example blocks flags `let` with a heredoc argument with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::Rails::HttpStatus when EnforcedStyle is `numeric` does not register an offense when using numeric value does not register an offense when using allowed symbols registers an offense when using symbolic value with parenthesis registers an offense when using symbolic value when EnforcedStyle is `symbolic` does not register an offense when using symbolic value does not register an offense when using custom HTTP code registers an offense when using numeric value with parenthesis registers an offense when using numeric value with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::Focus flags all rspec example blocks with that include `focus: true` flags focused block types flags rspec example blocks that include `:focus` preceding a hash does not flag unfocused specs ignores non-rspec code with :focus blocks flags all rspec example blocks that include `:focus` flags a method that is focused twice with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::DuplicatedMetadata when metadata is duplicated in different order registers offense when metadata is not duplicated registers no offense when metadata is duplicated on configuration hook registers offense when metadata is duplicated on example registers offense when metadata is not used registers no offense when metadata is duplicated on example group registers offense with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when metadata is duplicated on shared examples registers offense RuboCop::Cop::RSpec::ImplicitExpect with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when EnforcedStyle is is_expected flags it { should_not } approves of is_expected.to_not generates a todo based on the detected style approves of is_expected.to approves of is_expected.not_to flags it { should } when EnforcedStyle is should flags it { is_expected.not_to } generates a todo based on the detected style approves of should generates a todo based on the detected style flags it { is_expected.to_not } approves of should_not flags it { is_expected.to } RuboCop::Cop::RSpec::Be allows specific `be_` matchers allows `be` with an argument registers an offense for `be` without an argument registers an offense for not_to be with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::FactoryBot::FactoryClassName when passing block ignores passing OpenStruct ignores passing Hash ignores passing class name flags passing a subclass flags passing a class from global namespace flags passing a class when not passing block flags passing a class ignores passing class name with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::BeEq does not register an offense for `eq` when argument is an integer does not register an offense for `eq` when argument is a float does not register an offense for `eq` when argument is a string registers an offense for `eq` when argument is nil registers an offense for `eq` when argument is a boolean does not register an offense for `eq` when argument is a symbol with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::ImplicitBlockExpectation flags proc flags Proc.new ignores named subject with deeply nested lambda flags lambda in subject flags lambda in subject! ignores non-lambda subject flags named subject flags literal lambda flags when subject is defined in the outer example group flags with `should_not` as implicit subject ignores when there is no subject defined flags with `should` as implicit subject ignores normal local subject with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::VoidExpect registers offenses to void `expect` registers offenses to void `expect` with block registers offenses to void `expect` when block has one expression accepts non-void `expect` with block accepts non-void `expect` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::Dialect allows calling methods named context in examples registers an offense for RSpec.context blocks registers an offense for context blocks allows describe blocks without preferred methods allows all methods blocks with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::RepeatedExampleGroupBody does not register offense for different block body implementation registers an offense for several repeated context body registers offense correctly if `skip` and `pending` have block does not register offense if metadata is different does not register offense when module arg namespace is different does not register offense if module arg is different registers offense only for RSPEC namespace example groups registers offense correctly if example groups are separated registers an offense for repeated context body does not register offense if no descriptions, but different body skips `skip` and `pending` statements skips `skip` and `pending` statements with arguments registers an offense for repeated describe body does not register offense for example groups in different groups registers offense no descriptions and similar body registers offense only for example group does not register offense with several docstring does not register offense for same examples with different data registers an offense for when module arg and namespace are identical registers offense for different groups registers offense only for RSPEC namespace example groups in any order with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::ScatteredSetup flags hooks with similar metadata ignores hooks with different metadata ignores hooks in different example groups flags multiple before(:all) hooks in the same example group ignores different hooks flags multiple hooks in the same example group ignores hooks in different shared contexts ignores similar method names inside of examples ignores different hook types flags multiple hooks of the same scope with different symbols with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::NamedSubject with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when IgnoreSharedExamples is true ignores explicit subject in shared_examples behaves like checking subject outside of shared examples checks `it` and `specify` for explicit subject usage checks around(:each) for explicit subject usage ignores subject when not wrapped inside a test checks before and after for explicit subject usage when EnforcedStyle is :named_only checks subject where declaration is named checks subject! where declaration is named ignores subject where the closest declaration is not named ignores subject! where declaration is not named ignores subject where declaration is not named when IgnoreSharedExamples is false checks shared_examples for explicit subject usage behaves like checking subject outside of shared examples checks before and after for explicit subject usage checks around(:each) for explicit subject usage checks `it` and `specify` for explicit subject usage ignores subject when not wrapped inside a test RuboCop::Cop::RSpec::BeEql registers an offense for `eql` when argument is an integer does not register an offense for `eql` when expectation is negated registers an offense for `eql` when argument is nil registers an offense for `eql` when argument is a float does not register an offense for `eql` when argument is a string registers an offense for `eql` when argument is a symbol registers an offense for `eql` when argument is a boolean with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::Capybara::CurrentPathExpectation preserves parentheses registers an offense with `match` flags violations for `expect(current_path)` registers an offense with arguments flags violations for `expect(page.current_path)` registers an offense with method calls registers an offense with to_not negation alias doesn't flag a violation for other references to `current_path` registers an offense when a variable is used registers an offense with negation doesn't flag a violation for other expectations registers an offense with `match` with a string argument ignores `match` with a variable, but does not autocorrect with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::ItBehavesLike when the enforced style is `it_behaves_like` does not flag a violation for it_behaves_like flags a violation for it_should_behave_like with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when the enforced style is `it_should_behave_like` does not flag a violation for it_behaves_like flags a violation for it_behaves_like RuboCop::Cop::RSpec::ExpectChange with EnforcedStyle `block` flags change matcher without block flags change matcher when message is a string flags change matcher when receiver is a namespaced constant registers an offense for change matcher with an instance variable flags implicit block expectation syntax registers an offense for change matcher with chained method call registers an offense for change matcher with a global variable flags change matcher when receiver is a top-level constant flags change matcher when receiver is a variable ignores methods called change with EnforcedStyle `method_call` ignores the usage that adheres to the enforced style ignores a variable/method flags when the receiver is a top-level constant ignores multiple chained method calls flags blocks that contain simple message sending flags implicit block expectation syntax ignores when not an expectation flags when the received is a namespaced constant ignores blocks when the method is called with arguments flags a method call on an object with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::NoExpectationExample registers no offense for skipped/pending with metadata with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with no expectation skipped example registers no offenses with no expectation configured custom example registers an offense with expectation example with should registers no offenses with multi no expectation examples registers offenses with configured custom expectation example registers no offenses with no expectation pending example when using `pending` inside an example registers no offenses with no expectation example with specify registers an offense when `AllowedPatterns: [^expect_]` when only not allowed pattern methods are used does something when only allowed pattern methods are used registers no offenses when only allowed pattern methods with arguments are used registers no offenses when nested allowed pattern methods and other method are used registers no offenses when allowed pattern methods and other method are used registers no offenses when Ruby 2.7 with no expectation example with it registers an offense with no expectation example with it registers an offense with no expectation pending example registers no offenses with no expectation custom example registers no offenses with block-less example in block registers no offenses with custom expectation example registers an offense with no expectation skipped example when using `skip` inside an example registers no offenses RuboCop::Cop::RSpec::IteratedExpectation ignores `each` with unused variable ignores `each` with expectation on property ignores assignments in the iteration flags `each` with multiple expectations flags `each` when expectation calls method with arguments flags `each` with an expectation ignore `each` when the body does not contain only expectations ignores `each` when there is a negative expectation ignores `each` without expectation with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when Ruby 2.7 flags `each` when expectation calls method with arguments ignore `each` when the body does not contain only expectations ignores `each` with expectation on property ignores `each` without expectation ignores `each` when there is a negative expectation flags `each` with an expectation ignores assignments in the iteration flags `each` with multiple expectations RuboCop::Cop::RSpec::ImplicitSubject with EnforcedStyle `single_line_only` flags `should` in multi-line examples flags `is_expected` in multi-line examples does not flag methods called is_expected and should allows `is_expected` in single-line examples detects usage of `is_expected` inside helper methods allows `should` in single-line examples allows `is_expected` inside `its` block, in multi-line examples with EnforcedStyle `single_statement_only` flags `is_expected` in multi-statement examples allows `is_expected` in multi-line example with single statement with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb with EnforcedStyle `require_implicit` with `expect(subject)` in multi-lines registers and autocorrects an offense with `expect { subject }` does not register an offense with `is_expected` does not register an offense with named subject does not register an offense with `its` does not register an offense with `expect(subject)` in one-line registers and autocorrects an offense with EnforcedStyle `disallow` flags `is_expected` in multi-line examples flags `should` in single-line examples allows `is_expected` inside `its` block flags `should` in multi-line examples flags `is_expected` in single-line examples RuboCop::Cop::RSpec::Rails::HaveHttpStatus does not register an offense for `is_expected.to be(200)` registers an offense for `expect(response.status).to be(200)` does not register an offense for `expect(res.status).to be(200)` registers an offense for `expect(response.status).not_to eq(404)` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::InstanceSpy when not used with `have_received` does not add an offense with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when used with `have_received` adds an offense for an instance_double with multiple arguments ignores instance_double when it is not used with as_null_object adds an offense for an instance_double with single argument RuboCop::Cop::RSpec::SubjectDeclaration when "subject" is declared is an offense when declared redundantly with `subject` is an offense when declared redundantly with `subject!` with `let` helper is an offense without a block pass is an offense with a block pass with `let!` helper is an offense with a block pass is an offense without a block pass when :subject is declared is an offense when declared redundantly with `subject!` is an offense when declared redundantly with `subject` with `let` helper is an offense with a block pass is an offense without a block pass with `let!` helper is an offense without a block pass is an offense with a block pass with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when :subject! is declared is an offense when declared redundantly with `subject!` is an offense when declared redundantly with `subject` with `let!` helper is an offense without a block pass is an offense with a block pass with `let` helper is an offense without a block pass is an offense with a block pass when "subject!" is declared is an offense when declared redundantly with `subject` is an offense when declared redundantly with `subject!` with `let` helper is an offense without a block pass is an offense with a block pass with `let!` helper is an offense with a block pass is an offense without a block pass when subject is not declared does not register an offense when `let!` is used does not register an offense when `let` is used when subject helper is used directly does not register an offense on named subject does not register an offense on subject with no name does not register an offense on named `subject!` RuboCop::Cop::RSpec::ClassCheck when EnforcedStyle is `be_a` when `be_a_kind_of` is used registers and corrects an offense when `be_an` is used does not register an offense when `Foo.be_kind_of` is used does not register an offense when `be_a` is used does not register an offense when `be_kind_of` is used registers and corrects an offense when EnforcedStyle is `be_kind_of` when `be_an` is used registers and corrects an offense when `be_kind_of` is used does not register an offense when `be_a_kind_of` is used does not register an offense when `be_a` is used registers and corrects an offense with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ExpectOutput does not register an offense for interacting with $stdout registers an offense for overwriting $stdout within an example does not flag assignments to other global variables does not flag assignments to $stdout in example_group scope does not flag assignments to $stdout outside of example scope registers an offense for overwriting $stderr within an example scoped hook does not flag assigns to $stdout when in the root scope with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::AlignLeftLetBrace registers offense for unaligned braces does not register an offense for let with proc argument does not register an offense with empty file with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::SharedExamples does not register an offense when using string title registers an offense when using symbolic title does not register an offense when using Module/Class title with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb is insane RuboCop::RSpec::DescriptionExtractor builds a hash of descriptions RuboCop::Cop::RSpec::MultipleSubjects does not try to autocorrect subject! registers an offense for every overwritten subject autocorrects does not flag shared example groups with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ExpectActual flags regexps containing only literal values within expect(...) flags `be ==` flags with `eql` matcher flags arrays containing only literal values within expect(...) flags but does not autocorrect violations for other matchers flags literal nil value within expect(...) ignores `be` with no argument flags `be` with an argument flags but does not autocorrect when the actual value is also a literal flags ranges containing only literal values within expect(...) flags string and symbol literal values within expect(...) flags numeric literal values within expect(...) flags hashes containing only literal values within expect(...) flags boolean literal values within expect(...) does not flag dynamic values within expect(...) flags with `equal` matcher does not flag complex values with dynamic parts within expect(...) with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when inspecting rspec-rails routing specs ignores rspec-rails routing specs RuboCop::Cop::RSpec::NotToNot with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when AcceptedMethod is `to_not` detects the `not_to` offense on an expect block detects the `not_to` offense detects no offense when using `to_not` when EnforcedStyle is `not_to` detects the `to_not` offense detects the `to_not` offense on an expect block detects no offense when using `not_to` RuboCop::Cop::RSpec::Yield ignores stub when `block.call` is not the only statement flags multiple `block.call` with arguments flags `block.call` flags multiple `block.call` flags `block.call` when `receive` is chained ignores `receive` with no block arguments flags `block.call` with arguments with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when Ruby 2.7 ignores stub when `block.call` is not the only statement ignores `receive` with no block arguments Weirdness works has chained expectations it does a thing quotes a string weird example at ./spec/smoke_tests/weird_rspec_spec.rb:50 has a description too example at ./spec/smoke_tests/weird_rspec_spec.rb:65 should not do the thing is expecting you not to raise an error isnt a simple string is empty isnt a simple string is expecting you It does a thing example at ./spec/smoke_tests/weird_rspec_spec.rb:144 example at ./spec/smoke_tests/weird_rspec_spec.rb:51 example at ./spec/smoke_tests/weird_rspec_spec.rb:190 uses a matcher examples examples lets the word 'examples' be 'examples' dynamic dynamic lets the word 'dynamic' be 'dynamic' who who lets the word 'who' be 'who' likes likes lets the word 'likes' be 'likes' RuboCop::Cop::RSpec::RepeatedExampleGroupDescription register offense if same method used in docstring registers offense only for RSPEC namespace example groups in any order does not register offense for describe block with several docstring registers offense only for RSPEC namespace example groups does not register offense for different block descriptions does not register offense for describe block with additional docstring considers different classes as different descriptions registers an offense for repeated describe descriptions registers offense correctly for interpolated docstrings does not register offense for example group without descriptions registers an offense for repeated context descriptions considers interpolated docstrings as different descriptions registers an offense with right pointing to lines of code register offense for different example group with similar descriptions registers offense only for example group registers offense correctly if example groups are separated with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::AlignRightLetBrace does not register an offense for let with proc argument does not register an offense with empty file registers offense for unaligned braces with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::EmptyLineAfterExample flags one-line examples does not register an offense for a comment followed by an empty line flags a missing empty line before a comment flags a missing empty line before a `rubocop:disable` directive ignores consecutive one-liners flags a missing empty line after `it` ignores when an empty line is present flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line after a `rubocop:enable` directive flags mixed one-line and multi-line examples flags a missing empty line after `specify` flags a missing empty line before a multiline comment with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when AllowConsecutiveOneLiners is false ignores consecutive one-liners RuboCop::Cop::RSpec::ExampleWithoutDescription with EnforcedStyle `single_line_only` ignores missing description in single-line examples flags missing description in multi-line examples flags example with an empty string for description with EnforcedStyle `always_allow` ignores `it` without an argument ignores `it` with a description flags empty strings for description with EnforcedStyle `disallow` ignores `it` with a description flags missing description in multi-line examples flags missing description in single-line examples with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::SingleArgumentMessageChain stub_chain accepts multi-argument string calls accepts multi-argument calls reports single-argument string calls reports single-argument calls receive_message_chain reports single-argument string calls accepts single-argument calls with variable reports single-argument calls accepts single-argument calls with send node accepts multi-argument calls accepts multi-argument string calls with multiple-element array argument doesn't report an offense with single-key hash argument reports an offense with multiple keys hash argument doesn't report an offense with single-element array argument reports an offense with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::Capybara::SpecificMatcher registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_link` with attribute `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes unchecked for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_table` registers an offense when using abstract matcher with first argument is element with multiple replaceable pseudo-classes registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes validation_message for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes download for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_field` does not register an offense for abstract matcher when first argument is not a replaceable element registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_link` with attribute `href` registers an offense when using abstract matcher and other args does not register an offense for abstract matcher when first argument is element with replaceable attributes text for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_link` with option `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_table` does not register an offense for abstract matcher when first argument is element with nonreplaceable attributes registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes value for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_link` with option `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes between for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes href for `have_link` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes placeholder for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes valid for `have_field` does not register an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_field` does not register an offense for abstract matcher when first argument is element with multiple nonreplaceable attributes registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes options for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_link` with option `href` does not register an offense for abstract matcher when first argument is element with sub matcher registers an offense for abstract matcher when first argument is element with replaceable attributes placeholder for `have_field` registers an offense when using abstract matcher with id selector registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_field` does not register an offense when using abstract matcher with first argument is element with multiple nonreplaceable pseudo-classes registers an offense for abstract matcher when first argument is element with replaceable attributes rows for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes checked for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_link` with attribute `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled for `have_button` does not register an offense for abstract matcher when first argument is element with replaceable attributes style for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes type for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes cols for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes alt for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_link` with attribute `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes above for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes title for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes title for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_link` with attribute `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes alt for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_link` with attribute `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_select` does not register an offense for abstract matcher when first argument is dstr registers an offense for abstract matcher when first argument is element with replaceable attributes title for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes with_rows for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_link` without `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes count for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_link` with option `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes match for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes name for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_select` does not register an offense for abstract matcher when first argument is not an element registers an offense when using `have_selector` registers an offense for abstract matcher when first argument is element with replaceable attributes title for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_select` does not register an offense for abstract matcher when first argument is element with replaceable attributes below for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes with_options for `have_select` registers an offense when using `have_css` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_select` does not register an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes with_selected for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_link` with attribute `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes class for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_button` does not register an offense for abstract matcher when first argument is element with replaceable attributes download for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_button` registers an offense when using `have_no_selector` registers an offense for abstract matcher when first argument is element with replaceable attributes name for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_field` does not register an offense for abstract matcher when first argument is element with replaceable attributes near for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes download for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_link` with attribute `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes id for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes alt for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes name for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_link` with option `href` registers an offense when using abstract matcher with first argument is element with replaceable pseudo-classes registers an offense when using `have_no_css` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes multiple for `have_select` registers an offense when using abstract matcher with state does not register an offense when using abstract matcher with first argument is element with replaceable pseudo-classesand not boolean attributes registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_link` with attribute `href` registers an offense when using abstract matcher with first argument is element with multiple replaceable attributes registers an offense for abstract matcher when first argument is element with replaceable attributes caption for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes enabled_options for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_button` does not register an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes selected for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_select` does not register an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled_options for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_field` registers an offense when using abstract matcher with class selector registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes with_cols for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_link` without `href` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::Rails::InferredSpecType with redundant type and receiver-less describe register and corrects an offense with redundant type in keyword arguments register and corrects an offense with redundant type in Hash arguments register and corrects an offense with redundant type in inner example group register and corrects an offense with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with redundant type before other Hash metadata register and corrects an offense with necessary type in keyword arguments does not register any offense with redundant type after other Hash metadata register and corrects an offense with redundant type and other Symbol metadata register and corrects an offense with Inferences configuration register and corrects an offense RuboCop::Cop::RSpec::RepeatedDescription does not flag different descriptions in different iterators registers offense if same method used in docstring does not flag examples if metadata is different ignores repeated descriptions in a nested context does not flag examples when different its block expectations are used does not flag examples when different its arguments are used ignores descriptions repeated in a shared context registers an offense for repeated descriptions registers offense for repeated description and metadata registers offense for repeated description in same iterator registers offense for repeated description in different iterators does not flag different methods used as docstring does not flag tests which do not contain description strings does not flag descriptions with different interpolated variables registers offense for repeated descriptions separated by a context does not flag examples with same metadata and different description registers an offense when repeated its are used with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::IdenticalEqualityAssertion does not register offense for different expressions registers an offense when using identical expressions with `eq` checks for whole expression registers an offense when using identical expressions with `eql` registers an offense for identical expression with be == registers an offense for identical expression with be registers an offense for complex constants registers an offense for trivial constants with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ReturnFromStub with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with EnforcedStyle `and_return` ignores block returning string with interpolation finds nested constants returned from block does not register an offense for a stub without return value registers an offense for concatenated strings with no variables does not register an offense for stub in a method finds constants returned from block ignores array with dynamic values returned from block ignores hash with dynamic values returned from block ignores variables return from block finds array with only static values returned from block finds empty values returned from block ignores dynamic values returned from block finds static values in a block when there are chained methods finds static values returned from block finds hash with only static values returned from block with EnforcedStyle `block` ignores string with interpolation returned from method registers an offense for static values returned from method finds concatenated strings with no variables finds hash with only static values returned from method finds nil returned from method ignores multiple values being returned from method registers an offense for static values returned from chained method does not register an offense for dynamic values returned from method RuboCop::Cop::RSpec::LeakyConstantDeclaration class defined flags namespaced class ignores anonymous classes flags inside an example group with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb constant assignment ignores outside of example/shared group flags inside an example flags inside shared example group flags inside an example group module defined flags inside an example group RuboCop::Cop::RSpec::Pending flags blocks with skip: true metadata ignores context flags blocks with skip: string metadata flags xfeature flags describe with skip symbol metadata ignores it with skip: false metadata flags pending examples when receiver is explicit flags skip inside of an it flags xscenario ignores method called pending flags xit flags blocks with skip symbol metadata ignores describe flags xspecify flags pending blocks ignores example flags blocks with pending symbol metadata ignores it flags skip blocks ignores feature flags xexample ignores example_group flags xdescribe ignores specify flags xcontext ignores scenario with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb Pending: (Failures listed here are expected and do not affect your suite's status) 1) RuboCop::Cop::RSpec::StubbedMock flags with order and count constraints # Not implemented yet Failure/Error: super Diff: @@ -1,12 +1,6 @@ expect(foo).to receive(:bar) { 'hello world' }.ordered - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).ordered { 'hello world' } - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).with(42).ordered { 'hello world' } - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).once.with(42).ordered { 'hello world' } - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar) { 'hello world' }.once.with(42).ordered - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).once.with(42).and_return('hello world').ordered - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. # /usr/share/rubygems-integration/all/gems/rubocop-1.39.0/lib/rubocop/rspec/expect_offense.rb:123:in `expect_offense' # ./spec/support/expect_offense.rb:17:in `expect_offense' # ./spec/rubocop/cop/rspec/stubbed_mock_spec.rb:67:in `block (2 levels) in ' Finished in 10.71 seconds (files took 1.36 seconds to load) 2550 examples, 0 failures, 1 pending Randomized with seed 11381 /usr/bin/ruby3.4 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby3.4 │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.4.0:/var/lib/gems/3.4.0:/usr/local/lib/ruby/gems/3.4.0:/usr/lib/ruby/gems/3.4.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.4.0:/usr/share/rubygems-integration/3.4.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.4.0 ruby3.4 -e gem\ \"rubocop-rspec\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby3.4 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.4.0:/var/lib/gems/3.4.0:/usr/local/lib/ruby/gems/3.4.0:/usr/lib/ruby/gems/3.4.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.4.0:/usr/share/rubygems-integration/3.4.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.4.0 ruby3.4 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake /usr/bin/ruby3.4 -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 Randomized with seed 12877 RuboCop::Cop::RSpec::MessageExpectation with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when EnforcedStyle is allow approves of allow(...).to receive generates a todo based on the detected style generates a todo based on the detected style flags expect(...).to receive when EnforcedStyle is expect generates a todo based on the detected style flags allow(...).to receive approves of expect(...).to receive generates a todo based on the detected style RuboCop::Cop::RSpec::RepeatedExample does not register a violation if rspec tag magic is involved does not flag repeated examples in different scopes does not flag examples when different its arguments are used does not flag examples when different its block expectations are used registers an offense when repeated its are used does not flag examples with different implementations registers an offense for repeated example with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::LeadingSubject registers an offense for subject below example registers an offense for subject below let registers an offense for subject below include with a block registers an offense for subject below hook registers an offense for subject below include with a blockpass does not register an offense for subject in arbitrary code registers an offense for subject below let! registers an offense for subject below shared example group does not register an offense for subjects in tests does not register an offense for subject above let registers an offense for subject below example group does not register an offense for subject nested inside a block does not register an offense for subjects in contexts registers an offense when subject is below a non-offending node registers an offense for subject below include registers an offense for subject below let with proc argument with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::SubjectDeclaration when subject is not declared does not register an offense when `let!` is used does not register an offense when `let` is used when subject helper is used directly does not register an offense on named subject does not register an offense on subject with no name does not register an offense on named `subject!` when "subject!" is declared is an offense when declared redundantly with `subject` is an offense when declared redundantly with `subject!` with `let` helper is an offense with a block pass is an offense without a block pass with `let!` helper is an offense with a block pass is an offense without a block pass when "subject" is declared is an offense when declared redundantly with `subject` is an offense when declared redundantly with `subject!` with `let!` helper is an offense without a block pass is an offense with a block pass with `let` helper is an offense with a block pass is an offense without a block pass when :subject is declared is an offense when declared redundantly with `subject!` is an offense when declared redundantly with `subject` with `let` helper is an offense without a block pass is an offense with a block pass with `let!` helper is an offense with a block pass is an offense without a block pass with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when :subject! is declared is an offense when declared redundantly with `subject` is an offense when declared redundantly with `subject!` with `let!` helper is an offense without a block pass is an offense with a block pass with `let` helper is an offense without a block pass is an offense with a block pass RuboCop::Cop::RSpec::Capybara::NegationMatcher with EnforcedStyle `have_no` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_text` with heredoc does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).not_to have_#{matcher}` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with EnforcedStyle `not_to` does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc does not register an offense when using `expect(...).not_to have_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` registers an offense when using `expect(...).to have_no_#{matcher}` does not register an offense when using `expect(...).not_to have_#{matcher}` registers an offense when using `expect(...).to have_no_text` with heredoc registers an offense when using `expect(...).to have_no_text` with heredoc RuboCop::Cop::RSpec::SharedExamples does not register an offense when using string title registers an offense when using symbolic title does not register an offense when using Module/Class title with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::SubjectStub flags multiple-method stubs flags one-line expectation syntax flags when a forced subject! is mocked and called as subject flags negated runners flags nested subject stubs flags spy subject stubs flags when subject is stubbed flags when a forced subject! is mocked and called by name flags when an unnamed forced subject! is mocked flags when there are several top level example groups flags stubs inside helper methods flags nested subject stubs when adjacent context redefines flags stub inside all matcher flags chain stubs flags nested stubs when nested subject is anonymous flags an expectation made on an unnamed subject flags nested subject stubs when nested subject uses same name flags deeply nested subject stubs flags stub within context where subject name changed flags when an unnamed subject is mocked ignores subjects from sibling example groups flags when subject is stubbed and there are several named subjects in the same example group flags nested subject stubs when example group does not define subject flags when an implicit subject is mocked ignores subjects from parent example groups redefined with let flags when subject is mocked with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb top level example groups flags in top level shared_examples_for flags in top level xdescribe flags in top level feature flags in top level shared_examples flags in top level example_group flags in top level ffeature flags in top level describe flags in top level xfeature flags in top level fcontext flags in top level fdescribe flags in top level context flags in top level xcontext flags in top level shared_context RuboCop::Cop::RSpec::Capybara::VisibilityMatcher does not register an offense when using `visible: :visible` does not register an offense when using multiple options does not register an offense when using `visible: :all` registers an offense when using a using multiple options` registers an offense when using `visible: true` does not register an offense when using `visible: :hidden` does not register an offense when using other options recognizes multiple matchers recognizes multiple negative matchers registers an offense when using a selector` registers an offense when using `visible: false` does not register an offense when no options are given` with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ReceiveCounts flags usage of `exactly(1).times` after `with` flags usage of `exactly(1).times` allows `exactly(3).times` flags usage of `exactly(2).times` allows `exactly(n).times` flags usage of `exactly(1).times` with return value flags usage of `at_most(2).times` flags usage of `at_least(1).times` flags usage of `at_most(1).times` flags usage of `exactly(1).times` with a block flags usage of `at_least(2).times` with a block allows exactly(1).times when not called on `receive` flags usage of `at_least(2).times` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::RepeatedExampleGroupBody registers an offense for repeated context body registers an offense for repeated describe body skips `skip` and `pending` statements skips `skip` and `pending` statements with arguments registers offense only for RSPEC namespace example groups in any order does not register offense if metadata is different registers offense only for example group registers an offense for several repeated context body does not register offense for different block body implementation does not register offense for example groups in different groups registers offense only for RSPEC namespace example groups registers offense no descriptions and similar body does not register offense when module arg namespace is different does not register offense with several docstring does not register offense if no descriptions, but different body does not register offense for same examples with different data does not register offense if module arg is different registers offense for different groups registers offense correctly if `skip` and `pending` have block registers offense correctly if example groups are separated registers an offense for when module arg and namespace are identical with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::BeforeAfterAll when using before each does not register an offense with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when using after each does not register an offense when using before all registers an offense when using after all registers an offense RuboCop::Cop::RSpec::Capybara::SpecificActions registers an offense when using find and click action when first argument is button does not register an offense for find and click aciton when first argument is not a replaceable element registers an offense for abstract action when first argument is element with replaceable attributes style for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes maximum for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes minimum for `click_button` does not register an offense for find and click aciton when first argument is multiple selector `,` registers an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes minimum for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes obscured for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes between for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes style for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes above for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes text for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes near for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes text for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes above for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes count for `click_link` with attribute `href` does not register an offense when using abstract action with first argument is element with multiple nonreplaceable pseudo-classes registers an offense for abstract action when first argument is element with replaceable attributes title for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes between for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes wait for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes count for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes exact for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes type for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes alt for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes maximum for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes minimum for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes focused for `click_link` without `href` does not register an offense for find and click aciton when first argument is not an element registers an offense for abstract action when first argument is element with replaceable attributes near for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes minimum for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes id for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes title for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes download for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes left_of for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes alt for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes above for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes maximum for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes title for `click_link` with attribute `href` does not register an offense when using abstract action with first argument is element with replaceable pseudo-classesand not boolean attributes registers an offense for abstract action when first argument is element with replaceable attributes name for `click_button` does not register an offense for abstract action when first argument is element with nonreplaceable attributes registers an offense for abstract action when first argument is element with replaceable attributes style for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes left_of for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes focused for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes style for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes id for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes text for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes exact for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes near for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes focused for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes focused for `click_link` with attribute `href` does not register an offense for find and click action when first argument is link registers an offense when using abstract action with first argument is element with multiple replaceable attributes registers an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_link` with attribute `href` registers an offense when using abstract action with first argument is element with multiple replaceable pseudo-classes does not register an offense for abstract action when first argument is element with replaceable attributes visible for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes exact for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes id for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes count for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes left_of for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes right_of for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes value for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes download for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes match for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes obscured for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes maximum for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes below for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes below for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes obscured for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes alt for `click_link` without `href` does not register an offense for find and click aciton when first argument is multiple selector `~` does not register an offense for find and click aciton when first argument is multiple selector `+` does not register an offense for abstract action when first argument is element with replaceable attributes right_of for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes disabled for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes title for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes class for `click_link` with attribute `href` does not register an offense for abstract action when first argument is element with replaceable attributes near for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes above for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes below for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes class for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes class for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes normalize_ws for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes left_of for `click_link` without `href` registers an offense when using find and click action when first argument is link with href does not register an offense for abstract action when first argument is element with replaceable attributes count for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes exact for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes id for `click_button` registers an offense for abstract action when first argument is element with replaceable attributes match for `click_link` with attribute `href` registers an offense when using find and click action with other argument registers an offense for abstract action when first argument is element with replaceable attributes match for `click_button` does not register an offense for abstract action when first argument is element with replaceable attributes class for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes visible for `click_button` registers an offense when using find and click aciton when first argument is multiple selector ` ` registers an offense when using abstract action with state registers an offense for abstract action when first argument is element with replaceable attributes between for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes between for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes wait for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes obscured for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes wait for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes visible for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes below for `click_link` with option `href` does not register an offense for find and click aciton when first argument is multiple selector `>` registers an offense for abstract action when first argument is element with replaceable attributes right_of for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes visible for `click_link` with attribute `href` registers an offense for abstract action when first argument is element with replaceable attributes download for `click_link` with option `href` registers an offense for abstract action when first argument is element with replaceable attributes right_of for `click_link` with option `href` registers an offense when using abstract action with first argument is element with replaceable pseudo-classes registers an offense when using find and click action when first argument is button with class does not register an offense for abstract action when first argument is element with multiple nonreplaceable attributes registers an offense for abstract action when first argument is element with replaceable attributes wait for `click_link` with attribute `href` registers an offense when using find and click action when consecutive chain methods does not register an offense for abstract action when first argument is element with replaceable attributes text for `click_link` without `href` does not register an offense for abstract action when first argument is element with replaceable attributes filter_set for `click_link` without `href` registers an offense for abstract action when first argument is element with replaceable attributes exact_text for `click_link` with option `href` does not register an offense for abstract action when first argument is element with replaceable attributes match for `click_link` without `href` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::HookArgument when EnforcedStyle is :implicit ignores non-rspec hooks ignores hooks with more than one argument ignores :context and :suite does not flag hooks without default scopes generates a todo based on the detected style generates a todo based on the detected style generates a todo based on the detected style detects :each for hooks detects :example for hooks when Ruby 2.7 detects :each for hooks detects :example for hooks does not flag hooks without default scopes when EnforcedStyle is :each detects :example for hooks ignores :context and :suite ignores non-rspec hooks ignores hooks with more than one argument detects hooks without default scopes generates a todo based on the detected style generates a todo based on the detected style does not flag :each for hooks generates a todo based on the detected style when Ruby 2.7 does not flag :each for hooks detects :example for hooks detects hooks without default scopes when EnforcedStyle is :example ignores :context and :suite detects hooks without default scopes ignores hooks with more than one argument detects :each for hooks generates a todo based on the detected style ignores non-rspec hooks generates a todo based on the detected style generates a todo based on the detected style does not flag :example for hooks when Ruby 2.7 does not flag :example for hooks detects hooks without default scopes detects :each for hooks with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::Capybara::SpecificMatcher registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_link` with attribute `href` does not register an offense when using abstract matcher with first argument is element with replaceable pseudo-classesand not boolean attributes does not register an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes selected for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes placeholder for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_select` does not register an offense for abstract matcher when first argument is element with replaceable attributes count for `have_link` without `href` registers an offense when using abstract matcher with first argument is element with replaceable pseudo-classes does not register an offense for abstract matcher when first argument is element with replaceable attributes between for `have_link` without `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes with_cols for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes href for `have_link` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes name for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes download for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes download for `have_link` with option `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes type for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes unchecked for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_select` registers an offense when using abstract matcher with state registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_field` does not register an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_field` does not register an offense for abstract matcher when first argument is element with replaceable attributes text for `have_link` without `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes download for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_table` registers an offense when using abstract matcher and other args registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes validation_message for `have_field` does not register an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes with_rows for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes alt for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_link` with attribute `href` registers an offense when using abstract matcher with id selector registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_select` does not register an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_link` without `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes below for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_link` with option `href` registers an offense when using abstract matcher with first argument is element with multiple replaceable pseudo-classes does not register an offense for abstract matcher when first argument is dstr registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_table` does not register an offense for abstract matcher when first argument is element with nonreplaceable attributes registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes name for `have_button` does not register an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes title for `have_button` registers an offense when using abstract matcher with first argument is element with multiple replaceable attributes registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes match for `have_link` without `href` does not register an offense for abstract matcher when first argument is element with sub matcher registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes alt for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes title for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes checked for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes left_of for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_link` with option `href` does not register an offense for abstract matcher when first argument is not an element registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_button` does not register an offense for abstract matcher when first argument is element with replaceable attributes alt for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes with_options for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes match for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_field` does not register an offense for abstract matcher when first argument is element with replaceable attributes title for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_button` does not register an offense for abstract matcher when first argument is element with replaceable attributes style for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes options for `have_select` registers an offense when using abstract matcher with class selector registers an offense for abstract matcher when first argument is element with replaceable attributes below for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes cols for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes right_of for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_link` with option `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes valid for `have_field` does not register an offense for abstract matcher when first argument is element with replaceable attributes near for `have_link` without `href` registers an offense when using `have_no_css` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes caption for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_link` with option `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_button` does not register an offense for abstract matcher when first argument is element with replaceable attributes exact for `have_link` without `href` registers an offense when using `have_css` registers an offense for abstract matcher when first argument is element with replaceable attributes between for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes name for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_link` with attribute `href` does not register an offense when using abstract matcher with first argument is element with multiple nonreplaceable pseudo-classes registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes with_selected for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes above for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes title for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes focused for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes multiple for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes rows for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes id for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes near for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes normalize_ws for `have_table` does not register an offense for abstract matcher when first argument is element with replaceable attributes class for `have_link` without `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_link` without `href` does not register an offense for abstract matcher when first argument is element with replaceable attributes filter_set for `have_link` without `href` registers an offense for abstract matcher when first argument is element with replaceable attributes obscured for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes value for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes disabled_options for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_field` registers an offense for abstract matcher when first argument is element with replaceable attributes visible for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes wait for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes maximum for `have_select` does not register an offense for abstract matcher when first argument is element with multiple nonreplaceable attributes registers an offense for abstract matcher when first argument is element with replaceable attributes style for `have_button` registers an offense for abstract matcher when first argument is element with replaceable attributes text for `have_link` with attribute `href` registers an offense for abstract matcher when first argument is element with replaceable attributes minimum for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes placeholder for `have_select` registers an offense for abstract matcher when first argument is element with replaceable attributes above for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes class for `have_table` registers an offense when using `have_no_selector` registers an offense for abstract matcher when first argument is element with replaceable attributes count for `have_link` with option `href` registers an offense for abstract matcher when first argument is element with replaceable attributes exact_text for `have_table` registers an offense for abstract matcher when first argument is element with replaceable attributes enabled_options for `have_select` does not register an offense for abstract matcher when first argument is not a replaceable element registers an offense when using `have_selector` registers an offense for abstract matcher when first argument is element with replaceable attributes id for `have_link` with attribute `href` with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::MessageSpies when EnforcedStyle is have_received flags expect(...).to_not receive flags expect(...).not_to receive flags expect(send).to receive flags expect(const).to receive approves of expect(...).to have_received generates a todo based on the detected style flags expect(ivar).to receive flags expect(...).to receive at_most flags expect(lvar).to receive flags expect(...).to receive with generates a todo based on the detected style when EnforcedStyle is receive flags expect(...).not_to have_received generates a todo based on the detected style flags expect(send).to have_received approves of expect(...).to receive flags expect(lvar).to have_received flags expect(...).to have_received at_most flags expect(ivar).to have_received flags expect(const).to have_received flags expect(...).to have_received with flags expect(...).to_not have_received generates a todo based on the detected style with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::DuplicatedMetadata when metadata is duplicated on example group registers offense with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when metadata is duplicated on configuration hook registers offense when metadata is not used registers no offense when metadata is not duplicated registers no offense when metadata is duplicated on shared examples registers offense when metadata is duplicated in different order registers offense when metadata is duplicated on example registers offense RuboCop::Cop::RSpec::VoidExpect registers offenses to void `expect` when block has one expression accepts non-void `expect` with block registers offenses to void `expect` with block registers offenses to void `expect` accepts non-void `expect` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::RepeatedExampleGroupDescription registers an offense with right pointing to lines of code registers an offense for repeated context descriptions registers an offense for repeated describe descriptions register offense if same method used in docstring does not register offense for example group without descriptions registers offense correctly if example groups are separated does not register offense for describe block with several docstring registers offense only for RSPEC namespace example groups does not register offense for different block descriptions registers offense only for RSPEC namespace example groups in any order considers interpolated docstrings as different descriptions registers offense correctly for interpolated docstrings register offense for different example group with similar descriptions registers offense only for example group does not register offense for describe block with additional docstring considers different classes as different descriptions with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::NotToNot when EnforcedStyle is `not_to` detects the `to_not` offense detects no offense when using `not_to` detects the `to_not` offense on an expect block with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when AcceptedMethod is `to_not` detects the `not_to` offense on an expect block detects the `not_to` offense detects no offense when using `to_not` RuboCop::Cop::RSpec::MultipleMemoizedHelpers flags nested `#let` ignores distributed `#let` flags excessive `#let!` flags excessive `#let` ignores a reasonable number of memoized helpers ignores overridden `#let` ignores `#subject` without a name ignores `#subject` ignores `#subject!` support --auto-gen-config with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when using AllowSubject configuration flags `#subject!` flags `#subject` flags `#subject` without name ignores overridden subjects RuboCop::Cop::RSpec::SortMetadata registers an offense also when the metadata is not on one single line registers an offense when using only symbol metadata, but not in alphabetical order ignores includes' positional arguments registers an offense when using only symbol metadata in a config block, but not in alphabetical order registers an offense when using only a hash of metadata, but with keys not in alphabetical order does not register an offense when using mixed metadata in alphabetical order (respectively) registers an offense when using mixed metadata, but only the hash keys are in alphabetical order does not register an offense when using only a hash of metadata with keys in alphabetical order registers an offense only when example or group has a block does not register an offense when using only symbol metadata in alphabetical order registers an offense when using mixed metadata, but only the symbol keys are in alphabetical order registers an offense when using mixed metadata and both symbols metadata and hash keys are not in alphabetical order and the hash values are complex objects registers an offense when using mixed metadata and both symbols metadata and hash keys are not in alphabetical order with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when using custom RSpec language without adjusting the RuboCop RSpec language configuration does not register an offense when using custom RSpec language and adjusting the RuboCop RSpec language configuration registers an offense RuboCop::Cop::RSpec::VerifiedDoubles finds a `double` instead of an `instance_double` ignores doubles that have no name specified ignores instance_doubles with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when configuration does not specify IgnoreSymbolicNames find doubles whose name is a symbol finds a `spy` instead of an `instance_spy` when configured to ignore symbolic names ignores doubles whose name is a symbol still flags doubles whose name is a string when configured not to ignore nameless doubles flags doubles that have no name specified RuboCop::Cop::RSpec::Rails::HaveHttpStatus does not register an offense for `expect(res.status).to be(200)` registers an offense for `expect(response.status).to be(200)` registers an offense for `expect(response.status).not_to eq(404)` does not register an offense for `is_expected.to be(200)` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::Capybara::SpecificFinders registers an offense when using `find` with no parentheses does not register an offense when using `find_by_id` does not register an offense when using `find with argument is element with attribute specified id does not register an offense when using `find` with argument is id with multiple matcher registers an offense when using `find` registers an offense when using `find` and other args with no parentheses registers an offense when using `find with argument is attribute specified id registers an offense when using `find` and other args does not register an offense when using `find` with argument is not id does not register an offense when using `find with argument is element with id registers an offense when using `find` with method chain does not register an offense when using `find with argument is attribute not specified id with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ChangeByZero registers an offense when the argument to `by` is zero does not register an offense when the argument to `by` is not zero with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when `NegatedMatcher` is not defined (default) registers an offense when the argument to `by` is zero with compound expectations by `or` registers an offense when the argument to `by` is zero with compound expectations by `&` registers an offense when the argument to `by` is zero with compound expectations by `|` registers an offense when the argument to `by` is zero with compound expectations by `and` when with a line break registers an offense when the argument to `by` is zero with compound expectations by `or` registers an offense when the argument to `by` is zero with compound expectations by `and` registers an offense when the argument to `by` is zero with compound expectations by `&` registers an offense when the argument to `by` is zero with compound expectations by `|` with `NegatedMatcher: 'not_change'` registers an offense and autocorrect when the argument to `by` is zero with compound expectations with line break registers an offense and autocorrect when the argument to `by` is zero with compound expectations RuboCop::Cop::RSpec::HooksBeforeExamples flags `before` after `context` works with comments flags `after` after an example flags `before` after `include_examples` ignores single-line example blocks flags scoped hook after an example flags `before` after `it` does not flag hooks before the examples does not flag `before` in a nested context allows inclusion of context before hooks with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when Ruby 2.7 flags `around` after `context` flags `around` after `include_examples` flags `around` after `it` RuboCop::Cop::RSpec::EmptyLineAfterSubject flags a missing empty line before a `rubocop:disable` directive flags a missing empty line after a `rubocop:enable` directive does not register an offense for a comment followed by an empty line registers an offense for empty line after subject flags a missing empty line before a comment does not register an offense for subject being the latest node does not register an offense for empty line after subject does not register an offense for multiline subject block does not register an offense for empty line after subject! registers an offense for empty line after subject! flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line before a multiline comment with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::RSpec::Example extracts implementation extracts keywords extracts symbol doc string returns nil for examples without doc strings extracts doc string extracts interpolated doc string returns node extracts doc string for unimplemented examples extracts method doc string value object semantics can be used as a key in a hash computes #hash based on class and node compares by value RuboCop::Cop::RSpec::AlignLeftLetBrace registers offense for unaligned braces does not register an offense for let with proc argument does not register an offense with empty file with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::SingleArgumentMessageChain stub_chain accepts multi-argument string calls reports single-argument string calls accepts multi-argument calls reports single-argument calls with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb receive_message_chain accepts multi-argument string calls accepts single-argument calls with send node reports single-argument calls reports single-argument string calls accepts single-argument calls with variable accepts multi-argument calls with single-key hash argument reports an offense with single-element array argument reports an offense with multiple keys hash argument doesn't report an offense with multiple-element array argument doesn't report an offense RuboCop::Cop::RSpec::FactoryBot::FactoryNameStyle when EnforcedStyle is :string does not register an offense when using `create` with string interpolation name` does not register an offense when using `build` with keyword argument registers an offense when using `create` with a method call registers an offense when using `build` with symbol name registers an offense when using `create` with symbol name and multiline method calls registers an offense when using `create` with symbol name registers an offense when using `build` with a method call registers an offense when using `create` with an explicit receiver does not register an offense when using `create` with a local variable does not register an offense when using `build` with a local variable does not register an offense when using `create` with string name` does not register an offense when using `build` with string name` does not register an offense when using `build` with string interpolation name` does not register an offense when using `create` with keyword argument with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when EnforcedStyle is :symbol does not register an offense when using `create` with keyword argument does not register an offense when using `build` with keyword argument registers an offense when using `build` with string name does not register an offense when using `build` with symbol name` registers an offense when using `create` with string name and multiline method calls registers an offense when using `create` with string name registers an offense when using `create` with an explicit receiver does not register an offense when using `build` with string interpolation name` does not register an offense when using `create` with symbol name` does not register an offense when using `create` with string interpolation name` RuboCop::RSpec::ExampleGroup exposes examples in scope RuboCop::RSpec::DescriptionExtractor builds a hash of descriptions RuboCop::Cop::RSpec::VariableName with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when configured for `snake_case` when `let` with proc registers offense when `let` with string names registers an offense for camelCase does not register offense for interpolated string registers an offense for kebab-case does not register an offense for snake_case when `let` with symbol names registers an offense for PascalCase registers offense with multiple lets does not register offense for interpolated symbol does not register an offense for snake_case registers an offense for camelCase when `subject!` does not register offense for snake_case registers an offense for camelCase when `subject` registers an offense for camelCase does not register offense for snake_case when `let!` does not register offense for snake_case registers an offense for camelCase when configured for `camelCase` when `subject` does not register offense for camelCase registers an offense for snake_case when `let!` registers an offense for snake_case does not register offense for camelCase when `subject!` registers an offense for snake_case does not register offense for camelCase when `let` registers an offense for snake_case does not register offense for camelCase when configured to ignore certain patterns (deprecated key) does not register an offense when matching any ignored pattern registers an offense when not matching any ignored patterns when configured to allow certain patterns does not register an offense when matching any allowed pattern registers an offense when not matching any allowed patterns RuboCop::Cop::RSpec::ReceiveNever flags usage of `never` flags usage of `never` with `is_expected` allows method called `never` flags usage of `never` with `expect_any_instance_of` flags usage of `never` after `with` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::MultipleDescribes ignores multiple shared example groups flags multiple top-level example groups with class and method flags multiple top-level example groups only with class flags multiple top-level example groups aliases ignores single top-level example group flags multiple top-level example groups with an arbitrary argument with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::BeEql does not register an offense for `eql` when argument is a string registers an offense for `eql` when argument is an integer registers an offense for `eql` when argument is a float registers an offense for `eql` when argument is a symbol registers an offense for `eql` when argument is nil registers an offense for `eql` when argument is a boolean does not register an offense for `eql` when expectation is negated with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::ClassCheck when EnforcedStyle is `be_kind_of` when `be_an` is used registers and corrects an offense when `be_kind_of` is used does not register an offense when `be_a_kind_of` is used does not register an offense when `be_a` is used registers and corrects an offense when EnforcedStyle is `be_a` when `be_kind_of` is used registers and corrects an offense when `Foo.be_kind_of` is used does not register an offense when `be_a` is used does not register an offense when `be_a_kind_of` is used registers and corrects an offense when `be_an` is used does not register an offense with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::Capybara::CurrentPathExpectation flags violations for `expect(current_path)` preserves parentheses registers an offense with method calls registers an offense with arguments registers an offense with to_not negation alias registers an offense when a variable is used doesn't flag a violation for other expectations registers an offense with `match` with a string argument registers an offense with `match` flags violations for `expect(page.current_path)` registers an offense with negation ignores `match` with a variable, but does not autocorrect doesn't flag a violation for other references to `current_path` with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::NoExpectationExample registers no offense for skipped/pending with metadata with custom expectation example registers an offense with block-less example in block registers no offenses when Ruby 2.7 with no expectation example with it registers an offense with no expectation skipped example registers no offenses with expectation example with should registers no offenses with no expectation configured custom example registers an offense with no expectation skipped example when using `skip` inside an example registers no offenses with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb with no expectation custom example registers no offenses with no expectation example with specify registers an offense with configured custom expectation example registers no offenses with multi no expectation examples registers offenses when `AllowedPatterns: [^expect_]` when only allowed pattern methods with arguments are used registers no offenses when allowed pattern methods and other method are used registers no offenses when nested allowed pattern methods and other method are used registers no offenses when only not allowed pattern methods are used does something when only allowed pattern methods are used registers no offenses with no expectation pending example registers no offenses with no expectation pending example when using `pending` inside an example registers no offenses with no expectation example with it registers an offense RuboCop::Cop::RSpec::ExpectOutput does not flag assignments to $stdout in example_group scope registers an offense for overwriting $stderr within an example scoped hook does not flag assigns to $stdout when in the root scope does not register an offense for interacting with $stdout does not flag assignments to $stdout outside of example scope does not flag assignments to other global variables registers an offense for overwriting $stdout within an example with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::Rails::InferredSpecType with Inferences configuration register and corrects an offense with redundant type in keyword arguments register and corrects an offense with redundant type and other Symbol metadata register and corrects an offense with redundant type in inner example group register and corrects an offense with necessary type in keyword arguments does not register any offense with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb with redundant type in Hash arguments register and corrects an offense with redundant type and receiver-less describe register and corrects an offense with redundant type after other Hash metadata register and corrects an offense with redundant type before other Hash metadata register and corrects an offense config/default.yml ends every description with a period includes a valid Enabled for every cop has descriptions for all cops does not have newlines in cop descriptions sorts configuration keys alphabetically with nested namespaces last has configuration for all cops and amendments CHANGELOG.md has link definitions for all implicit links contributors list does not contain duplicates is alphabetically sorted (case insensitive) entry has a link to the contributors at the end has a whitespace between the * and the body body does not start with a lower case ends with a punctuation link to related issue on github has a colon and a whitespace at the end has an issue number prefixed with # has a valid URL RuboCop::Cop::RSpec::ContextMethod flags context with `#` at the beginning flags context with `.` at the beginning ignores describe blocks with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::PendingWithoutReason when pending by hash metadata on example group without reason registers offense when pending by example method registers offense when skipped by metadata on example with reason registers no offense when pending by pending step with reason registers no offense when skipped by skip step without reason registers offense when pending by pending step without reason registers offense when pending by metadata on example group without reason registers offense when pending by metadata on example without reason registers offense when skipped by metadata on example group without reason registers offense when pending by metadata on example with reason registers no offense when skipped by example group method registers offense when skipped by metadata on example without reason registers offense with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when skipped by example method registers offense when skipped by skip step with reason registers no offense RuboCop::Cop::RSpec::ExpectInHook accepts `expect` in `it` adds an offense for `expect` in `around` hook accepts an empty `before` hook adds an offense for `expect` in `after` hook adds an offense for `expect` in `before` hook accepts `allow` in `before` hook adds an offense for `expect` with block in `before` hook with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when Ruby 2.7 adds an offense for `expect` in `around` hook RuboCop::Cop::RSpec::FactoryBot::FactoryClassName when not passing block ignores passing class name flags passing a class when passing block flags passing a class from global namespace ignores passing Hash flags passing a subclass ignores passing OpenStruct flags passing a class ignores passing class name with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::FactoryBot::CreateList when EnforcedStyle is :n_times flags usage of create_list with argument flags usage of create_list with keyword arguments flags usage of create_list flags usage of FactoryGirl.create_list with a block flags usage of FactoryGirl.create_list ignores create method of other object when Ruby 2.7 ignores n.times with numblock with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when EnforcedStyle is :create_list ignores create in other block ignores n.times when there is no create call inside flags usage of n.times with block argument flags n.times when create call doesn't have method calls flags usage of n.times with keyword arguments ignores n.times with n as argument flags usage of Array.new(n) with block argument ignores create method of other object flags usage of n.times when FactoryBot.create is used ignores empty n.times flags FactoryGirl.create calls with a block flags usage of n.times when FactoryGirl.create is used ignores n.times when there is other calls but create flags usage of n.times with no arguments ignores n.times when create call does have method calls flags usage of Array.new(n) with no arguments flags usage of n.times with nested block arguments flags usage of n.times with arguments RuboCop::Cop::RSpec::LeakyConstantDeclaration module defined flags inside an example group class defined flags namespaced class flags inside an example group ignores anonymous classes constant assignment flags inside shared example group flags inside an example group flags inside an example ignores outside of example/shared group with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::IdenticalEqualityAssertion does not register offense for different expressions registers an offense for identical expression with be == registers an offense for identical expression with be registers an offense when using identical expressions with `eql` checks for whole expression registers an offense when using identical expressions with `eq` registers an offense for trivial constants registers an offense for complex constants with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::LetSetup complains when let! is used and not referenced complains when let! used in shared example including complains when let! is used and not referenced in shared example group ignores let! when used in example ignores let! when used in `before` ignores used helpers defined as strings complains when there is only one nested node into example group flags blockpass flags unused helpers defined as strings complains when there is a custom nesting level complains when let! is used and not referenced within nested group with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::Yield flags multiple `block.call` with arguments flags `block.call` when `receive` is chained ignores `receive` with no block arguments flags `block.call` with arguments flags `block.call` flags multiple `block.call` ignores stub when `block.call` is not the only statement when Ruby 2.7 ignores stub when `block.call` is not the only statement ignores `receive` with no block arguments with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RubocopBug has an expectation has a single example RuboCop::Cop::RSpec::NamedSubject when IgnoreSharedExamples is true ignores explicit subject in shared_examples behaves like checking subject outside of shared examples ignores subject when not wrapped inside a test checks `it` and `specify` for explicit subject usage checks before and after for explicit subject usage checks around(:each) for explicit subject usage when IgnoreSharedExamples is false checks shared_examples for explicit subject usage behaves like checking subject outside of shared examples checks before and after for explicit subject usage checks around(:each) for explicit subject usage ignores subject when not wrapped inside a test checks `it` and `specify` for explicit subject usage with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when EnforcedStyle is :named_only checks subject where declaration is named checks subject! where declaration is named ignores subject where declaration is not named ignores subject! where declaration is not named ignores subject where the closest declaration is not named RuboCop::Cop::RSpec::ExcessiveDocstringSpacing ignores heredocs ignores non-example blocks does not consider indented whitespace excessive when using `describe` skips interpolated description without leading whitespace flags \-separated multiline strings whose trailing whitespace does not make sense skips descriptions without any excessive whitespace flags \-separated multiline interpolated strings with leading whitespace skips blocks without text skips \-separated multiline strings whose trailing whitespace makes sense flags lone whitespace finds description with trailing whitespace finds descriptions with multiple inner extra whitespace finds interpolated description with trailing whitespace finds interpolated description with leading whitespace finds descriptions with inner extra whitespace finds description with leading whitespace when using `context` skips \-separated multiline strings whose trailing whitespace makes sense flags \-separated multiline strings whose trailing whitespace does not make sense flags lone whitespace skips descriptions without any excessive whitespace flags \-separated multiline interpolated strings with leading whitespace finds descriptions with inner extra whitespace finds interpolated description with both trailing and leading whitespace skips blocks without text skips interpolated description without leading whitespace finds description with leading whitespace finds description with trailing whitespace finds descriptions with multiple inner extra whitespace finds interpolated description with trailing whitespace finds interpolated description with leading whitespace with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when using `it` skips interpolated description without leading whitespace finds interpolated description with trailing whitespace flags \-separated multiline interpolated strings with leading whitespace handles descriptions starting with an interpolated value finds description with leading whitespace finds interpolated description with leading whitespace flags lone whitespace skips \-separated multiline strings whose trailing whitespace makes sense finds description with trailing whitespace skips blocks without text flags \-separated multiline strings whose trailing whitespace does not make sense finds descriptions with inner extra whitespace handles interpolated one-word descriptions skips descriptions without any excessive whitespace handles one-word descriptions finds descriptions with multiple inner extra whitespace when using other common example groups supports `its` supports `skip` (without a block) supports `xcontext` supports `skip` (with a block) supports `feature` RuboCop::Cop::RSpec::BeNil with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with EnforcedStyle `be` does not register an offense when using other `#be_*` methods does not register an offense when using `#be` for `nil` value registers an offense when using `#be_nil` with EnforcedStyle `be_nil` does not register an offense when using `#be` with other values registers an offense when using `#be` for `nil` value does not register an offense when using `#be_nil` RuboCop::Cop::RSpec::FilePath does not register an offense for ACRONYMClassNames registers an offense when second argument contains spaces does not register an offense for different parent directories registers an offense for a file missing _spec does not register offense for absolute file path does not register an offense for files defining an empty class registers an offense for a bad path does not register an offense for instance methods does not register an offense for CamelCaps class names does not register an offense for example groups do not describe a class / method does not register an offense for class methods does not register an offense for shared examples does not register an offense for subdirs for class methods registers an offense for a wrong class name with a symbol argument does not register an offense for flat hierarchies for class methods registers an offense for a bad path for all kinds of example groups registers an offense for path with incorrect collapsed namespace does not register an offense for non-alphanumeric characters registers an offense for a wrong class name registers an offense for a file without the .rb extension does not register an offense for alphanumeric class names registers an offense for a wrong class but a correct method does not register an offense for an arbitrary spec name for an operator method registers an offense for a wrong class and highlights metadata does not register an offense for bang method does not register an offense for flat hierarchies for instance methods does not register an offense for subdirs for instance methods does not register an offense for multiple top level describes does not register an offense for an arbitrary spec suffix registers an offense for a feature file missing _spec registers an offense for a repeated .rb does not register an offense for class specs does not register an offense for ALLCAPS class names registers an offense for a file missing a .rb registers an offense for path with incorrect expanded namespace registers an offense for a path containing the class name with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when `type: :routing` is used and it does not end with _spec.rb registers an offense when configured with IgnoreMethods does not register an offense for the described method when `type: :routing` is used and it ends with _spec.rb does not register an offense when configured with SpecSuffixOnly registers an offense when _spec.rb suffix is missing registers an offense when a feature file is missing _spec.rb suffix does not register an offense for the described class registers an offense when the file extension is not .rb when path is under spec/routing and it does not end with _spec.rb registers an offense when configured with CustomTransform does not register an offense for custom module name transformation does not register an offense for routing specs when path is under spec/routing and it ends with _spec.rb does not register an offense RuboCop::Cop::RSpec::ImplicitSubject with EnforcedStyle `single_line_only` detects usage of `is_expected` inside helper methods does not flag methods called is_expected and should flags `is_expected` in multi-line examples allows `is_expected` in single-line examples flags `should` in multi-line examples allows `should` in single-line examples allows `is_expected` inside `its` block, in multi-line examples with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb with EnforcedStyle `disallow` flags `is_expected` in multi-line examples allows `is_expected` inside `its` block flags `should` in single-line examples flags `is_expected` in single-line examples flags `should` in multi-line examples with EnforcedStyle `require_implicit` with `expect(subject)` in one-line registers and autocorrects an offense with `expect { subject }` does not register an offense with `is_expected` does not register an offense with named subject does not register an offense with `expect(subject)` in multi-lines registers and autocorrects an offense with `its` does not register an offense with EnforcedStyle `single_statement_only` flags `is_expected` in multi-statement examples allows `is_expected` in multi-line example with single statement RuboCop::Cop::RSpec::FactoryBot::AttributeDefinedStatically accepts valid sequence definition does not add offense if out of factory bot block registers an offense for attributes defined on explicit receiver accepts valid association definitions does not add offense if method called on a local variable registers an offense for offending code registers an offense in a transient block accepts valid traits_for_enum definition does not add offense if method called on another object registers an offense in a trait accepts valid factory definitions registers an offense for an attribute defined on `self` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::EmptyLineAfterExampleGroup checks for empty line after describe approves empty line after describe flags a missing empty line before a comment flags a missing empty line before a `rubocop:disable` directive flags a missing empty line after a `rubocop:enable` directive approves empty line after context flags a missing empty line before a multiline comment does not register an offense for a comment followed by an empty line handles describes in an if block flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive checks for empty line after context highlights single line formulations correctly with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::Rails::HttpStatus when EnforcedStyle is `symbolic` registers an offense when using numeric value does not register an offense when using symbolic value does not register an offense when using custom HTTP code with parenthesis registers an offense when using numeric value when EnforcedStyle is `numeric` does not register an offense when using allowed symbols registers an offense when using symbolic value does not register an offense when using numeric value with parenthesis registers an offense when using symbolic value with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::MultipleSubjects autocorrects does not flag shared example groups does not try to autocorrect subject! registers an offense for every overwritten subject with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb is insane RuboCop::CLI --autocorrect when corrects `RSpec/Capybara/CurrentPathExpectation` with `Style/TrailingCommaInArguments` rubocop terminates with a success autocorrects be compatible with each other RuboCop::Cop::RSpec::MultipleExpectations generates a todo based on the worst violation with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with metadata checks examples with `aggregate_failures: false` prefers example metadata over example group metadata ignores example groups with `aggregate_failures: true` ignores example groups with `:aggregate_failures` ignores examples with `aggregate_failures: true` ignores examples with `:aggregate_failures` checks example groups with `aggregate_failures: false` ignores examples with `aggregate_failures: true` defined deeply checks examples with siblings with `aggregate_failures: true` without configuration counts every aggregate_failures as an expectation flags multiple expects with blocks flags multiple expectations flags multiple is_expected approves of one expectation per example counts aggregate_failures as one expectation flags multiple expect_any_instance_of with Max configuration permits two expectations flags three expectations RuboCop::Cop::RSpec::ScatteredSetup flags multiple hooks of the same scope with different symbols flags hooks with similar metadata ignores hooks in different shared contexts ignores similar method names inside of examples flags multiple before(:all) hooks in the same example group ignores hooks with different metadata ignores hooks in different example groups ignores different hooks flags multiple hooks in the same example group ignores different hook types with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::AnyInstance finds `allow_any_instance_of` instead of an instance double finds old `any_instance` syntax instead of an instance double finds `expect_any_instance_of` instead of an instance double with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::FactoryBot::ConsistentParenthesesStyle when EnforcedStyle is :enforce_parentheses flags the call with an explicit receiver dose not register an offense when using `generate` with not a one argument ignores FactoryBot DSL methods without a first positional argument with mixed tests flags the call to use parentheses with multiline method calls expects parentheses around multiline call with already valid usage of parentheses does not flag as invalid - build does not flag as invalid - create with build flags the call to use parentheses with nested calling works in a bigger context flags the call to use parentheses with create flags the call to use parentheses with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when EnforcedStyle is :omit_parentheses ignores FactoryBot DSL methods without a first positional argument flags the call with an explicit receiver works in a bigger context dose not register an offense when using `generate` with not a one argument with nest call inner call is ignored and not fixed with create flags the call to not use parentheses with already valid usage of parentheses does not flag as invalid - build does not flag as invalid - create with multiline method calls removes parentheses around multiline call with build flags the call to not use parentheses when is a part of an array does not flag the call with mixed tests flags the call not to use parentheses when create and first argument are on same line register an offense when create and first argument are not on same line does not register an offense with nested calling flags the call to use parentheses with nested calling that does not require fixing does not flag the nested call when create and some argument are not on same line does not register an offense when is a part of a hash does not flag the call RuboCop::Cop::RSpec::DescribedClassModuleWrapping allows a describe block in the outermost scope registers an offense when RSpec.describe is nested within a module registers an offense when RSpec.describe is nested within two modules allows a module that does not contain RSpec.describe with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::EmptyHook with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb with `after` hook detects offense for empty `after` accepts multiline `after` hook accepts non-empty `after` hook with `around` hook accepts multiline `around` hook detects offense for empty `around` accepts non-empty `around` hook with `append_after` hook accepts multiline `append_after` hook detects offense for empty `append_after` accepts non-empty `append_after` hook when the hook is between other blocks detects offense for empty `append_after` with `prepend_after` hook accepts non-empty `prepend_after` hook detects offense for empty `prepend_after` accepts multiline `prepend_after` hook with `append_before` hook accepts multiline `append_before` hook accepts non-empty `append_before` hook detects offense for empty `append_before` with `prepend_before` hook detects offense for empty `prepend_before` accepts non-empty `prepend_before` hook accepts multiline `prepend_before` hook with `before` hook detects offense for empty `before` with :suite scope detects offense for empty `before` with :example scope detects offense for empty `before` with :each scope accepts multiline `before` hook accepts non-empty `before` hook autocorrects `before` with semicolon detects offense for empty `before` detects offense for empty `before` with :context scope detects offense for empty `before` with :all scope RuboCop::Cop::RSpec::Focus does not flag unfocused specs flags focused block types flags rspec example blocks that include `:focus` preceding a hash ignores non-rspec code with :focus blocks flags all rspec example blocks that include `:focus` flags a method that is focused twice flags all rspec example blocks with that include `focus: true` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ExpectActual flags literal nil value within expect(...) flags but does not autocorrect violations for other matchers does not flag dynamic values within expect(...) does not flag complex values with dynamic parts within expect(...) flags regexps containing only literal values within expect(...) flags hashes containing only literal values within expect(...) flags `be ==` flags but does not autocorrect when the actual value is also a literal flags numeric literal values within expect(...) flags with `eql` matcher ignores `be` with no argument flags boolean literal values within expect(...) flags arrays containing only literal values within expect(...) flags with `equal` matcher flags ranges containing only literal values within expect(...) flags `be` with an argument flags string and symbol literal values within expect(...) with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when inspecting rspec-rails routing specs ignores rspec-rails routing specs RuboCop::Cop::RSpec::ItBehavesLike with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when the enforced style is `it_behaves_like` does not flag a violation for it_behaves_like flags a violation for it_should_behave_like when the enforced style is `it_should_behave_like` flags a violation for it_behaves_like does not flag a violation for it_behaves_like RuboCop::Cop::RSpec::Pending flags blocks with skip: string metadata flags blocks with skip symbol metadata flags describe with skip symbol metadata flags xscenario flags xexample ignores scenario flags xcontext flags xfeature flags blocks with pending symbol metadata ignores context ignores specify flags xspecify ignores method called pending flags blocks with skip: true metadata flags xit flags xdescribe ignores it flags skip inside of an it flags skip blocks ignores example ignores example_group flags pending examples when receiver is explicit flags pending blocks ignores describe ignores feature ignores it with skip: false metadata with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::EmptyExampleGroup ignores example group with examples defined in an iterator flags an empty top level describe flags example group with no examples defined in an iterator flags an empty example group with no examples defined in `case`branches ignores examples groups with includes ignores example group with examples defined in a nested iterator flags an empty example group flags example group with examples defined in hooks ignores example groups defined inside methods ignores methods matching example group names ignores example groups inside examples flags custom include methods by default ignores example group with examples defined in an obscure iterators ignores example group with examples but no examples in `if` branches ignores example group with examples defined in an custom block ignores example group with examples defined in iterator ignores example group with examples defined in `if` branches flags an empty example group with no examples defined in `if` branches ignores example groups with pending examples ignores example group with examples but no examples in `case` branches ignores example group with examples defined in `case` branches when a custom include method is specified ignores an empty example group with a custom include with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::InstanceSpy when not used with `have_received` does not add an offense when used with `have_received` ignores instance_double when it is not used with as_null_object adds an offense for an instance_double with multiple arguments adds an offense for an instance_double with single argument with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::UnspecifiedException with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb with raise_error matcher allows exception classes allows exception messages allows classes with blocks with do/end allows exception types with matching regular expressions allows exception matching regular expressions allows empty exception specification when not expecting an error allows classes with blocks with braces allows parameterized exceptions allows exception types with messages detects the `unspecified_exception` offense with raise_exception matcher allows parameterized exceptions allows exception messages allows classes with blocks with braces detects the `unspecified_exception` offense allows exception types with messages allows exception classes allows exception types with matching regular expressions allows exception matching regular expressions allows empty exception specification when not expecting an error allows classes with blocks with do/end RuboCop::Cop::RSpec::PredicateMatcher when enforced style is `explicit` when strict is false registers an offense for a predicate method with argument registers an offense for a predicate mather registers an offense for a predicate method with a block accepts built in matchers accepts non-predicate matcher registers an offense for a predicate mather with argument registers an offense for a predicate method with built-in equiv registers an offense for a predicate matcher with a block when custom matchers are allowed accepts custom allowed explicit matchers when strict is true registers an offense for a predicate method with a block accepts built in matchers registers an offense for a predicate method with built-in equiv registers an offense for a predicate matcher with a block accepts non-predicate matcher registers an offense for a predicate mather with argument registers an offense for a predicate mather registers an offense for a predicate method with argument when custom matchers are allowed accepts custom allowed explicit matchers when enforced style is `inflected` when strict is true registers an offense for a predicate method with argument registers an offense for a predicate method with built-in equiv registers an offense for a predicate method with a block registers an offense for a predicate method in actual accepts strict checking boolean matcher accepts a predicate method that is not checked true/false accepts non-predicate method when strict is false registers an offense for a predicate method with built-in equiv accepts non-predicate method registers an offense for a predicate method in actual accepts a predicate method that is not checked true/false registers an offense for a predicate method with a block registers an offense for a predicate method with argument registers an offense for a predicate method in actual with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::Capybara::FeatureMethods allows includes before the spec flags violations inside shared groups flags violations for `scenario` ignores variables inside examples flags violations for `given!` flags violations for `background` flags violations for `given` flags violations for `feature` ignores feature calls outside spec flags violations for `xscenario` with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb with configured `EnabledMethods` ignores usage of the enabled method flags other methods RuboCop::Cop::RSpec::BeEq does not register an offense for `eq` when argument is an integer does not register an offense for `eq` when argument is a symbol does not register an offense for `eq` when argument is a float registers an offense for `eq` when argument is nil does not register an offense for `eq` when argument is a string registers an offense for `eq` when argument is a boolean with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::LetBeforeExamples flags `let` after `include_examples`, but does not autocorrect flags `let` with a heredoc argument allows inclusion of context before `let` ignores single-line example blocks flags `let` with proc argument flags `let` after `it` does not flag `let` before the examples flags `let` after `context` does not flag `let` in a nested context flags `let` after `it_behaves_like` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::ExampleWording flags \-separated multiline strings finds description with `should` at the beginning skips interpolated description without literal `should` at the start finds leading its skips descriptions starting with words that begin with `should` finds description with `shouldn't` at the beginning flags a lone should not ignores heredocs flags a lone should skips descriptions without `should` at the beginning flags \-separated multiline interpolated strings finds description with `SHOULDN'T` at the beginning flags an unclear description finds interpolated description with `should` at the beginning flags an unclear description despite extra spaces finds leading it in interpolated description flags an unclear description despite uppercase and lowercase strings ignores non-example blocks skips words beginning with 'it' finds description with `Should` at the beginning when `DisallowedExamples: Workz` finds a valid sentence across two lines flags an unclear description finds an invalid example across two lines flags an unclear description despite uppercase and lowercase strings with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::ExampleWithoutDescription with EnforcedStyle `single_line_only` flags example with an empty string for description ignores missing description in single-line examples flags missing description in multi-line examples with EnforcedStyle `always_allow` ignores `it` with a description ignores `it` without an argument flags empty strings for description with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb with EnforcedStyle `disallow` flags missing description in single-line examples ignores `it` with a description flags missing description in multi-line examples RuboCop::Cop::RSpec::ReturnFromStub with EnforcedStyle `block` registers an offense for static values returned from method ignores multiple values being returned from method registers an offense for static values returned from chained method does not register an offense for dynamic values returned from method ignores string with interpolation returned from method finds nil returned from method finds concatenated strings with no variables finds hash with only static values returned from method with EnforcedStyle `and_return` ignores dynamic values returned from block ignores hash with dynamic values returned from block finds hash with only static values returned from block finds array with only static values returned from block does not register an offense for stub in a method finds static values returned from block finds constants returned from block ignores variables return from block finds empty values returned from block registers an offense for concatenated strings with no variables finds static values in a block when there are chained methods does not register an offense for a stub without return value ignores array with dynamic values returned from block ignores block returning string with interpolation finds nested constants returned from block with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::RSpec::Hook extracts name #metadata combines symbol and hash metadata (FAILED - 1) extracts hash metadata with no scope given (FAILED - 2) withstands no arguments extracts symbol metadata (FAILED - 3) extracts hash metadata (FAILED - 4) #scope interprets around(:context) { } as having scope context interprets before(:all) { } as having scope context interprets before(:each) { } as having scope each defaults to example hook with hash metadata interprets after { } as having scope each ignores other arguments to hooks interprets after(:suite) { } as having scope suite classifies :each as an example hook interprets around(:example) { } as having scope each #knowable_scope? knows the scope of a hook with no argument does not break if a hook is not given a symbol literal knows the scope of a hook with a symbol literal knows the scope of a hook with hash metadata RuboCop::Cop::RSpec::RepeatedIncludeExample with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb with mixed include methods registers an offense for repeated includes with no parameters registers an offense for repeated includes with same parameters allows includes with different parameters allows includes of different shared_examples behaves like detect repeated include examples with include method: it_behaves_like with parameters accepts repeated it_behaves_like with different parameters allows repeated it_behaves_like with block allows repeated it_behaves_like with variable arguments accepts repeated it_behaves_like with different parameters with parentheses allows repeated it_behaves_like in separate example groups registers an offense for repeated it_behaves_like registers an offense for repeated it_behaves_like with parentheses registers an offense for repeated it_behaves_like with composite literal / const parameters allows repeated it_behaves_like with passed block without parameters allows repeated it_behaves_like in separate example groups allows it_behaves_like with different names registers an offense for repeated it_behaves_like registers an offense for repeated it_behaves_like with parentheses behaves like detect repeated include examples with include method: it_should_behave_like without parameters allows it_should_behave_like with different names registers an offense for repeated it_should_behave_like with parentheses registers an offense for repeated it_should_behave_like allows repeated it_should_behave_like in separate example groups with parameters accepts repeated it_should_behave_like with different parameters accepts repeated it_should_behave_like with different parameters with parentheses allows repeated it_should_behave_like in separate example groups allows repeated it_should_behave_like with block allows repeated it_should_behave_like with passed block allows repeated it_should_behave_like with variable arguments registers an offense for repeated it_should_behave_like registers an offense for repeated it_should_behave_like with composite literal / const parameters registers an offense for repeated it_should_behave_like with parentheses behaves like detect repeated include examples with include method: include_examples with parameters registers an offense for repeated include_examples with parentheses allows repeated include_examples with passed block allows repeated include_examples with variable arguments registers an offense for repeated include_examples with composite literal / const parameters allows repeated include_examples in separate example groups accepts repeated include_examples with different parameters with parentheses allows repeated include_examples with block accepts repeated include_examples with different parameters registers an offense for repeated include_examples without parameters allows repeated include_examples in separate example groups registers an offense for repeated include_examples with parentheses registers an offense for repeated include_examples allows include_examples with different names RuboCop::Cop::RSpec::Rails::AvoidSetupHook registers an offense for `setup` does not register an offense for an unrelated `setup` call does not register an offense for `before` with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::NestedGroups flags example groups wrapped in classes flags nested example groups inside shared examples support --auto-gen-config flags nested example groups flags nested example groups defined inside `describe` flags example groups wrapped in modules counts nesting correctly when non-spec nesting with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when AllowedGroups is configured as accept nested example groups defined inside `describe`path is not counted flags nested example groups defined inside `describe`path is not counted but exceeded max when Max is configured as 2 flags two levels of nesting when configured with MaxNesting emits a deprecation warning RuboCop::Cop::RSpec::MessageChain finds `receive_message_chain` finds old `stub_chain` syntax with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::SharedContext with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb shared_examples registers an offense for shared_examples with only let does not register an offense for empty examples registers an offense for shared_examples with only subject registers an offense for shared_examples with only hooks does not register an offense for `shared_examples` with it shared_context registers an offense for shared_context with only examples does not register an offense for `shared_context` with before does not register an offense for empty contexts does not register an offense for `shared_context` with let does not register an offense for `shared_context` with subject RuboCop::Cop::RSpec::AroundBlock when Ruby 2.7 when #run is called does not register an offense when a method other than #run or #call is called registers an offense when the yielded value is unused registers an offense when used as a block arg does not register an offense when #call is called does not register an offense when passed to another method does not register an offense when the yielded value is referenced but not used registers an offense when the hook is scoped with a symbol registers an offense when passed to another method does not register an offense when #run is called does not register an offense when yielded to another block does not register an offense when used as a block arg does not register an offense when the yielded value is unused registers an offense with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when #call is called does not register an offense when no value is yielded registers an offense when two values are yielded and the first is unused registers an offense for the first argument when a method other than #run or #call is called registers an offense RuboCop::Cop::RSpec::MissingExampleGroupArgument accepts describe with an argument checks first argument of nested describe checks first argument of context checks first argument of describe accepts methods with a name like an example block with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::DescribedClass when SkipBlocks is `true` ignores violations within non-rspec blocks when EnforcedStyle is :described_class flags the use of described class with nested namespace ignores describe that do not reference to a class ignores non-matching namespace ignores non-matching namespace in usages takes class from innermost describe allows accessing constants from variables when in a nested namespace ignores class if the scope is changing flags for the use of the described class ignores non-matching namespace defined on `describe` level flags the use of described class with module ignores violations within a hook scope change flags the use of described class with namespace ignores subclasses accepts an empty block ignores if a local variable is part of the namespace flags with metadata ignores described class as string ignores violations within a class scope change ignores if `described_class` is a part of the constant with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when SkipBlocks is `false` flags violations within all blocks when EnforcedStyle is :explicit ignores describe that do not reference to a class autocorrects corresponding ignores described_class as string ignores violations within a hook scope change flags the use of the described_class ignores violations within a class scope change RuboCop::Cop::RSpec::StubbedMock flags stubbed message expectation with argument matching and a block flags stubbed message expectation with a block flags block-pass ignores `have_received` flags stubbed message expectation flags with order and count constraints (PENDING: Not implemented yet) tolerates passed arguments without parentheses flags `receive_message_chain` flags `receive_messages` flags stubbed message expectation with argument matching flags `is_expected` ignores message allowances flags `receive_message_chain` with `.and_return` flags `receive_message_chain` with a block flags `expect_any_instance_of` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::EmptyLineAfterHook with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when AllowConsecutiveOneLiners option has default value `true` registers an offense for empty line after `after` hook does not register an offense for a comment followed by an empty line does not register an offense for multiline `after` block does not register an offense for multiline `around` block does not register an offense for empty line after `after` hook flags a missing empty line before a `rubocop:disable` directive does not register an offense for empty line after `around` hook allows multiple one-liner blocks with comments flags a missing empty line after a `rubocop:enable` directive registers an offense for multiline blocks without empty line after does not register an offense for multiline `before` block flags a missing empty line before a comment does not register an offense for `before` being the latest node does not register an offense for chained one-liner `before` hooks allows chained one-liner with different hooks allows multiple one-liner blocks registers an offense for multiline blocks without empty line before flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive does not register an offense for empty line after `before` hook flags a missing empty line before a multiline comment registers an offense for empty line after `around` hook registers an offense for empty line after `before` hook when AllowConsecutiveOneLiners option `false` does not register an offense for a comment followed by an empty line does not register an offense for `before` being the latest node registers an offense for empty line after `before` hook does not register an offense for empty line after `around` hook does not register an offense for empty line after `after` hook registers an offense for multiline blocks without empty line before registers an offense for multiple one-liner blocks with comments does not register an offense for empty line after `before` hook flags a missing empty line after a `rubocop:enable` directive does not register an offense for multiline `around` block flags a missing empty line before a `rubocop:disable` directive registers an offense for empty line after `around` hook does not register an offense for multiline `after` block registers an offense for empty line after `after` hook flags a missing empty line before a multiline comment does not register an offense for multiline `before` block registers an offense for multiple one-liner same hook blocks registers an offense for multiple one-liner different hook blocks flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line before a comment registers an offense for multiline blocks without empty line after when Ruby 2.7 does not register an offense for multiline `around` block registers an offense for empty line after `around` hook RuboCop::Cop::RSpec::OverwritingSetup registers an offense for overwritten `subject` registers an offense for overwritten `let` registers an offense for `let!` overwriting `let` registers an offense for overriding an unnamed subject registers an offense for string arguments does not register an offense for dynamic names for `let` does not register an offense for overwriting in different context registers an offense for `subject!` and `let!` with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb Weirdness example at ./spec/smoke_tests/weird_rspec_spec.rb:65 has chained expectations is empty is expecting you not to raise an error example at ./spec/smoke_tests/weird_rspec_spec.rb:50 has a description too uses a matcher quotes a string weird example at ./spec/smoke_tests/weird_rspec_spec.rb:51 works is expecting you isnt a simple string example at ./spec/smoke_tests/weird_rspec_spec.rb:144 example at ./spec/smoke_tests/weird_rspec_spec.rb:190 it does a thing It does a thing should not do the thing isnt a simple string likes likes lets the word 'likes' be 'likes' examples examples lets the word 'examples' be 'examples' dynamic dynamic lets the word 'dynamic' be 'dynamic' who who lets the word 'who' be 'who' RuboCop::Cop::RSpec::DescribeMethod skips specs not having a string second argument skips methods starting with a . or # enforces non-method names ignores describes with only a class with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::InstanceVariable ignores instance variables outside of specs ignores an instance variable without describe flags an instance variable inside a describe ignores non-spec blocks ignores an instance variable inside a dynamic class flags several instance variables inside a describe flags an instance variable inside a shared example when used in a custom matcher ignores instance variables inside `RSpec::Matchers.define` flags instance variables outside `matcher` ignores instance variables inside `matcher` when configured with AssignmentOnly flags an instance variable when it is also assigned in a sibling example group ignores an instance variable when it is not assigned flags an instance variable when it is also assigned with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::Cop::RSpec::ScatteredLet flags scattered `let!`s flags `let` with proc argument doesnt flag `let!` in the middle of multiple `let`s works with heredocs flags `let` after the first different node flags `let` at different nesting levels works with comments with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::ContextWording finds shared_context without `when` at the beginning skips descriptions beginning with 'when' finds context without `when` at the beginning skips describe blocks finds context without separate `when` at the beginning skips descriptions beginning with 'when,' with symbol metadata finds context without separate `when` at the beginning with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when configured finds context without allowed prefixes at the beginning skips descriptions with allowed prefixes at the beginning when `Prefixes: [when]` and `AllowedPatterns: [patterns]` finds shared_context without `when` at the beginning and not included `/patterns/` skips descriptions beginning with 'when' skips descriptions include with 'patterns' finds context without `when` at the beginning and not included `/patterns/` with special regex characters matches the full prefix matches special characters when `AllowedPatterns: [とき$]` finds context without `とき` at the ending skips descriptions ending with 'とき' finds shared_context without `とき` at the ending with a multi-word prefix skips descriptions with allowed multi-word prefixes with mixed metadata finds context without separate `when` at the beginning with metadata hash finds context without separate `when` at the beginning RuboCop::Cop::RSpec::EmptyLineAfterExample does not register an offense for a comment followed by an empty line flags a missing empty line before a multiline comment flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line before a `rubocop:disable` directive flags mixed one-line and multi-line examples flags a missing empty line after `specify` flags one-line examples flags a missing empty line after a `rubocop:enable` directive ignores consecutive one-liners flags a missing empty line before a comment flags a missing empty line after `it` ignores when an empty line is present when AllowConsecutiveOneLiners is false ignores consecutive one-liners with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::VerifiedDoubleReference does not flag a violation when reference is not a supported style instance_double when EnforcedStyle is constant generates a todo based on the detected style does not flag a violation when using a constant reference flags a violation when using a string reference when EnforcedStyle is string does not flag a violation when using a string reference flags a violation when using a constant reference generates a todo based on the detected style stub_model when EnforcedStyle is string generates a todo based on the detected style does not flag a violation when using a string reference flags a violation when using a constant reference when EnforcedStyle is constant does not flag a violation when using a constant reference flags a violation when using a string reference generates a todo based on the detected style class_spy when EnforcedStyle is string flags a violation when using a constant reference does not flag a violation when using a string reference generates a todo based on the detected style when EnforcedStyle is constant flags a violation when using a string reference does not flag a violation when using a constant reference generates a todo based on the detected style object_spy when EnforcedStyle is string generates a todo based on the detected style does not flag a violation when using a string reference flags a violation when using a constant reference when EnforcedStyle is constant flags a violation when using a string reference generates a todo based on the detected style does not flag a violation when using a constant reference with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb instance_spy when EnforcedStyle is string does not flag a violation when using a string reference flags a violation when using a constant reference generates a todo based on the detected style when EnforcedStyle is constant does not flag a violation when using a constant reference flags a violation when using a string reference generates a todo based on the detected style class_double when EnforcedStyle is string generates a todo based on the detected style does not flag a violation when using a string reference flags a violation when using a constant reference when EnforcedStyle is constant flags a violation when using a string reference does not flag a violation when using a constant reference generates a todo based on the detected style mock_model when EnforcedStyle is string generates a todo based on the detected style flags a violation when using a constant reference does not flag a violation when using a string reference when EnforcedStyle is constant does not flag a violation when using a constant reference generates a todo based on the detected style flags a violation when using a string reference object_double when EnforcedStyle is string does not flag a violation when using a string reference flags a violation when using a constant reference generates a todo based on the detected style when EnforcedStyle is constant generates a todo based on the detected style flags a violation when using a string reference does not flag a violation when using a constant reference RuboCop::Cop::RSpec::IteratedExpectation flags `each` with multiple expectations ignores `each` with expectation on property ignore `each` when the body does not contain only expectations ignores assignments in the iteration ignores `each` with unused variable ignores `each` without expectation flags `each` with an expectation ignores `each` when there is a negative expectation flags `each` when expectation calls method with arguments with default configuration does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when Ruby 2.7 flags `each` when expectation calls method with arguments ignore `each` when the body does not contain only expectations ignores assignments in the iteration ignores `each` with expectation on property ignores `each` without expectation ignores `each` when there is a negative expectation flags `each` with an expectation flags `each` with multiple expectations RuboCop::Cop::RSpec::Dialect registers an offense for context blocks allows calling methods named context in examples registers an offense for RSpec.context blocks allows describe blocks without preferred methods allows all methods blocks with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::ImplicitExpect when EnforcedStyle is is_expected approves of is_expected.not_to approves of is_expected.to flags it { should_not } flags it { should } generates a todo based on the detected style approves of is_expected.to_not with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb when EnforcedStyle is should generates a todo based on the detected style approves of should generates a todo based on the detected style flags it { is_expected.to_not } approves of should_not flags it { is_expected.to } flags it { is_expected.not_to } RuboCop::Cop::RSpec::ExampleLength ignores non-spec blocks allows an empty example allows a short example ignores comments with CountComments enabled flags the example with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb when inspecting large examples flags the example when `CountAsOne` is not empty folds array into one line RuboCop::Cop::RSpec::ImplicitBlockExpectation flags proc flags literal lambda flags with `should` as implicit subject flags lambda in subject flags with `should_not` as implicit subject flags Proc.new ignores when there is no subject defined flags named subject ignores non-lambda subject ignores named subject with deeply nested lambda ignores normal local subject flags when subject is defined in the outer example group flags lambda in subject! with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::Be allows `be` with an argument registers an offense for `be` without an argument registers an offense for not_to be allows specific `be_` matchers with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::AlignRightLetBrace does not register an offense for let with proc argument registers offense for unaligned braces does not register an offense with empty file with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::Cop::RSpec::DescribeClass doesn't flag top level describe in an unnamed shared context flags specs with non `type` metadata supports ::RSpec.describe doesn't flag top level describe in a shared example checks highlights the first argument of a describe doesn't flag top level describe in a shared context checks describe statements after a require ignores an empty describe supports RSpec.describe ignores feature specs - also with complex options flags non-ignored `type` metadata ignores nested describe statements checks first-line describe statements ignores `type` metadata ignored by default when IgnoredMetadata is configured ignores configured metadata ignores configured `type` metadata with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb when argument is a String literal ignores class with namespace checks `camelCase` checks empty strings checks numbers at start ignores top-level constants with `::` at start ignores value constants ignores value constants with namespace ignores class without namespace RuboCop::Cop::RSpec::RepeatedDescription registers offense if same method used in docstring does not flag examples when different its block expectations are used does not flag different methods used as docstring registers offense for repeated descriptions separated by a context registers offense for repeated description in same iterator does not flag descriptions with different interpolated variables does not flag examples with same metadata and different description does not flag tests which do not contain description strings ignores repeated descriptions in a nested context registers an offense when repeated its are used does not flag examples if metadata is different ignores descriptions repeated in a shared context does not flag examples when different its arguments are used registers an offense for repeated descriptions registers offense for repeated description in different iterators does not flag different descriptions in different iterators registers offense for repeated description and metadata with default configuration does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb RuboCop::RSpec::ConfigFormatter builds a YAML dump with spacing between cops RuboCop::Cop::RSpec::FactoryBot::SyntaxMethods registers an offense for `FactoryBot.build_pair` in a shared group registers an offense for `::FactoryBot.build_pair` does not register an offense for `null_list` registers an offense for `FactoryBot.create_list` in a shared group does not register an offense for `generate` does not register an offense for `build_stubbed_list` registers an offense for `FactoryBot.null_list` registers an offense for `FactoryBot.create_pair` registers an offense for `::FactoryBot.attributes_for_list` does not register an offense for `create_pair` does not register an offense when used outside an example group registers an offense for `::FactoryBot.null` registers an offense for `FactoryBot.build_stubbed` registers an offense for `FactoryBot.create_list` does not register an offense when used outside an example group does not register an offense for `attributes_for` registers an offense for `FactoryBot.build` registers an offense for `::FactoryBot.create` registers an offense for `FactoryBot.attributes_for_list` does not register an offense when used outside an example group registers an offense for `FactoryBot.null` in a shared group registers an offense for `FactoryBot.null` does not register an offense for `build_pair` registers an offense for `::FactoryBot.generate_list` does not register an offense for `null` does not register an offense for `attributes_for_list` registers an offense for `::FactoryBot.attributes_for_pair` registers an offense for `FactoryBot.null_pair` registers an offense for `::FactoryBot.create_list` registers an offense for `FactoryBot.build` in a shared group registers an offense for `FactoryBot.generate_list` registers an offense for `FactoryBot.null_pair` in a shared group registers an offense for `FactoryBot.null_list` in a shared group registers an offense for `::FactoryBot.build_list` registers an offense for `::FactoryBot.create_pair` does not register an offense for `build_list` registers an offense for `FactoryBot.generate` does not register an offense for `create` does not register an offense when used outside an example group does not register an offense for `create_list` registers an offense for `FactoryBot.attributes_for_list` in a shared group registers an offense for `FactoryBot.build_stubbed_list` registers an offense for `FactoryBot.build_list` registers an offense for `FactoryBot.attributes_for` in a shared group registers an offense for `FactoryBot.generate` in a shared group does not register an offense when used outside an example group registers an offense for `FactoryBot.attributes_for` does not register an offense when used outside an example group does not register an offense when used outside an example group registers an offense for `::FactoryBot.build` registers an offense for `FactoryBot.build_list` in a shared group registers an offense for `FactoryBot.build_stubbed_pair` registers an offense for `FactoryBot.attributes_for_pair` registers an offense for `::FactoryBot.attributes_for` registers an offense for `FactoryBot.build_stubbed_list` in a shared group registers an offense for `::FactoryBot.build_stubbed_list` does not register an offense when used outside an example group registers an offense for `::FactoryBot.generate` registers an offense for `::FactoryBot.build_stubbed` does not register an offense for `build_stubbed` registers an offense for `FactoryBot.build_stubbed_pair` in a shared group does not register an offense when used outside an example group registers an offense for `FactoryBot.create` does not register an offense for `generate_list` registers an offense for `FactoryBot.generate_list` in a shared group registers an offense for `FactoryBot.build_pair` does not register an offense when used outside an example group does not register an offense for `build` does not register an offense when used outside an example group does not register an offense for `null_pair` does not register an offense when used outside an example group registers an offense for `FactoryBot.build_stubbed` in a shared group registers an offense for `FactoryBot.create_pair` in a shared group does not register an offense when used outside an example group does not register an offense when used outside an example group registers an offense for `::FactoryBot.build_stubbed_pair` does not register an offense for `build_stubbed_pair` registers an offense for `FactoryBot.create` in a shared group does not register an offense when used outside an example group does not register an offense for `attributes_for_pair` does not register an offense when used outside an example group registers an offense for `::FactoryBot.null_pair` registers an offense for `::FactoryBot.null_list` registers an offense for `FactoryBot.attributes_for_pair` in a shared group does not register an offense when used outside an example group with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb RuboCop::Cop::RSpec::DescribeSymbol does not flag `context :symbol` flags violations for `describe :symbol` does not flag non-Symbol arguments flags violations for `describe :symbol` with multiple arguments flags violations for `RSpec.describe :symbol` flags violations for a nested `describe` with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::EmptyLineAfterFinalLet flags a missing empty line before a comment registers an offense for silly HEREDOC offense registers an offense for empty line after let with proc argument does not register an offense for multiline let block flags a missing empty line after a `rubocop:enable` directive registers an offense for empty line after last let does not register an offense for comment followed by an empty line after let flags a missing empty line before a `rubocop:disable` directive does not register an offense for empty line after let does not register an offense for empty lines between the lets flags a missing empty line after a `rubocop:enable` directive when it is followed by a `rubocop:disable` directive flags a missing empty line before a multiline comment does not register an offense for silly HEREDOC syntax for let does not register an offense for HEREDOC for let does not register an offense for let being the latest node registers an offense for empty line after the last `let!` does not register an offense for let in tests with default configuration does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb RuboCop::RSpec::Wording rewrites "should fax the document" as "faxes the document" rewrites "should WORRY" as "WORRIES" rewrites "should WISH me luck" as "WISHES me luck" rewrites "should not return something" as "does not return something" rewrites "should worry about the future" as "worries about the future" rewrites "shouldn't return something" as "does not return something" rewrites "should alias the method" as "aliases the method" rewrites "should obey my orders" as "obeys my orders" rewrites "SHOULDN'T NOT RETAIN UPPERCASE" as "DOES NOT NOT RETAIN UPPERCASE" rewrites "should not" as "does not" rewrites "shouldn't" as "does not" rewrites "should search the internet" as "searches the internet" rewrites "shouldn't be true" as "is not true" rewrites "should really only return one item" as "really only returns one item" rewrites "should fizz" as "fizzes" rewrites "SHOULDN'T BE true" as "IS NOT true" rewrites "should buy the product" as "buys the product" rewrites "should wish me luck" as "wishes me luck" rewrites "" as "" rewrites "SHOULD RETAIN UPPERCASE" as "RETAINS UPPERCASE" rewrites "should echo the input" as "echoes the input" rewrites "should" as "" rewrites "should do nothing" as "does nothing" rewrites "should miss me" as "misses me" rewrites "should amass debt" as "amasses debt" rewrites "should pay for pizza" as "pays for pizza" rewrites "should deploy the app" as "deploys the app" rewrites "should have sweets" as "has sweets" rewrites "should return something" as "returns something" RuboCop::Cop::RSpec::VariableDefinition when EnforcedStyle is `symbols` does not register offense for symbol names registers an offense for string name does not register offense for interpolated string does not register offense for multiline string when EnforcedStyle is `strings` registers an offense for interpolated symbol registers an offense for symbol name does not register offense for string names with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb RuboCop::Cop::RSpec::ExpectChange with EnforcedStyle `method_call` ignores the usage that adheres to the enforced style ignores blocks when the method is called with arguments flags a method call on an object flags implicit block expectation syntax flags blocks that contain simple message sending ignores a variable/method flags when the receiver is a top-level constant flags when the received is a namespaced constant ignores multiple chained method calls ignores when not an expectation with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb with EnforcedStyle `block` registers an offense for change matcher with a global variable flags change matcher when receiver is a namespaced constant flags change matcher without block ignores methods called change registers an offense for change matcher with chained method call registers an offense for change matcher with an instance variable flags change matcher when receiver is a variable flags change matcher when message is a string flags change matcher when receiver is a top-level constant flags implicit block expectation syntax RuboCop::Cop::RSpec::Base when the source path contains `/spec/` registers an offense when custom patterns are specified registers offenses when the path matches a custom specified pattern with default configuration does not crash on smoke test: spec/smoke_tests/weird_rspec_spec.rb does not crash on smoke test: spec/smoke_tests/empty_spec.rb does not crash on smoke test: spec/smoke_tests/factory_bot_spec.rb does not crash on smoke test: spec/smoke_tests/no_tests_spec.rb when the file is a source file without "spec" in the name ignores the source when the path is not a specified pattern ignores the source when the path is not a spec file DSL alias configuration when `epic` is set as an alias to example group detects `describe` as an example group detects `epic` as an example group with the default config detects `describe` as an example group does not detect `epic` as an example group when the source path ends with `_spec.rb` ignores the file if it is ignored registers an offense when the source path starts with `spec/` registers an offense Pending: (Failures listed here are expected and do not affect your suite's status) 1) RuboCop::Cop::RSpec::StubbedMock flags with order and count constraints # Not implemented yet Failure/Error: super Diff: @@ -1,12 +1,6 @@ expect(foo).to receive(:bar) { 'hello world' }.ordered - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).ordered { 'hello world' } - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).with(42).ordered { 'hello world' } - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).once.with(42).ordered { 'hello world' } - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar) { 'hello world' }.once.with(42).ordered - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. expect(foo).to receive(:bar).once.with(42).and_return('hello world').ordered - ^^^^^^^^^^^ Prefer `allow` over `expect` when configuring a response. # /usr/share/rubygems-integration/all/gems/rubocop-1.39.0/lib/rubocop/rspec/expect_offense.rb:123:in 'RuboCop::RSpec::ExpectOffense#expect_offense' # ./spec/support/expect_offense.rb:17:in 'ExpectOffense#expect_offense' # ./spec/rubocop/cop/rspec/stubbed_mock_spec.rb:67:in 'block (2 levels) in ' Failures: 1) RuboCop::RSpec::Hook#metadata combines symbol and hash metadata Failure/Error: expect(metadata('before(:example, :symbol, special: true) { foo }')) .to eq('{s(:sym, :symbol)=>true, s(:sym, :special)=>true}') expected: "{s(:sym, :symbol)=>true, s(:sym, :special)=>true}" got: "{s(:sym, :symbol) => true, s(:sym, :special) => true}" (compared using ==) # ./spec/rubocop/rspec/hook_spec.rb:89:in 'block (3 levels) in ' 2) RuboCop::RSpec::Hook#metadata extracts hash metadata with no scope given Failure/Error: expect(metadata('before(special: true) { foo }')) .to eq('{s(:sym, :special)=>true}') expected: "{s(:sym, :special)=>true}" got: "{s(:sym, :special) => true}" (compared using ==) # ./spec/rubocop/rspec/hook_spec.rb:94:in 'block (3 levels) in ' 3) RuboCop::RSpec::Hook#metadata extracts symbol metadata Failure/Error: expect(metadata('before(:example, :special) { foo }')) .to eq('{s(:sym, :special)=>true}') expected: "{s(:sym, :special)=>true}" got: "{s(:sym, :special) => true}" (compared using ==) # ./spec/rubocop/rspec/hook_spec.rb:79:in 'block (3 levels) in ' 4) RuboCop::RSpec::Hook#metadata extracts hash metadata Failure/Error: expect(metadata('before(:example, special: true) { foo }')) .to eq('{s(:sym, :special)=>true}') expected: "{s(:sym, :special)=>true}" got: "{s(:sym, :special) => true}" (compared using ==) # ./spec/rubocop/rspec/hook_spec.rb:84:in 'block (3 levels) in ' Finished in 10.59 seconds (files took 1.28 seconds to load) 2550 examples, 4 failures, 1 pending Failed examples: rspec ./spec/rubocop/rspec/hook_spec.rb:87 # RuboCop::RSpec::Hook#metadata combines symbol and hash metadata rspec ./spec/rubocop/rspec/hook_spec.rb:92 # RuboCop::RSpec::Hook#metadata extracts hash metadata with no scope given rspec ./spec/rubocop/rspec/hook_spec.rb:77 # RuboCop::RSpec::Hook#metadata extracts symbol metadata rspec ./spec/rubocop/rspec/hook_spec.rb:82 # RuboCop::RSpec::Hook#metadata extracts hash metadata Randomized with seed 12877 /usr/bin/ruby3.4 -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 failed /usr/lib/ruby/vendor_ruby/gem2deb.rb:52:in `run': /usr/bin/ruby3.4 /usr/bin/gem2deb-test-runner (Gem2Deb::CommandFailed) from /usr/lib/ruby/vendor_ruby/gem2deb.rb:64:in `block in run_ruby' from /usr/lib/ruby/vendor_ruby/gem2deb.rb:87:in `maybe_crossbuild' from /usr/lib/ruby/vendor_ruby/gem2deb.rb:63:in `run_ruby' from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:189:in `run_tests_for_version' from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:176:in `block in run_tests' from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:175:in `each' from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:175:in `run_tests' from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:71:in `run_tests' from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:57:in `install' from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:163:in `install' from /usr/bin/dh_ruby:89:in `
' dh_auto_install: error: dh_ruby --install /build/reproducible-path/ruby-rubocop-rspec-2.16.0/debian/ruby-rubocop-rspec returned exit code 1 make: *** [debian/rules:7: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 -------------------------------------------------------------------------------- Build finished at 2025-12-24T20:23:18Z Finished -------- +------------------------------------------------------------------------------+ | Cleanup Wed, 24 Dec 2025 20:23:19 +0000 | +------------------------------------------------------------------------------+ Purging /build/reproducible-path Not cleaning session: cloned chroot in use E: Build failure (dpkg-buildpackage died with exit 2) +------------------------------------------------------------------------------+ | Summary Wed, 24 Dec 2025 20:23:19 +0000 | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build Type: binary Build-Space: 2580 Build-Time: 27 Distribution: unstable Fail-Stage: build Host Architecture: amd64 Install-Time: 8 Job: /home/admin/mass-rebuild/builds/3/ruby-rubocop-rspec/ruby-rubocop-rspec_2.16.0-1+rebuild1766607741.dsc Machine Architecture: amd64 Package: ruby-rubocop-rspec Package-Time: 56 Source-Version: 2.16.0-1+rebuild1766607741 Space: 2580 Status: attempted Version: 2.16.0-1+rebuild1766607741 -------------------------------------------------------------------------------- Finished at 2025-12-24T20:23:18Z Build needed 00:00:56, 2580k disk space