Diff of the two buildlogs:

--
--- b1/build.log	2025-03-11 12:11:39.816988962 +0000
+++ b2/build.log	2025-03-11 12:16:13.696715343 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Mon Apr 13 06:32:41 -12 2026
-I: pbuilder-time-stamp: 1776105161
+I: Current time: Wed Mar 12 02:11:42 +14 2025
+I: pbuilder-time-stamp: 1741695102
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -30,52 +30,84 @@
 dpkg-source: info: applying disable-randomly-failing-test.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/3539853/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/D01_modify_environment starting
+debug: Running on ionos11-amd64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Mar 11 12:12 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='amd64'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 '
-  DISTRIBUTION='unstable'
-  HOME='/root'
-  HOST_ARCH='amd64'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=amd64
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 '
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=x86_64
+  HOST_ARCH=amd64
   IFS=' 	
   '
-  INVOCATION_ID='321842de74f24c179fcf6a8fcabf9b1d'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='3539853'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=b9a3d941fa62483582949ad967f6cfac
+  LANG=C
+  LANGUAGE=et_EE:et
+  LC_ALL=C
+  MACHTYPE=x86_64-pc-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=1908774
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.EXV0D9JI/pbuilderrc_AQF1 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EXV0D9JI/b1 --logfile b1/build.log ruby-rspec-rails_7.1.1-2.dsc'
-  SUDO_GID='110'
-  SUDO_UID='105'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://213.165.73.152:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.EXV0D9JI/pbuilderrc_06sE --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.EXV0D9JI/b2 --logfile b2/build.log ruby-rspec-rails_7.1.1-2.dsc'
+  SUDO_GID=111
+  SUDO_UID=106
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://46.16.76.132:3128
 I: uname -a
-  Linux ionos5-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Mar  4  2025 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/3539853/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Mar  4 11:20 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -336,7 +368,7 @@
 Get: 195 http://deb.debian.org/debian unstable/main amd64 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B]
 Get: 196 http://deb.debian.org/debian unstable/main amd64 ruby-sqlite3 amd64 1.7.3-1 [50.0 kB]
 Get: 197 http://deb.debian.org/debian unstable/main amd64 ruby-warning all 1.3.0-1 [8968 B]
-Fetched 54.0 MB in 1s (40.9 MB/s)
+Fetched 54.0 MB in 2s (35.6 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package libpython3.13-minimal: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 ... 19783 files and directories currently installed.)
@@ -979,8 +1011,8 @@
 Setting up tzdata (2025a-2) ...
 
 Current default time zone: 'Etc/UTC'
-Local time is now:      Mon Apr 13 18:33:50 UTC 2026.
-Universal Time is now:  Mon Apr 13 18:33:50 UTC 2026.
+Local time is now:      Tue Mar 11 12:14:23 UTC 2025.
+Universal Time is now:  Tue Mar 11 12:14:23 UTC 2025.
 Run 'dpkg-reconfigure tzdata' if you wish to change it.
 
 Setting up ruby-websocket-extensions (0.1.5-2) ...
@@ -1159,7 +1191,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/ruby-rspec-rails-7.1.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../ruby-rspec-rails_7.1.1-2_source.changes
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/ruby-rspec-rails-7.1.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../ruby-rspec-rails_7.1.1-2_source.changes
 dpkg-buildpackage: info: source package ruby-rspec-rails
 dpkg-buildpackage: info: source version 7.1.1-2
 dpkg-buildpackage: info: source distribution unstable
@@ -1192,7 +1228,7 @@
 │ ruby-rspec-rails: Installing files and building extensions for ruby3.3       │
 └──────────────────────────────────────────────────────────────────────────────┘
 
-/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20260413-3551727-5a8e0n/gemspec
+/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20250312-1935984-joc31u/gemspec
 WARNING:  open-ended dependency on actionpack (>= 7.0) is not recommended
   if actionpack is semantically versioned, use:
     add_runtime_dependency "actionpack", "~> 7.0"
@@ -1210,7 +1246,7 @@
   Name: rspec-rails
   Version: 7.1.1
   File: rspec-rails-7.1.1.gem
-/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rspec-rails/usr/share/rubygems-integration/all /tmp/d20260413-3551727-5a8e0n/rspec-rails-7.1.1.gem
+/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rspec-rails/usr/share/rubygems-integration/all /tmp/d20250312-1935984-joc31u/rspec-rails-7.1.1.gem
 /build/reproducible-path/ruby-rspec-rails-7.1.1/debian/ruby-rspec-rails/usr/share/rubygems-integration/all/gems/rspec-rails-7.1.1/lib/generators/rspec.rb
 /build/reproducible-path/ruby-rspec-rails-7.1.1/debian/ruby-rspec-rails/usr/share/rubygems-integration/all/gems/rspec-rails-7.1.1/lib/generators/rspec/channel/channel_generator.rb
 /build/reproducible-path/ruby-rspec-rails-7.1.1/debian/ruby-rspec-rails/usr/share/rubygems-integration/all/gems/rspec-rails-7.1.1/lib/generators/rspec/channel/templates/channel_spec.rb.erb
@@ -1334,130 +1370,744 @@
 RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-rspec-rails-7.1.1/debian/ruby-rspec-rails/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-rspec-rails-7.1.1/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 ./spec/rspec/rails/active_model_spec.rb ./spec/rspec/rails/active_record_spec.rb ./spec/rspec/rails/assertion_adapter_spec.rb ./spec/rspec/rails/assertion_delegator_spec.rb ./spec/rspec/rails/configuration_spec.rb ./spec/rspec/rails/example/channel_example_group_spec.rb ./spec/rspec/rails/example/controller_example_group_spec.rb ./spec/rspec/rails/example/feature_example_group_spec.rb ./spec/rspec/rails/example/helper_example_group_spec.rb ./spec/rspec/rails/example/job_example_group_spec.rb ./spec/rspec/rails/example/mailbox_example_group_spec.rb ./spec/rspec/rails/example/model_example_group_spec.rb ./spec/rspec/rails/example/rails_example_group_spec.rb ./spec/rspec/rails/example/request_example_group_spec.rb ./spec/rspec/rails/example/routing_example_group_spec.rb ./spec/rspec/rails/example/system_example_group_spec.rb ./spec/rspec/rails/example/view_example_group_spec.rb ./spec/rspec/rails/fixture_file_upload_support_spec.rb ./spec/rspec/rails/fixture_support_spec.rb ./spec/rspec/rails/matchers/action_cable/have_broadcasted_to_spec.rb ./spec/rspec/rails/matchers/action_cable/have_stream_spec.rb ./spec/rspec/rails/matchers/action_mailbox_spec.rb ./spec/rspec/rails/matchers/active_job_spec.rb ./spec/rspec/rails/matchers/be_a_new_spec.rb ./spec/rspec/rails/matchers/be_new_record_spec.rb ./spec/rspec/rails/matchers/be_routable_spec.rb ./spec/rspec/rails/matchers/be_valid_spec.rb ./spec/rspec/rails/matchers/has_spec.rb ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb ./spec/rspec/rails/matchers/have_http_status_spec.rb ./spec/rspec/rails/matchers/have_rendered_spec.rb ./spec/rspec/rails/matchers/redirect_to_spec.rb ./spec/rspec/rails/matchers/relation_match_array_spec.rb ./spec/rspec/rails/matchers/route_to_spec.rb ./spec/rspec/rails/matchers/send_email_spec.rb ./spec/rspec/rails/minitest_lifecycle_adapter_spec.rb ./spec/rspec/rails/setup_and_teardown_adapter_spec.rb ./spec/rspec/rails/view_rendering_spec.rb ./spec/rspec/rails/view_spec_methods_spec.rb ./spec/rspec/rails_spec.rb --format documentation
 
-Randomized with seed 22625
+Randomized with seed 7946
 
-HaveEnqueuedMail matchers
-  have_enqueued_mail
-    passes when negated
-    passes with :twice count
-    passes when negated with 0 arguments
-    passes with at_least when enqueued emails are over the limit
-    generates a failure message with arguments
-    generates a failure message with unmatching enqueued mail jobs
-    matches based on mailer class and method name
-    passes with :thrice count
-    passes when negated with only mailer arguments
-    fails when negated and mail is enqueued
-    generates a failure message with on_queue
-    passes for mailer methods with default arguments
-    passes for mailer methods that accept arguments when the provided argument matcher is not used
-    counts only emails enqueued in the block
-    passes multiple arguments to with block
-    generates a failure message when given only mailer argument
-    passes with at_most when enqueued emails are under the limit
-    passes when deliver_later is called with a wait_until argument
-    throws descriptive error when no test adapter set
-    passes when deliver_later is called with a queue argument
-    generates a failure message with at
-    only calls with block if other conditions are met
-    ensure that the right mailer is enqueued
-    passes when negated with 0 arguments and a non-mailer job is enqueued
-    fails when too many emails are enqueued
-    passes when using the enqueue_email alias
-    passes when a mailer method is called with deliver_later
-    passes when only given mailer argument
-    generates a failure message
-    fails with with block with incorrect data
-    accepts composable matchers as an at date
-    passes when given 0 arguments
-    passes when using the have_enqueued_email alias
-    passes with provided argument matchers
-    passes with multiple emails
-    generates a failure message with at least hint
-    passes with :once count
-    generates a failure message when given 0 argument
-    passes when using the enqueue_mail alias
-    generates a failure message with at most hint
-    verifying the arguments passed match the mailer's signature
-      fails if there is a mismatch
-      when partial double verification is temporarily suspended
-        skips signature checks
-      with partial double verification disabled
-        skips signature checks
-    mailer job is unified
-      fails if the arguments do not match the mailer method's signature
-      passes when mailer is parameterized
-      matches arguments when mailer has only args
-      passes when given a global id serialized argument
-      passes when mixing parameterized and non-parameterized emails
-      passes with provided argument matchers
-      passes when using a mailer with `delivery_job` set to a sub class of `ActionMailer::DeliveryJob`
-    when parameterized
-      fails if the arguments do not match the mailer method's signature (PENDING: This version of Rails does not support parameterized mailers)
-      passes with provided argument matchers (PENDING: This version of Rails does not support parameterized mailers)
-      passes when mailer is parameterized (PENDING: This version of Rails does not support parameterized mailers)
-      passes when mixing parameterized and non-parameterized emails (PENDING: This version of Rails does not support parameterized mailers)
+RSpec::Rails::ChannelExampleGroup
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :channel`
+      for an example group defined in a file in the .\spec\channels\ directory
+        includes itself in the example group
+        allows users to override the type
+        tags groups in that directory with `type: :channel`
+        applies configured `before(:context)` hooks with `type: :channel` metadata
+      for an example group defined in a file in the ./spec/channels/ directory
+        applies configured `before(:context)` hooks with `type: :channel` metadata
+        tags groups in that directory with `type: :channel`
+        allows users to override the type
+        includes itself in the example group
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :channel`
+      for an example group defined in a file in the .\spec\channels\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :channel`
+      for an example group defined in a file in the ./spec/channels/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :channel`
 
 RSpec::Rails::ControllerExampleGroup
   includes routing matchers
   handles methods invoked via `method_missing` that use keywords
-  #controller
-    delegates named route helpers to the underlying controller
-    calls NamedRouteCollection#route_defined? when it checks that given route is defined or not
-  controller name
-    sets name as AnonymousController if the controller is abstract
-    sets the name as AnonymousController if it's anonymous
-    sets the name according to defined controller if it is not anonymous
-    sets name as AnonymousController if defined as ApplicationController
-    sets name as AnonymousController if it inherits outer group's anonymous controller
   in a namespace
     controller name
       sets the name according to the defined controller namespace if it is not anonymous
       sets the name as 'AnonymousController' if the controller is abstract
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :controller`
+      for an example group defined in a file in the ./spec/controllers/ directory
+        tags groups in that directory with `type: :controller`
+        applies configured `before(:context)` hooks with `type: :controller` metadata
+        includes itself in the example group
+        allows users to override the type
+      for an example group defined in a file in the .\spec\controllers\ directory
+        applies configured `before(:context)` hooks with `type: :controller` metadata
+        includes itself in the example group
+        allows users to override the type
+        tags groups in that directory with `type: :controller`
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :controller`
+      for an example group defined in a file in the .\spec\controllers\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :controller`
+      for an example group defined in a file in the ./spec/controllers/ directory
+        does not tag groups in that directory with `type: :controller`
+        does not include itself in the example group
+  controller name
+    sets name as AnonymousController if the controller is abstract
+    sets name as AnonymousController if it inherits outer group's anonymous controller
+    sets the name as AnonymousController if it's anonymous
+    sets name as AnonymousController if defined as ApplicationController
+    sets the name according to defined controller if it is not anonymous
   with implicit subject
     doesn't cause let definition priority to be changed
     uses the controller as the subject
   #bypass_rescue
     overrides the rescue_with_handler method on the controller to raise submitted error
+  #controller
+    calls NamedRouteCollection#route_defined? when it checks that given route is defined or not
+    delegates named route helpers to the underlying controller
   with inferred anonymous controller
     defaults to inferring anonymous controller class
     when infer_base_class_for_anonymous_controllers is false
       sets the anonymous controller class to ApplicationController
       sets the anonymous controller class to ActiveController::Base when no ApplicationController is present
     when infer_base_class_for_anonymous_controllers is true
-      infers the anonymous controller class
       infers the anonymous controller class when no ApplicationController is present
+      infers the anonymous controller class
   with explicit subject
     uses the specified subject instead of the controller
+
+RSpec::Rails::HelperExampleGroup
+  provides a controller_path based on the helper module's name
   behaves like an rspec-rails example group mixin
     adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :helper`
+      for an example group defined in a file in the .\spec\helpers\ directory
+        allows users to override the type
+        includes itself in the example group
+        tags groups in that directory with `type: :helper`
+        applies configured `before(:context)` hooks with `type: :helper` metadata
+      for an example group defined in a file in the ./spec/helpers/ directory
+        includes itself in the example group
+        applies configured `before(:context)` hooks with `type: :helper` metadata
+        tags groups in that directory with `type: :helper`
+        allows users to override the type
     when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :controller`
-      for an example group defined in a file in the .\spec\controllers\ directory
+      includes itself in example groups tagged with `type: :helper`
+      for an example group defined in a file in the .\spec\helpers\ directory
         does not include itself in the example group
-        does not tag groups in that directory with `type: :controller`
-      for an example group defined in a file in the ./spec/controllers/ directory
+        does not tag groups in that directory with `type: :helper`
+      for an example group defined in a file in the ./spec/helpers/ directory
         does not include itself in the example group
-        does not tag groups in that directory with `type: :controller`
+        does not tag groups in that directory with `type: :helper`
+  #helper
+    returns the instance of AV::Base provided by AV::TC::Behavior
+    includes ApplicationHelper
+
+send_email
+  fails for multiple matches
+  fails with a clear message
+  checks email sending by no params
+  fails with a clear message for negated version
+  with to_not
+  fails with a clear message when no emails were sent
+  checks email sending by all params together
+  with a custom negated version defined
+    works with a negated version
+    fails with a clear message
+    with a compound negated version
+      works when second matching fails
+      works when both matchings pass
+      works when first matching fails
+  with compound matching
+    works when first matching fails
+    works when both matchings pass
+    works when second matching fails
+
+route_to
+  delegates to assert_recognizes
+  provides a description
+  uses failure message from assert_recognizes
+  with shortcut syntax
+    routes with extra options
+    routes with multiple query parameters
+    routes without extra options
+    routes with nested query parameters
+    routes with one query parameter
+  with should
+    when assert_recognizes fails with an assertion failure
+      fails with message from assert_recognizes
+    when assert_recognizes fails with a routing error
+      fails with message from assert_recognizes
+    when an exception is raised
+      raises that exception
+    when assert_recognizes passes
+      passes
+  with should_not
+    when assert_recognizes fails with a routing error
+      passes
+    when assert_recognizes passes
+      fails with custom message
+    when an exception is raised
+      raises that exception
+    when assert_recognizes fails with an assertion failure
+      passes
+
+redirect_to
+  with should_not
+    when fails due to some other exception
+      raises that exception
+    when assert_redirected_to passes
+      fails with custom failure message
+    when assert_redirected_to fails
+      passes
+  with should
+    when assert_redirected_to fails
+      uses failure message from assert_redirected_to
+    when fails due to some other exception
+      raises that exception
+    when assert_redirected_to passes
+      passes
+
+RSpec::Rails::ViewRendering
+  default
+    ActionController::Base
+      does not render views in a nested group
+      does not render views
+    ActionController::Metal
+      renders views
+  #render_views
+    propagates to examples in nested groups properly
+    with false
+      overrides the global config if render_views is enabled there
+      tells examples not to render views
+    in a nested group
+      passes override to children
+      overrides the value inherited from the parent group
+      leaves the parent group as/is
+      with false
+        tells examples not to render views
+      with no args
+        tells examples to render views
+      with true
+        tells examples to render views
+    with no args
+      tells examples to render views
+    with true
+      tells examples to render views
+  when render_views? is false
+    supports manipulating view paths
+    supports manipulating view paths with arrays
+    supports manipulating view paths with resolvers
+    with empty template resolver
+      works with strings
+      works with custom resolvers
+
+be_valid matcher
+  includes the error messages for simple implementations of error messages
+  includes the validation context if provided
+  includes a brief error message when error message is wrong arity
+  includes a failure message for the negative case
+  uses a custom failure message if provided
+  includes the error messages in the failure message
+  includes a brief error message for the simplest implementation of validity
+  does not include the validation context if not provided
+
+RSpec::Rails::AssertionDelegator
+  provides a module that delegates assertion methods to an isolated class
+  does not delegate method_missing
+  delegates back to the including instance for methods the assertion module requires
+
+RSpec::Rails::SetupAndTeardownAdapter
+  .setup
+    registers teardown hooks in the order setup is received
+    registers prepend_before hooks for the Rails' setup methods
+    registers before hooks in the order setup is received
+
+should have_xxx
+  works with ActiveRecord::Associations::CollectionProxy
+
+RSpec::Rails::HelperExampleGroup::ClassMethods
+  determine_default_helper_class
+    the described is a module
+      returns the module
+    the described is a class
+      returns nil
+
+RSpec::Rails::ViewExampleGroup
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :view`
+      for an example group defined in a file in the ./spec/views/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :view`
+      for an example group defined in a file in the .\spec\views\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :view`
     when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :controller`
-      for an example group defined in a file in the .\spec\controllers\ directory
+      includes itself in example groups tagged with `type: :view`
+      for an example group defined in a file in the ./spec/views/ directory
         includes itself in the example group
-        applies configured `before(:context)` hooks with `type: :controller` metadata
+        tags groups in that directory with `type: :view`
         allows users to override the type
-        tags groups in that directory with `type: :controller`
-      for an example group defined in a file in the ./spec/controllers/ directory
+        applies configured `before(:context)` hooks with `type: :view` metadata
+      for an example group defined in a file in the .\spec\views\ directory
+        tags groups in that directory with `type: :view`
+        includes itself in the example group
+        applies configured `before(:context)` hooks with `type: :view` metadata
         allows users to override the type
+  #view
+    delegates to _view
+    is accessible to configuration-level hooks
+  #_controller_path
+    with a common _default_file_to_render
+      it returns the directory
+    with a nested _default_file_to_render
+      it returns the directory path
+  #stub_template
+    prepends an ActionView::FixtureResolver to the view path
+    caches FixtureResolver instances between example groups
+    caches FixtureResolver instances between examples
+  #template
+    delegates to #view
+    is deprecated
+  #render
+    given a hash
+      sends the hash as the first arg to render
+    given no input
+      converts the filename components into render options
+      converts the filename without format into render options
+      converts the filename with variant into render options
+      sends render(:template => (described file)) to the view
+    given a string
+      sends string as the first arg to render
+  routes helpers collides with asset helpers
+    uses routes helpers
+  #params
+    delegates to the controller
+  automatic inclusion of helpers
+    operates normally when the view has no path and there is a Helper class defined
+    includes the namespaced helper with the same name
+    includes the helper with the same name
+    operates normally when no helper with the same name exists
+    no application helper exists
+      operates normally
+    application helper exists
+      includes the application helper
+
+ActiveRecord support
+  with partial double verification disabled
+    allows you to stub abstract classes
+    allows you to stub `ActiveRecord::Base`
+  with partial double verification enabled
+    allows you to stub `ActiveRecord::Base`
+    allows you to stub abstract classes
+
+RSpec::Rails::FixtureSupport
+  handles namespaced fixtures
+  with use_transactional_fixtures set to false
+    still supports fixture_path/fixture_paths
+  with use_transactional_tests set to false
+    does not wrap the test in a transaction
+  with use_transactional_tests set to true
+    works with #uses_transaction helper
+
+ActiveSupport::Relation match_array matcher
+  fails if the scope encompasses fewer records than on the right hand side
+  fails if the scope encompasses more records than on the right hand side
+  verifies that the scope returns the records on the right hand side, regardless of order
+
+RSpec::Rails::ModelExampleGroup
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :model`
+      for an example group defined in a file in the ./spec/models/ directory
+        tags groups in that directory with `type: :model`
         includes itself in the example group
-        applies configured `before(:context)` hooks with `type: :controller` metadata
-        tags groups in that directory with `type: :controller`
+        allows users to override the type
+        applies configured `before(:context)` hooks with `type: :model` metadata
+      for an example group defined in a file in the .\spec\models\ directory
+        allows users to override the type
+        tags groups in that directory with `type: :model`
+        applies configured `before(:context)` hooks with `type: :model` metadata
+        includes itself in the example group
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :model`
+      for an example group defined in a file in the ./spec/models/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :model`
+      for an example group defined in a file in the .\spec\models\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :model`
+
+have_rendered
+  given a hash
+    delegates to assert_template
+  given a string
+    delegates to assert_template
+  with should_not
+    when assert_template fails
+      passes
+    when fails due to some other exception
+      raises that exception
+    when assert_template passes
+      fails with custom failure message
+    when fails with a redirect
+      gives informative error message
+      with a badly formatted error message
+        falls back to something informative
+  given a symbol
+    converts to_s and delegates to assert_template
+  with should
+    when fails due to some other exception
+      raises that exception
+    when assert_template passes
+      passes
+    when assert_template fails
+      uses failure message from assert_template
+
+RSpec::Rails
+  has no malformed whitespace
+
+RSpec::Rails::FixtureFileUploadSupport
+  with fixture path not set
+    resolves fixture using relative path
+  with fixture paths set in config
+    resolves supports `Pathname` objects
+    resolves fixture file
+  with fixture path set in spec
+    resolves fixture file
+
+have_stream matchers
+  have_stream_from
+    raises when no subscription started
+    passes
+    raises ArgumentError when no subscription passed to expect
+    fails with message
+    with composable matcher
+      passes
+      fails with message
+    with negated form
+      fails with message
+      passes
+  have_stream_for
+    fails with message
+    raises ArgumentError when no subscription passed to expect
+    raises when no subscription started
+    passes
+    with negated form
+      fails with message
+      passes
+  have_streams
+    does not allow usage
+    raises when no subscription started
+    with negated form
+      fails with message
+      passes with negated form
+      raises ArgumentError when no subscription passed to expect
+      raises when no subscription started
+
+RSpec::Rails::RoutingExampleGroup
+  named routes
+    delegates them to the route_set
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :routing`
+      for an example group defined in a file in the .\spec\routing\ directory
+        tags groups in that directory with `type: :routing`
+        applies configured `before(:context)` hooks with `type: :routing` metadata
+        allows users to override the type
+        includes itself in the example group
+      for an example group defined in a file in the ./spec/routing/ directory
+        applies configured `before(:context)` hooks with `type: :routing` metadata
+        tags groups in that directory with `type: :routing`
+        allows users to override the type
+        includes itself in the example group
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :routing`
+      for an example group defined in a file in the ./spec/routing/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :routing`
+      for an example group defined in a file in the .\spec\routing\ directory
+        does not tag groups in that directory with `type: :routing`
+        does not include itself in the example group
+
+RSpec::Rails::JobExampleGroup
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :job`
+      for an example group defined in a file in the ./spec/jobs/ directory
+        allows users to override the type
+        tags groups in that directory with `type: :job`
+        includes itself in the example group
+        applies configured `before(:context)` hooks with `type: :job` metadata
+      for an example group defined in a file in the .\spec\jobs\ directory
+        includes itself in the example group
+        allows users to override the type
+        applies configured `before(:context)` hooks with `type: :job` metadata
+        tags groups in that directory with `type: :job`
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :job`
+      for an example group defined in a file in the ./spec/jobs/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :job`
+      for an example group defined in a file in the .\spec\jobs\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :job`
+
+RSpec::Rails::ViewSpecMethods
+  .add_extra_params_accessors_to
+    when accessors are not yet defined
+      adds them as instance methods
+      the added #extra_params reader
+        raises an error when a user tries to mutate it
+    when accessors are already defined
+      does not redefine them
+  .remove_extra_params_accessors_from
+    when accessors are defined
+      removes them
+    when accessors are not defined
+      does nothing
+
+Configuration
+  deprecates fixture_path =
+  adds 'lib/rspec/rails' to the backtrace exclusions
+  metadata `type: :helper` sets up helper example groups
+  has a default #file_fixture_path of 'spec/fixtures/files'
+  fixture support is included with metadata `:use_fixtures`
+  metadata `type: :routing` sets up routing example groups
+  metadata `type: :view` sets up view example groups
+  adds 'vendor/' to the backtrace exclusions
+  metadata `type: :feature` sets up feature example groups
+  metadata `type: :mailer` sets up mailer example groups
+  metadata `type: :request` sets up request example groups
+  metadata `type: :model` sets up model example groups
+  deprecates fixture_path
+  #filter_rails_from_backtrace! adds exclusion patterns for rails gems
+  fixture support is included with metadata `:use_fixtures` and deprecated fixture_path configured
+  fixture support is included with metadata `:use_fixtures` and fixture_paths configured
+  metadata `type: :controller` sets up controller example groups
+  adds settings
+    `#infer_base_class_for_anonymous_controllers?` is `true` by default
+    `#rendering_views` is `nil` by default
+    `#global_fixtures?` is `false` by default
+    `#render_views?` is false by default
+    `#infer_base_class_for_anonymous_controllers` is `true` by default
+    `#use_transactional_fixtures` is `nil` by default
+    `#infer_base_class_for_anonymous_controllers?` is `true` by default
+    `#use_instantiated_fixtures?` is `false` by default
+    `#use_transactional_examples` is an alias for `use_transactional_fixtures`
+    `#use_transactional_fixtures?` is `false` by default
+    `#use_transactional_fixtures?` is `false` by default
+    `#use_instantiated_fixtures?` is `false` by default
+    `#global_fixtures` is `nil` by default
+    `#fixture_paths` is `nil` by default
+    `#global_fixtures?` is `false` by default
+    `#fixture_paths?` is `false` by default
+    `#fixture_paths?` is `false` by default
+    `#use_instantiated_fixtures` is `nil` by default
+    `#rendering_views?` is `false` by default
+    `#render_views` sets `render_views?` to `true`
+    `#rendering_views?` is `false` by default
+    `#fixture_paths=`
+      sets `fixture_paths` to the provided value
+      changes `fixture_paths?` to the true for a truthy value
+    `#rendering_views=`
+      changes `rendering_views?` to the true for a truthy value
+      sets `rendering_views` to the provided value
+    `#use_instantiated_fixtures=`
+      changes `use_instantiated_fixtures?` to the true for a truthy value
+      sets `use_instantiated_fixtures` to the provided value
+    `#infer_base_class_for_anonymous_controllers=`
+      changes `infer_base_class_for_anonymous_controllers?` to the true for a truthy value
+      sets `infer_base_class_for_anonymous_controllers` to the provided value
+    `#global_fixtures=`
+      changes `global_fixtures?` to the true for a truthy value
+      sets `global_fixtures` to the provided value
+    `#use_transactional_fixtures=`
+      sets `use_transactional_fixtures` to the provided value
+      changes `use_transactional_fixtures?` to the true for a truthy value
+    `#render_views=`
+      sets `render_views?` to the truthiness of the provided value
+  clears ActionMailer::Base::Deliveries after each example
+    only has deliveries from this test (e.g. from email_2@example.com) (PENDING: Temporarily skipped with xit)
+    only has deliveries from this test (e.g. from email@example.com) (PENDING: Temporarily skipped with xit)
+  #infer_spec_type_from_file_location!
+    sets the type to `:routing` for file path `spec/routing`
+    sets the type to `:view` for file path `spec/views`
+    sets the type to `:request` for file path `spec/api`
+    sets the type to `:request` for file path `spec/requests`
+    sets the type to `:controller` for file path `spec/controllers`
+    sets the type to `:request` for file path `spec/integration`
+    sets the type to `:model` for file path `spec/models`
+    sets the type to `:helper` for file path `spec/helpers`
+    sets the type to `:feature` for file path `spec/features`
+    sets the type to `:mailer` for file path `spec/mailers`
+
+RSpec::Rails::FeatureExampleGroup
+  includes Rails route helpers
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :feature`
+      for an example group defined in a file in the .\spec\features\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :feature`
+      for an example group defined in a file in the ./spec/features/ directory
+        does not tag groups in that directory with `type: :feature`
+        does not include itself in the example group
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :feature`
+      for an example group defined in a file in the ./spec/features/ directory
+        allows users to override the type
+        includes itself in the example group
+        applies configured `before(:context)` hooks with `type: :feature` metadata
+        tags groups in that directory with `type: :feature`
+      for an example group defined in a file in the .\spec\features\ directory
+        tags groups in that directory with `type: :feature`
+        includes itself in the example group
+        applies configured `before(:context)` hooks with `type: :feature` metadata
+        allows users to override the type
+  when nested inside a request example group
+    includes Rails route helpers
+  #visit
+    raises an error informing about missing Capybara
+    is resistant to load order errors
+
+HaveEnqueuedMail matchers
+  have_enqueued_mail
+    ensure that the right mailer is enqueued
+    only calls with block if other conditions are met
+    passes when using the have_enqueued_email alias
+    throws descriptive error when no test adapter set
+    fails with with block with incorrect data
+    generates a failure message when given 0 argument
+    passes with multiple emails
+    passes when deliver_later is called with a wait_until argument
+    generates a failure message with unmatching enqueued mail jobs
+    matches based on mailer class and method name
+    passes multiple arguments to with block
+    accepts composable matchers as an at date
+    generates a failure message when given only mailer argument
+    passes for mailer methods that accept arguments when the provided argument matcher is not used
+    passes with provided argument matchers
+    passes with :twice count
+    passes when negated with only mailer arguments
+    passes for mailer methods with default arguments
+    passes when negated
+    passes when negated with 0 arguments
+    passes with at_least when enqueued emails are over the limit
+    passes when using the enqueue_email alias
+    passes with :once count
+    passes when negated with 0 arguments and a non-mailer job is enqueued
+    passes when only given mailer argument
+    generates a failure message with on_queue
+    fails when negated and mail is enqueued
+    passes when given 0 arguments
+    passes with at_most when enqueued emails are under the limit
+    generates a failure message with at least hint
+    generates a failure message
+    passes when deliver_later is called with a queue argument
+    passes when a mailer method is called with deliver_later
+    generates a failure message with at
+    counts only emails enqueued in the block
+    passes when using the enqueue_mail alias
+    generates a failure message with at most hint
+    generates a failure message with arguments
+    fails when too many emails are enqueued
+    passes with :thrice count
+    when parameterized
+      fails if the arguments do not match the mailer method's signature (PENDING: This version of Rails does not support parameterized mailers)
+      passes with provided argument matchers (PENDING: This version of Rails does not support parameterized mailers)
+      passes when mixing parameterized and non-parameterized emails (PENDING: This version of Rails does not support parameterized mailers)
+      passes when mailer is parameterized (PENDING: This version of Rails does not support parameterized mailers)
+    mailer job is unified
+      passes with provided argument matchers
+      passes when mailer is parameterized
+      matches arguments when mailer has only args
+      passes when given a global id serialized argument
+      fails if the arguments do not match the mailer method's signature
+      passes when mixing parameterized and non-parameterized emails
+      passes when using a mailer with `delivery_job` set to a sub class of `ActionMailer::DeliveryJob`
+    verifying the arguments passed match the mailer's signature
+      fails if there is a mismatch
+      with partial double verification disabled
+        skips signature checks
+      when partial double verification is temporarily suspended
+        skips signature checks
+
+RSpec::Rails::RailsExampleGroup
+  does not leak context between example groups
+  supports tagged_logger
+  will not leak ActiveSupport::CurrentAttributes between examples
+
+be_new_record
+  a new record
+    passes
+    fails with custom failure message
+  a persisted record
+    fails
+    fails with custom failure message
+
+RSpec::Rails::SystemExampleGroup
+  #take_screenshot
+    handles Rails calling metadata (PENDING: Temporarily skipped with xit)
+  #metadata
+    fakes out the rails expected method
+    still raises correctly if you use it for something else
+  #driver
+    sets :rack_test driver using by before_action
+    uses :selenium_chrome_headless driver by default
+    calls :driven_by method only once
+  #after
+    sets the :extra_failure_lines metadata to an array of STDOUT lines (PENDING: Temporarily skipped with xit)
+  hook order
+    calls Capybara.reset_sessions (TestUnit after_teardown) after any after hooks
+  #method_name
+    handles long method names which include unicode characters
+    converts special characters to underscores
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :system`
+      for an example group defined in a file in the ./spec/system/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :system`
+      for an example group defined in a file in the .\spec\system\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :system`
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :system`
+      for an example group defined in a file in the .\spec\system\ directory
+        applies configured `before(:context)` hooks with `type: :system` metadata
+        tags groups in that directory with `type: :system`
+        allows users to override the type
+        includes itself in the example group
+      for an example group defined in a file in the ./spec/system/ directory
+        applies configured `before(:context)` hooks with `type: :system` metadata
+        includes itself in the example group
+        allows users to override the type
+        tags groups in that directory with `type: :system`
+
+RSpec::Rails::MailboxExampleGroup
+  #have_failed
+    raises on unfailed mail
+    does not raise otherwise
+  #process
+    sends mail to the mailbox
+  #have_bounced
+    raises on unbounced mail
+    does not raise otherwise
+  behaves like an rspec-rails example group mixin
+    adds does not add `:type` metadata on inclusion
+    when `infer_spec_type_from_file_location!` is not configured
+      includes itself in example groups tagged with `type: :mailbox`
+      for an example group defined in a file in the .\spec\mailboxes\ directory
+        does not tag groups in that directory with `type: :mailbox`
+        does not include itself in the example group
+      for an example group defined in a file in the ./spec/mailboxes/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :mailbox`
+    when `infer_spec_type_from_file_location!` is configured
+      includes itself in example groups tagged with `type: :mailbox`
+      for an example group defined in a file in the ./spec/mailboxes/ directory
+        tags groups in that directory with `type: :mailbox`
+        applies configured `before(:context)` hooks with `type: :mailbox` metadata
+        includes itself in the example group
+        allows users to override the type
+      for an example group defined in a file in the .\spec\mailboxes\ directory
+        tags groups in that directory with `type: :mailbox`
+        applies configured `before(:context)` hooks with `type: :mailbox` metadata
+        includes itself in the example group
+        allows users to override the type
+  #have_been_delivered
+    raises on undelivered mail
+    does not raise otherwise
 
 be_a_new matcher
   existing record
-    wrong class
-      fails
     right class
       fails
+    wrong class
+      fails
   new record
     right class
       passes
@@ -1465,291 +2115,184 @@
       fails
   #with
     wrong class and existing record
-      all attributes same
-        fails
       one attribute value not the same
         fails
+      all attributes same
+        fails
       no attributes same
         fails
     right class and new record
+      all attributes same
+        passes
+      no attributes same
+        fails
+      one attribute same
+        passes
+      one attribute value not the same
+        fails
       with composable matchers
         two attributes are composable matchers
-          only one matcher present in actual
-            fails
           both matchers present in actual
             passes
+          only one matcher present in actual
+            fails
         one attribute is a composable matcher
           passes
           fails
           matcher is wrong type
             fails
-      one attribute value not the same
-        fails
-      one attribute same
-        passes
-      all attributes same
-        passes
-      no attributes same
-        fails
-
-redirect_to
-  with should_not
-    when assert_redirected_to passes
-      fails with custom failure message
-    when assert_redirected_to fails
-      passes
-    when fails due to some other exception
-      raises that exception
-  with should
-    when assert_redirected_to passes
-      passes
-    when assert_redirected_to fails
-      uses failure message from assert_redirected_to
-    when fails due to some other exception
-      raises that exception
-
-ActiveJob matchers
-  have_enqueued_job
-    works with time offsets
-    generates failure message with all provided options
-    passes with provided queue name as string
-    passes with :once count
-    passes with :twice count
-    ignores undeserializable arguments
-    passes with provided arguments
-    passes with job name
-    warns when time offsets are inprecise
-    passes with ActiveSupport::TimeWithZone
-    passes when using alias
-    has an enqueued job when providing at and there is no wait
-    passes with :thrice count
-    passes with at_least count when enqueued jobs are over limit
-    fails when negated and several jobs enqueued
-    has an enqueued job when not providing at and there is a wait
-    passes with Time
-    passes with provided priority number as string
-    passes with multiple jobs
-    fails when too many jobs enqueued
-    fails when the priority wan't set
-    raises ArgumentError when no Proc passed to expect
-    passes multiple arguments to with block
-    fails when job is not enqueued
-    passes deserialized arguments to with block
-    has an enqueued job when providing at of :no_wait and there is no wait
-    reports correct number in fail error message
-    passes with provided queue name as symbol
-    passes with provided priority number as integer
-    only calls with block if other conditions are met
-    passes with default jobs count (exactly one)
-    fails with with block with incorrect data
-    accepts matchers as arguments to at_priority (PENDING: No reason given)
-    accepts composable matchers as an at date
-    generates failure message with at least hint
-    throws descriptive error when no test adapter set
-    passes with provided at date
-    passes with provided at time
-    fails when the priority was set to a different value
-    generates failure message with at most hint
-    passes with at_most count when enqueued jobs are under limit
-    passes when negated
-    does not have an enqueued job when providing at of :no_wait and there is a wait
-    passes with provided arguments containing global id object
-    counts only jobs enqueued in block
-    fails when negated and job is enqueued
-    passes with provided argument matchers
-    when job is retried
-      passes with reenqueued job
-    when previously enqueued jobs were performed
-      counts newly enqueued jobs
-    verifying the arguments passed match the job's signature
-      fails if there is a keyword/positional arguments mismatch
-      fails if there is an arity mismatch
-      without rspec-mocks loaded
-        skips signature checks
-      with partial double verification disabled
-        skips signature checks
-      when partial double verification is temporarily suspended
-        skips signature checks
-  have_been_performed
-    counts all performed jobs
-    passes with default jobs count (exactly one)
-    fails when job is not performed
-    passes when negated
-  have_performed_job
-    passes with :twice count
-    passes with provided queue name as string
-    passes with :once count
-    generates failure message with all provided options
-    passes with provided arguments containing global id object
-    fails when negated and job is performed
-    passes with multiple jobs
-    fails when too many jobs performed
-    passes with at_most count when performed jobs are under limit
-    passes with default jobs count (exactly one)
-    reports correct number in fail error message
-    passes with job name
-    generates failure message with at least hint
-    passes with provided arguments
-    passes with provided argument matchers
-    fails with with block with incorrect data
-    only calls with block if other conditions are met
-    passes with provided queue name as symbol
-    throws descriptive error when no test adapter set
-    raises ArgumentError when no Proc passed to expect
-    passes multiple arguments to with block
-    generates failure message with at most hint
-    passes deserialized arguments to with block
-    passes with at_least count when performed jobs are over limit
-    fails when job is not performed
-    passes when negated
-    passes with :thrice count
-    passes with provided at date
-    counts only jobs performed in block
-  have_been_enqueued
-    fails when negated and several jobs enqueued
-    fails when job is not enqueued
-    accepts composable matchers as an at date
-    passes with default jobs count (exactly one)
-    counts all enqueued jobs
-    passes when negated
-    verifying the arguments passed match the job's signature
-      fails if there is an arity mismatch
-      fails if there is a keyword/positional arguments mismatch
-      when partial double verification is temporarily suspended
-        skips signature checks
-      with partial double verification disabled
-        skips signature checks
-  Active Job test helpers
-    does not raise that "assert_nothing_raised" is undefined
 
 have_http_status
-  with general status code group :missing
-    behaves like status code matcher
-      describes behaves like status code matcher
-      has a negated failure message reporting the expected and actual status codes
-      has a failure message reporting the expected and actual status codes
-      matching a response
-        returns false for a response with a different code
-        returns true for a response with code
+  http status :server_error
     behaves like supports different response instances
       has a failure message reporting it was given another type
-      returns false given another type
       has a negated failure message reporting it was given another type
+      returns false given another type
       given a Rack::MockResponse
         returns true for a response with the same code
+      given something that acts as a Capybara::Session
+        returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
       given an ActionDispatch::Response
         returns true for a response with the same code
-      given something that acts as a Capybara::Session
-        returns true for a response with the same code
-  with general status code group :not_found
+  with general status code group :server_error
+    behaves like status code matcher
+      has a negated failure message reporting the expected and actual status codes
+      has a failure message reporting the expected and actual status codes
+      describes behaves like status code matcher
+      matching a response
+        returns true for a response with code
+        returns false for a response with a different code
     behaves like supports different response instances
-      returns false given another type
       has a negated failure message reporting it was given another type
       has a failure message reporting it was given another type
+      returns false given another type
       given something that acts as a Capybara::Session
         returns true for a response with the same code
-      given a Rack::MockResponse
-        returns true for a response with the same code
       given an ActionDispatch::Response
         returns true for a response with the same code
+      given a Rack::MockResponse
+        returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
+  with general status code group :error
     behaves like status code matcher
       describes behaves like status code matcher
-      has a negated failure message reporting the expected and actual status codes
       has a failure message reporting the expected and actual status codes
+      has a negated failure message reporting the expected and actual status codes
       matching a response
-        returns false for a response with a different code
         returns true for a response with code
-  with deprecated rack status codes
-    supports the original names
-  with a symbolic status
-    has a failure message reporting the expected and actual statuses
-    describes responding by the symbolic and associated numeric status code
-    has a negated failure message reporting the expected status code
-    raises an ArgumentError
-    matching a response
-      returns true for a response with the equivalent code
-      returns false for a response with a different code
+        returns false for a response with a different code
     behaves like supports different response instances
       has a failure message reporting it was given another type
-      returns false given another type
       has a negated failure message reporting it was given another type
-      given something that acts as a Capybara::Session
-        returns true for a response with the same code
-      given an ActionDispatch::Response
+      returns false given another type
+      given a Rack::MockResponse
         returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
-      given a Rack::MockResponse
+      given something that acts as a Capybara::Session
+        returns true for a response with the same code
+      given an ActionDispatch::Response
         returns true for a response with the same code
   with a nil status
     raises an ArgumentError
-  http status :success
-    behaves like does not use deprecated methods for Rails 5.2+
-      does not use deprecated method for Rails >= 5.2
   http status :missing
     behaves like does not use deprecated methods for Rails 5.2+
       does not use deprecated method for Rails >= 5.2
-  with general status code group :success
+  with a symbolic status
+    has a negated failure message reporting the expected status code
+    raises an ArgumentError
+    has a failure message reporting the expected and actual statuses
+    describes responding by the symbolic and associated numeric status code
     behaves like supports different response instances
-      has a failure message reporting it was given another type
-      has a negated failure message reporting it was given another type
       returns false given another type
+      has a negated failure message reporting it was given another type
+      has a failure message reporting it was given another type
+      given an ActionDispatch::Response
+        returns true for a response with the same code
+      given a Rack::MockResponse
+        returns true for a response with the same code
+      given something that acts as a Capybara::Session
+        returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
+    matching a response
+      returns false for a response with a different code
+      returns true for a response with the equivalent code
+  with general status code group :redirect
+    behaves like supports different response instances
+      has a failure message reporting it was given another type
+      has a negated failure message reporting it was given another type
+      returns false given another type
       given something that acts as a Capybara::Session
         returns true for a response with the same code
+      given an ActionDispatch::Response
+        returns true for a response with the same code
       given a Rack::MockResponse
         returns true for a response with the same code
-      given an ActionDispatch::Response
+      given an ActionDispatch::TestResponse
         returns true for a response with the same code
     behaves like status code matcher
-      describes behaves like status code matcher
-      has a negated failure message reporting the expected and actual status codes
-      has a failure message reporting the expected and actual status codes
-      matching a response
-        returns false for a response with a different code
-        returns true for a response with code
-  with general status code group :successful
-    behaves like status code matcher
       has a negated failure message reporting the expected and actual status codes
       describes behaves like status code matcher
       has a failure message reporting the expected and actual status codes
       matching a response
-        returns false for a response with a different code
         returns true for a response with code
+        returns false for a response with a different code
+  http status :error
+    behaves like does not use deprecated methods for Rails 5.2+
+      does not use deprecated method for Rails >= 5.2
+  http status :not_found
     behaves like supports different response instances
-      returns false given another type
       has a negated failure message reporting it was given another type
       has a failure message reporting it was given another type
-      given something that acts as a Capybara::Session
+      returns false given another type
+      given a Rack::MockResponse
         returns true for a response with the same code
       given an ActionDispatch::Response
         returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
-      given a Rack::MockResponse
+      given something that acts as a Capybara::Session
         returns true for a response with the same code
-  http status :server_error
+  with general status code group :success
+    behaves like status code matcher
+      has a failure message reporting the expected and actual status codes
+      describes behaves like status code matcher
+      has a negated failure message reporting the expected and actual status codes
+      matching a response
+        returns true for a response with code
+        returns false for a response with a different code
     behaves like supports different response instances
+      has a failure message reporting it was given another type
       returns false given another type
       has a negated failure message reporting it was given another type
-      has a failure message reporting it was given another type
+      given an ActionDispatch::TestResponse
+        returns true for a response with the same code
       given a Rack::MockResponse
         returns true for a response with the same code
+      given an ActionDispatch::Response
+        returns true for a response with the same code
+      given something that acts as a Capybara::Session
+        returns true for a response with the same code
+  with deprecated rack status codes
+    supports the original names
+  http status :successful
+    behaves like supports different response instances
+      has a negated failure message reporting it was given another type
+      returns false given another type
+      has a failure message reporting it was given another type
       given something that acts as a Capybara::Session
         returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
       given an ActionDispatch::Response
         returns true for a response with the same code
-  with a numeric status code
-    describes responding with the numeric status code
-    has a failure message reporting the expected and actual status codes
-    has a negated failure message reporting the expected status code
+      given a Rack::MockResponse
+        returns true for a response with the same code
+  with general status code group :successful
     behaves like supports different response instances
       returns false given another type
       has a failure message reporting it was given another type
@@ -1758,26 +2301,30 @@
         returns true for a response with the same code
       given something that acts as a Capybara::Session
         returns true for a response with the same code
-      given an ActionDispatch::Response
-        returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
-    matching a response
-      returns false for a response with a different code
-      returns true for a response with the same code
-  with general status code group :error
+      given an ActionDispatch::Response
+        returns true for a response with the same code
+    behaves like status code matcher
+      has a negated failure message reporting the expected and actual status codes
+      has a failure message reporting the expected and actual status codes
+      describes behaves like status code matcher
+      matching a response
+        returns true for a response with code
+        returns false for a response with a different code
+  with general status code group :not_found
     behaves like supports different response instances
-      has a negated failure message reporting it was given another type
-      returns false given another type
       has a failure message reporting it was given another type
+      returns false given another type
+      has a negated failure message reporting it was given another type
       given something that acts as a Capybara::Session
         returns true for a response with the same code
+      given an ActionDispatch::TestResponse
+        returns true for a response with the same code
       given a Rack::MockResponse
         returns true for a response with the same code
       given an ActionDispatch::Response
         returns true for a response with the same code
-      given an ActionDispatch::TestResponse
-        returns true for a response with the same code
     behaves like status code matcher
       describes behaves like status code matcher
       has a negated failure message reporting the expected and actual status codes
@@ -1785,884 +2332,389 @@
       matching a response
         returns false for a response with a different code
         returns true for a response with code
-  http status :successful
+  with general status code group :missing
     behaves like supports different response instances
+      returns false given another type
       has a negated failure message reporting it was given another type
       has a failure message reporting it was given another type
-      returns false given another type
       given an ActionDispatch::Response
         returns true for a response with the same code
-      given a Rack::MockResponse
-        returns true for a response with the same code
-      given an ActionDispatch::TestResponse
-        returns true for a response with the same code
       given something that acts as a Capybara::Session
         returns true for a response with the same code
-  with general status code group :server_error
-    behaves like supports different response instances
-      has a negated failure message reporting it was given another type
-      returns false given another type
-      has a failure message reporting it was given another type
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
-      given an ActionDispatch::Response
-        returns true for a response with the same code
       given a Rack::MockResponse
         returns true for a response with the same code
-      given something that acts as a Capybara::Session
-        returns true for a response with the same code
     behaves like status code matcher
-      has a negated failure message reporting the expected and actual status codes
       describes behaves like status code matcher
       has a failure message reporting the expected and actual status codes
+      has a negated failure message reporting the expected and actual status codes
       matching a response
-        returns true for a response with code
         returns false for a response with a different code
-  http status :error
+        returns true for a response with code
+  http status :success
     behaves like does not use deprecated methods for Rails 5.2+
       does not use deprecated method for Rails >= 5.2
-  http status :not_found
+  with a numeric status code
+    has a failure message reporting the expected and actual status codes
+    has a negated failure message reporting the expected status code
+    describes responding with the numeric status code
+    matching a response
+      returns true for a response with the same code
+      returns false for a response with a different code
     behaves like supports different response instances
       returns false given another type
-      has a negated failure message reporting it was given another type
       has a failure message reporting it was given another type
-      given something that acts as a Capybara::Session
-        returns true for a response with the same code
-      given an ActionDispatch::Response
-        returns true for a response with the same code
-      given an ActionDispatch::TestResponse
-        returns true for a response with the same code
+      has a negated failure message reporting it was given another type
       given a Rack::MockResponse
         returns true for a response with the same code
-  with general status code group :redirect
-    behaves like supports different response instances
-      returns false given another type
-      has a failure message reporting it was given another type
-      has a negated failure message reporting it was given another type
       given something that acts as a Capybara::Session
         returns true for a response with the same code
-      given a Rack::MockResponse
-        returns true for a response with the same code
       given an ActionDispatch::Response
         returns true for a response with the same code
       given an ActionDispatch::TestResponse
         returns true for a response with the same code
-    behaves like status code matcher
-      has a failure message reporting the expected and actual status codes
-      has a negated failure message reporting the expected and actual status codes
-      describes behaves like status code matcher
-      matching a response
-        returns true for a response with code
-        returns false for a response with a different code
 
-Configuration
-  fixture support is included with metadata `:use_fixtures`
-  fixture support is included with metadata `:use_fixtures` and deprecated fixture_path configured
-  deprecates fixture_path =
-  metadata `type: :controller` sets up controller example groups
-  fixture support is included with metadata `:use_fixtures` and fixture_paths configured
-  metadata `type: :helper` sets up helper example groups
-  #filter_rails_from_backtrace! adds exclusion patterns for rails gems
-  metadata `type: :mailer` sets up mailer example groups
-  adds 'vendor/' to the backtrace exclusions
-  adds 'lib/rspec/rails' to the backtrace exclusions
-  metadata `type: :feature` sets up feature example groups
-  metadata `type: :model` sets up model example groups
-  metadata `type: :routing` sets up routing example groups
-  has a default #file_fixture_path of 'spec/fixtures/files'
-  metadata `type: :view` sets up view example groups
-  deprecates fixture_path
-  metadata `type: :request` sets up request example groups
-  #infer_spec_type_from_file_location!
-    sets the type to `:helper` for file path `spec/helpers`
-    sets the type to `:controller` for file path `spec/controllers`
-    sets the type to `:routing` for file path `spec/routing`
-    sets the type to `:request` for file path `spec/integration`
-    sets the type to `:mailer` for file path `spec/mailers`
-    sets the type to `:feature` for file path `spec/features`
-    sets the type to `:request` for file path `spec/api`
-    sets the type to `:view` for file path `spec/views`
-    sets the type to `:model` for file path `spec/models`
-    sets the type to `:request` for file path `spec/requests`
-  adds settings
-    `#global_fixtures` is `nil` by default
-    `#fixture_paths` is `nil` by default
-    `#use_instantiated_fixtures?` is `false` by default
-    `#use_transactional_fixtures?` is `false` by default
-    `#use_transactional_fixtures?` is `false` by default
-    `#fixture_paths?` is `false` by default
-    `#infer_base_class_for_anonymous_controllers` is `true` by default
-    `#rendering_views?` is `false` by default
-    `#use_instantiated_fixtures` is `nil` by default
-    `#infer_base_class_for_anonymous_controllers?` is `true` by default
-    `#use_transactional_fixtures` is `nil` by default
-    `#use_transactional_examples` is an alias for `use_transactional_fixtures`
-    `#render_views` sets `render_views?` to `true`
-    `#rendering_views?` is `false` by default
-    `#infer_base_class_for_anonymous_controllers?` is `true` by default
-    `#rendering_views` is `nil` by default
-    `#render_views?` is false by default
-    `#use_instantiated_fixtures?` is `false` by default
-    `#fixture_paths?` is `false` by default
-    `#global_fixtures?` is `false` by default
-    `#global_fixtures?` is `false` by default
-    `#use_instantiated_fixtures=`
-      changes `use_instantiated_fixtures?` to the true for a truthy value
-      sets `use_instantiated_fixtures` to the provided value
-    `#use_transactional_fixtures=`
-      changes `use_transactional_fixtures?` to the true for a truthy value
-      sets `use_transactional_fixtures` to the provided value
-    `#fixture_paths=`
-      changes `fixture_paths?` to the true for a truthy value
-      sets `fixture_paths` to the provided value
-    `#rendering_views=`
-      changes `rendering_views?` to the true for a truthy value
-      sets `rendering_views` to the provided value
-    `#infer_base_class_for_anonymous_controllers=`
-      changes `infer_base_class_for_anonymous_controllers?` to the true for a truthy value
-      sets `infer_base_class_for_anonymous_controllers` to the provided value
-    `#global_fixtures=`
-      changes `global_fixtures?` to the true for a truthy value
-      sets `global_fixtures` to the provided value
-    `#render_views=`
-      sets `render_views?` to the truthiness of the provided value
-  clears ActionMailer::Base::Deliveries after each example
-    only has deliveries from this test (e.g. from email_2@example.com) (PENDING: Temporarily skipped with xit)
-    only has deliveries from this test (e.g. from email@example.com) (PENDING: Temporarily skipped with xit)
-
-render_template
-  given a string
-    delegates to assert_template
-  given a symbol
-    converts to_s and delegates to assert_template
-  with should
-    when assert_template fails
-      uses failure message from assert_template
-    when fails due to some other exception
-      raises that exception
-    when assert_template passes
-      passes
-  with should_not
-    when assert_template fails
-      passes
-    when assert_template passes
-      fails with custom failure message
-    when fails with a redirect
-      gives informative error message
-      with a badly formatted error message
-        falls back to something informative
-    when fails due to some other exception
-      raises that exception
-  given a hash
-    delegates to assert_template
-
-RSpec::Rails::FixtureSupport
-  handles namespaced fixtures
-  with use_transactional_fixtures set to false
-    still supports fixture_path/fixture_paths
-  with use_transactional_tests set to true
-    works with #uses_transaction helper
-  with use_transactional_tests set to false
-    does not wrap the test in a transaction
+ActiveJob matchers
+  Active Job test helpers
+    does not raise that "assert_nothing_raised" is undefined
+  have_enqueued_job
+    has an enqueued job when providing at and there is no wait
+    reports correct number in fail error message
+    passes with :thrice count
+    fails with with block with incorrect data
+    passes with provided queue name as symbol
+    fails when job is not enqueued
+    passes with default jobs count (exactly one)
+    fails when negated and job is enqueued
+    passes with :twice count
+    throws descriptive error when no test adapter set
+    passes with Time
+    fails when the priority wan't set
+    passes with multiple jobs
+    passes with provided queue name as string
+    passes with at_least count when enqueued jobs are over limit
+    passes deserialized arguments to with block
+    passes with :once count
+    passes with provided priority number as string
+    accepts matchers as arguments to at_priority (PENDING: No reason given)
+    passes with at_most count when enqueued jobs are under limit
+    passes with job name
+    generates failure message with at most hint
+    warns when time offsets are inprecise
+    generates failure message with at least hint
+    generates failure message with all provided options
+    fails when the priority was set to a different value
+    passes multiple arguments to with block
+    does not have an enqueued job when providing at of :no_wait and there is a wait
+    fails when negated and several jobs enqueued
+    passes with provided at time
+    passes with provided argument matchers
+    accepts composable matchers as an at date
+    passes with provided at date
+    passes when using alias
+    fails when too many jobs enqueued
+    passes with provided arguments
+    passes with provided priority number as integer
+    passes with provided arguments containing global id object
+    passes with ActiveSupport::TimeWithZone
+    ignores undeserializable arguments
+    counts only jobs enqueued in block
+    has an enqueued job when providing at of :no_wait and there is no wait
+    only calls with block if other conditions are met
+    has an enqueued job when not providing at and there is a wait
+    passes when negated
+    works with time offsets
+    raises ArgumentError when no Proc passed to expect
+    when job is retried
+      passes with reenqueued job
+    verifying the arguments passed match the job's signature
+      fails if there is a keyword/positional arguments mismatch
+      fails if there is an arity mismatch
+      with partial double verification disabled
+        skips signature checks
+      without rspec-mocks loaded
+        skips signature checks
+      when partial double verification is temporarily suspended
+        skips signature checks
+    when previously enqueued jobs were performed
+      counts newly enqueued jobs
+  have_been_enqueued
+    passes with default jobs count (exactly one)
+    passes when negated
+    counts all enqueued jobs
+    fails when job is not enqueued
+    accepts composable matchers as an at date
+    fails when negated and several jobs enqueued
+    verifying the arguments passed match the job's signature
+      fails if there is an arity mismatch
+      fails if there is a keyword/positional arguments mismatch
+      with partial double verification disabled
+        skips signature checks
+      when partial double verification is temporarily suspended
+        skips signature checks
+  have_been_performed
+    passes with default jobs count (exactly one)
+    counts all performed jobs
+    fails when job is not performed
+    passes when negated
+  have_performed_job
+    passes with provided queue name as symbol
+    passes with at_most count when performed jobs are under limit
+    generates failure message with at most hint
+    passes with at_least count when performed jobs are over limit
+    fails when too many jobs performed
+    only calls with block if other conditions are met
+    fails with with block with incorrect data
+    passes with :thrice count
+    passes with default jobs count (exactly one)
+    generates failure message with all provided options
+    passes with provided arguments
+    passes with provided at date
+    passes multiple arguments to with block
+    passes with provided queue name as string
+    raises ArgumentError when no Proc passed to expect
+    passes with multiple jobs
+    passes when negated
+    throws descriptive error when no test adapter set
+    passes with provided argument matchers
+    fails when job is not performed
+    passes deserialized arguments to with block
+    passes with provided arguments containing global id object
+    passes with job name
+    counts only jobs performed in block
+    fails when negated and job is performed
+    passes with :once count
+    passes with :twice count
+    generates failure message with at least hint
+    reports correct number in fail error message
 
-RSpec::Rails::HelperExampleGroup
-  provides a controller_path based on the helper module's name
+RSpec::Rails::RequestExampleGroup
   behaves like an rspec-rails example group mixin
     adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :helper`
-      for an example group defined in a file in the .\spec\helpers\ directory
-        allows users to override the type
-        applies configured `before(:context)` hooks with `type: :helper` metadata
-        includes itself in the example group
-        tags groups in that directory with `type: :helper`
-      for an example group defined in a file in the ./spec/helpers/ directory
-        applies configured `before(:context)` hooks with `type: :helper` metadata
-        tags groups in that directory with `type: :helper`
-        includes itself in the example group
-        allows users to override the type
     when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :helper`
-      for an example group defined in a file in the .\spec\helpers\ directory
-        does not tag groups in that directory with `type: :helper`
+      includes itself in example groups tagged with `type: :request`
+      for an example group defined in a file in the .\spec\api\ directory
         does not include itself in the example group
-      for an example group defined in a file in the ./spec/helpers/ directory
+        does not tag groups in that directory with `type: :request`
+      for an example group defined in a file in the .\spec\integration\ directory
+        does not tag groups in that directory with `type: :request`
         does not include itself in the example group
-        does not tag groups in that directory with `type: :helper`
-  #helper
-    returns the instance of AV::Base provided by AV::TC::Behavior
-    includes ApplicationHelper
-
-RSpec::Rails::ViewRendering
-  #render_views
-    propagates to examples in nested groups properly
-    in a nested group
-      leaves the parent group as/is
-      overrides the value inherited from the parent group
-      passes override to children
-      with false
-        tells examples not to render views
-      with true
-        tells examples to render views
-      with no args
-        tells examples to render views
-    with true
-      tells examples to render views
-    with no args
-      tells examples to render views
-    with false
-      overrides the global config if render_views is enabled there
-      tells examples not to render views
-  default
-    ActionController::Base
-      does not render views
-      does not render views in a nested group
-    ActionController::Metal
-      renders views
-  when render_views? is false
-    supports manipulating view paths
-    supports manipulating view paths with resolvers
-    supports manipulating view paths with arrays
-    with empty template resolver
-      works with strings
-      works with custom resolvers
-
-should have_xxx
-  works with ActiveRecord::Associations::CollectionProxy
-
-RSpec::Rails::AssertionDelegator
-  provides a module that delegates assertion methods to an isolated class
-  delegates back to the including instance for methods the assertion module requires
-  does not delegate method_missing
-
-RSpec::Rails::MinitestLifecycleAdapter
-  allows let variables named 'send'
-  invokes minitest lifecycle hooks at the appropriate times
-
-be_valid matcher
-  uses a custom failure message if provided
-  does not include the validation context if not provided
-  includes the error messages for simple implementations of error messages
-  includes a brief error message when error message is wrong arity
-  includes a brief error message for the simplest implementation of validity
-  includes a failure message for the negative case
-  includes the validation context if provided
-  includes the error messages in the failure message
-
-RSpec::Rails::FeatureExampleGroup
-  includes Rails route helpers
-  when nested inside a request example group
-    includes Rails route helpers
-  #visit
-    is resistant to load order errors
-    raises an error informing about missing Capybara
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :feature`
-      for an example group defined in a file in the .\spec\features\ directory
+      for an example group defined in a file in the ./spec/requests/ directory
         does not include itself in the example group
-        does not tag groups in that directory with `type: :feature`
-      for an example group defined in a file in the ./spec/features/ directory
+        does not tag groups in that directory with `type: :request`
+      for an example group defined in a file in the ./spec/integration/ directory
+        does not tag groups in that directory with `type: :request`
         does not include itself in the example group
-        does not tag groups in that directory with `type: :feature`
+      for an example group defined in a file in the ./spec/api/ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :request`
+      for an example group defined in a file in the .\spec\requests\ directory
+        does not include itself in the example group
+        does not tag groups in that directory with `type: :request`
     when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :feature`
-      for an example group defined in a file in the .\spec\features\ directory
+      includes itself in example groups tagged with `type: :request`
+      for an example group defined in a file in the .\spec\api\ directory
+        tags groups in that directory with `type: :request`
+        applies configured `before(:context)` hooks with `type: :request` metadata
         allows users to override the type
-        tags groups in that directory with `type: :feature`
-        applies configured `before(:context)` hooks with `type: :feature` metadata
         includes itself in the example group
-      for an example group defined in a file in the ./spec/features/ directory
-        tags groups in that directory with `type: :feature`
+      for an example group defined in a file in the .\spec\integration\ directory
+        tags groups in that directory with `type: :request`
+        applies configured `before(:context)` hooks with `type: :request` metadata
+        allows users to override the type
+        includes itself in the example group
+      for an example group defined in a file in the ./spec/integration/ directory
+        applies configured `before(:context)` hooks with `type: :request` metadata
+        includes itself in the example group
+        tags groups in that directory with `type: :request`
+        allows users to override the type
+      for an example group defined in a file in the ./spec/requests/ directory
+        includes itself in the example group
+        applies configured `before(:context)` hooks with `type: :request` metadata
+        allows users to override the type
+        tags groups in that directory with `type: :request`
+      for an example group defined in a file in the ./spec/api/ directory
+        applies configured `before(:context)` hooks with `type: :request` metadata
+        tags groups in that directory with `type: :request`
+        allows users to override the type
+        includes itself in the example group
+      for an example group defined in a file in the .\spec\requests\ directory
+        applies configured `before(:context)` hooks with `type: :request` metadata
+        tags groups in that directory with `type: :request`
         includes itself in the example group
-        applies configured `before(:context)` hooks with `type: :feature` metadata
         allows users to override the type
 
-send_email
-  fails for multiple matches
-  fails with a clear message when no emails were sent
-  checks email sending by no params
-  fails with a clear message
-  fails with a clear message for negated version
-  with to_not
-  checks email sending by all params together
-  with compound matching
-    works when both matchings pass
-    works when first matching fails
-    works when second matching fails
-  with a custom negated version defined
-    fails with a clear message
-    works with a negated version
-    with a compound negated version
-      works when both matchings pass
-      works when second matching fails
-      works when first matching fails
+ActionMailbox matchers
+  receive_inbound_email
+    fails when it doesn't receive inbound email
+    passes when negated when it doesn't receive inbound email
+    fails when negated when it receives inbound email
+    passes when it receives inbound email
 
-ActiveRecord support
-  with partial double verification disabled
-    allows you to stub abstract classes
-    allows you to stub `ActiveRecord::Base`
-  with partial double verification enabled
-    allows you to stub abstract classes
-    allows you to stub `ActiveRecord::Base`
+have_broadcasted_to matchers
+  have_broadcasted_to
+    generates failure message with at most hint
+    passes with default messages count (exactly one)
+    passes with multiple streams
+    has an appropriate description when aliased
+    passes with provided data matchers with anything
+    passes with at_least count when sent messages are over limit
+    fails when too many messages broadcast
+    passes with provided data matchers
+    passes with :twice count
+    fails when negated and message is sent
+    has an appropriate description when stream name is passed as an array
+    has an appropriate description including the matcher's description when qualified with `#with` and a composable matcher
+    generates failure message with at least hint
+    has an appropriate description
+    fails with with block with incorrect data
+    passes when using symbol target
+    fails when message is not sent
+    counts only messages sent in block
+    raises ArgumentError when no Proc passed to expect
+    passes when using alias
+    throws descriptive error when no test adapter set
+    has an appropriate description including the expected contents when qualified with `#with`
+    has an appropriate description not mentioning the channel when qualified with `#from_channel`
+    passes with at_most count when sent messages are under limit
+    passes with :thrice count
+    reports correct number in fail error message
+    generates failure message when data not match
+    passes with :once count
+    passes with provided data
+    passes when negated
+    when object is passed as first argument
+      when channel is present
+        passes
+      when channel can't be inferred
+        raises exception
+
+render_template
+  with should_not
+    when assert_template passes
+      fails with custom failure message
+    when fails with a redirect
+      gives informative error message
+      with a badly formatted error message
+        falls back to something informative
+    when assert_template fails
+      passes
+    when fails due to some other exception
+      raises that exception
+  given a symbol
+    converts to_s and delegates to assert_template
+  given a hash
+    delegates to assert_template
+  given a string
+    delegates to assert_template
+  with should
+    when assert_template passes
+      passes
+    when assert_template fails
+      uses failure message from assert_template
+    when fails due to some other exception
+      raises that exception
 
 RSpec::Rails::MinitestAssertionAdapter
-  does not leak TestUnit specific methods into the AssertionDelegator
-  exposes assert_nil to host examples
+  exposes refute_predicate to host examples
   exposes refute to host examples
+  exposes assert_in_delta to host examples
   exposes refute_respond_to to host examples
-  exposes assert_predicate to host examples
-  exposes assert_includes to host examples
-  exposes refute_empty to host examples
-  exposes refute_path_exists to host examples
+  exposes assert_throws to host examples
   exposes refute_pattern to host examples
-  exposes refute_equal to host examples
-  exposes assert_in_delta to host examples
+  exposes assert_match to host examples
   exposes refute_in_epsilon to host examples
-  exposes refute_in_delta to host examples
-  exposes assert to host examples
-  exposes assert_silent to host examples
-  exposes refute_instance_of to host examples
-  exposes refute_operator to host examples
   exposes refute_includes to host examples
-  exposes assert_operator to host examples
-  exposes assert_throws to host examples
-  exposes assert_send to host examples
-  exposes assert_in_epsilon to host examples
-  exposes assert_match to host examples
-  exposes assert_path_exists to host examples
-  exposes refute_nil to host examples
-  exposes assert_empty to host examples
+  does not expose internal methods of Minitest
   exposes assert_raises to host examples
-  exposes refute_kind_of to host examples
   exposes assert_respond_to to host examples
   does not expose Minitest's message method
+  exposes assert_instance_of to host examples
+  does not leak TestUnit specific methods into the AssertionDelegator
+  exposes assert_operator to host examples
+  exposes refute_equal to host examples
+  exposes assert_send to host examples
+  exposes refute_path_exists to host examples
+  exposes assert_silent to host examples
   exposes assert_kind_of to host examples
-  exposes refute_predicate to host examples
-  exposes refute_same to host examples
-  exposes assert_output to host examples
+  exposes assert_includes to host examples
+  exposes refute_instance_of to host examples
+  exposes refute_in_delta to host examples
+  exposes assert_pattern to host examples
+  exposes refute_empty to host examples
+  exposes assert_nil to host examples
+  exposes assert_path_exists to host examples
+  exposes assert_in_epsilon to host examples
+  exposes refute_kind_of to host examples
   exposes assert_same to host examples
+  exposes refute_operator to host examples
+  exposes assert to host examples
   exposes assert_equal to host examples
+  exposes assert_output to host examples
+  exposes refute_same to host examples
+  exposes assert_empty to host examples
   exposes flunk to host examples
   exposes refute_match to host examples
-  exposes assert_pattern to host examples
-  exposes assert_instance_of to host examples
-  does not expose internal methods of Minitest
-
-ActionMailbox matchers
-  receive_inbound_email
-    fails when it doesn't receive inbound email
-    fails when negated when it receives inbound email
-    passes when it receives inbound email
-    passes when negated when it doesn't receive inbound email
-
-RSpec::Rails::ChannelExampleGroup
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :channel`
-      for an example group defined in a file in the .\spec\channels\ directory
-        does not tag groups in that directory with `type: :channel`
-        does not include itself in the example group
-      for an example group defined in a file in the ./spec/channels/ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :channel`
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :channel`
-      for an example group defined in a file in the .\spec\channels\ directory
-        applies configured `before(:context)` hooks with `type: :channel` metadata
-        includes itself in the example group
-        tags groups in that directory with `type: :channel`
-        allows users to override the type
-      for an example group defined in a file in the ./spec/channels/ directory
-        allows users to override the type
-        includes itself in the example group
-        tags groups in that directory with `type: :channel`
-        applies configured `before(:context)` hooks with `type: :channel` metadata
-
-RSpec::Rails::SetupAndTeardownAdapter
-  .setup
-    registers prepend_before hooks for the Rails' setup methods
-    registers teardown hooks in the order setup is received
-    registers before hooks in the order setup is received
+  exposes refute_nil to host examples
+  exposes assert_predicate to host examples
 
 ActiveModel support
   with partial double verification enabled
-    allows you to stub `ActiveModel`
     allows you to stub instances of `ActiveModel`
+    allows you to stub `ActiveModel`
   with partial double verification disabled
-    allows you to stub instances of `ActiveModel`
     allows you to stub `ActiveModel`
+    allows you to stub instances of `ActiveModel`
 
-RSpec::Rails::HelperExampleGroup::ClassMethods
-  determine_default_helper_class
-    the described is a module
-      returns the module
-    the described is a class
-      returns nil
-
-RSpec::Rails::SystemExampleGroup
-  #metadata
-    still raises correctly if you use it for something else
-    fakes out the rails expected method
-  #after
-    sets the :extra_failure_lines metadata to an array of STDOUT lines (PENDING: Temporarily skipped with xit)
-  #method_name
-    handles long method names which include unicode characters
-    converts special characters to underscores
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :system`
-      for an example group defined in a file in the .\spec\system\ directory
-        tags groups in that directory with `type: :system`
-        applies configured `before(:context)` hooks with `type: :system` metadata
-        includes itself in the example group
-        allows users to override the type
-      for an example group defined in a file in the ./spec/system/ directory
-        allows users to override the type
-        applies configured `before(:context)` hooks with `type: :system` metadata
-        tags groups in that directory with `type: :system`
-        includes itself in the example group
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :system`
-      for an example group defined in a file in the ./spec/system/ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :system`
-      for an example group defined in a file in the .\spec\system\ directory
-        does not tag groups in that directory with `type: :system`
-        does not include itself in the example group
-  #driver
-    calls :driven_by method only once
-    uses :selenium_chrome_headless driver by default
-    sets :rack_test driver using by before_action
-  #take_screenshot
-    handles Rails calling metadata (PENDING: Temporarily skipped with xit)
-  hook order
-    calls Capybara.reset_sessions (TestUnit after_teardown) after any after hooks
-
-RSpec::Rails
-  has no malformed whitespace
-
-be_new_record
-  a persisted record
-    fails with custom failure message
-    fails
-  a new record
-    passes
-    fails with custom failure message
-
-have_rendered
-  given a string
-    delegates to assert_template
-  given a hash
-    delegates to assert_template
-  with should
-    when assert_template passes
-      passes
-    when fails due to some other exception
-      raises that exception
-    when assert_template fails
-      uses failure message from assert_template
-  with should_not
-    when assert_template fails
-      passes
-    when fails due to some other exception
-      raises that exception
-    when fails with a redirect
-      gives informative error message
-      with a badly formatted error message
-        falls back to something informative
-    when assert_template passes
-      fails with custom failure message
-  given a symbol
-    converts to_s and delegates to assert_template
+RSpec::Rails::MinitestLifecycleAdapter
+  allows let variables named 'send'
+  invokes minitest lifecycle hooks at the appropriate times
 
 be_routable
   provides a description
-  with should
-    passes if routes recognize the path
-    fails if routes do not recognize the path
   with should_not
     passes if routes do not recognize the path
     fails if routes recognize the path
-
-RSpec::Rails::RoutingExampleGroup
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :routing`
-      for an example group defined in a file in the ./spec/routing/ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :routing`
-      for an example group defined in a file in the .\spec\routing\ directory
-        does not tag groups in that directory with `type: :routing`
-        does not include itself in the example group
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :routing`
-      for an example group defined in a file in the .\spec\routing\ directory
-        includes itself in the example group
-        allows users to override the type
-        applies configured `before(:context)` hooks with `type: :routing` metadata
-        tags groups in that directory with `type: :routing`
-      for an example group defined in a file in the ./spec/routing/ directory
-        includes itself in the example group
-        tags groups in that directory with `type: :routing`
-        applies configured `before(:context)` hooks with `type: :routing` metadata
-        allows users to override the type
-  named routes
-    delegates them to the route_set
-
-route_to
-  delegates to assert_recognizes
-  provides a description
-  uses failure message from assert_recognizes
-  with shortcut syntax
-    routes without extra options
-    routes with extra options
-    routes with one query parameter
-    routes with nested query parameters
-    routes with multiple query parameters
   with should
-    when assert_recognizes passes
-      passes
-    when assert_recognizes fails with a routing error
-      fails with message from assert_recognizes
-    when an exception is raised
-      raises that exception
-    when assert_recognizes fails with an assertion failure
-      fails with message from assert_recognizes
-  with should_not
-    when an exception is raised
-      raises that exception
-    when assert_recognizes fails with an assertion failure
-      passes
-    when assert_recognizes passes
-      fails with custom message
-    when assert_recognizes fails with a routing error
-      passes
-
-RSpec::Rails::JobExampleGroup
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :job`
-      for an example group defined in a file in the ./spec/jobs/ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :job`
-      for an example group defined in a file in the .\spec\jobs\ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :job`
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :job`
-      for an example group defined in a file in the ./spec/jobs/ directory
-        applies configured `before(:context)` hooks with `type: :job` metadata
-        includes itself in the example group
-        allows users to override the type
-        tags groups in that directory with `type: :job`
-      for an example group defined in a file in the .\spec\jobs\ directory
-        includes itself in the example group
-        applies configured `before(:context)` hooks with `type: :job` metadata
-        tags groups in that directory with `type: :job`
-        allows users to override the type
-
-RSpec::Rails::ViewSpecMethods
-  .add_extra_params_accessors_to
-    when accessors are not yet defined
-      adds them as instance methods
-      the added #extra_params reader
-        raises an error when a user tries to mutate it
-    when accessors are already defined
-      does not redefine them
-  .remove_extra_params_accessors_from
-    when accessors are not defined
-      does nothing
-    when accessors are defined
-      removes them
-
-RSpec::Rails::FixtureFileUploadSupport
-  with fixture path not set
-    resolves fixture using relative path
-  with fixture path set in spec
-    resolves fixture file
-  with fixture paths set in config
-    resolves fixture file
-    resolves supports `Pathname` objects
-
-RSpec::Rails::ModelExampleGroup
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :model`
-      for an example group defined in a file in the .\spec\models\ directory
-        does not tag groups in that directory with `type: :model`
-        does not include itself in the example group
-      for an example group defined in a file in the ./spec/models/ directory
-        does not tag groups in that directory with `type: :model`
-        does not include itself in the example group
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :model`
-      for an example group defined in a file in the ./spec/models/ directory
-        applies configured `before(:context)` hooks with `type: :model` metadata
-        tags groups in that directory with `type: :model`
-        allows users to override the type
-        includes itself in the example group
-      for an example group defined in a file in the .\spec\models\ directory
-        includes itself in the example group
-        allows users to override the type
-        tags groups in that directory with `type: :model`
-        applies configured `before(:context)` hooks with `type: :model` metadata
-
-RSpec::Rails::RailsExampleGroup
-  will not leak ActiveSupport::CurrentAttributes between examples
-  supports tagged_logger
-  does not leak context between example groups
-
-have_stream matchers
-  have_streams
-    raises when no subscription started
-    does not allow usage
-    with negated form
-      raises ArgumentError when no subscription passed to expect
-      passes with negated form
-      fails with message
-      raises when no subscription started
-  have_stream_for
-    raises when no subscription started
-    passes
-    fails with message
-    raises ArgumentError when no subscription passed to expect
-    with negated form
-      fails with message
-      passes
-  have_stream_from
-    passes
-    fails with message
-    raises ArgumentError when no subscription passed to expect
-    raises when no subscription started
-    with negated form
-      fails with message
-      passes
-    with composable matcher
-      fails with message
-      passes
-
-have_broadcasted_to matchers
-  have_broadcasted_to
-    passes with :once count
-    reports correct number in fail error message
-    generates failure message with at least hint
-    fails when negated and message is sent
-    has an appropriate description not mentioning the channel when qualified with `#from_channel`
-    has an appropriate description when aliased
-    passes with at_most count when sent messages are under limit
-    generates failure message with at most hint
-    passes with provided data
-    passes with :twice count
-    throws descriptive error when no test adapter set
-    passes with :thrice count
-    passes with multiple streams
-    passes when using symbol target
-    fails with with block with incorrect data
-    fails when message is not sent
-    passes when using alias
-    passes with default messages count (exactly one)
-    passes with provided data matchers
-    raises ArgumentError when no Proc passed to expect
-    has an appropriate description including the matcher's description when qualified with `#with` and a composable matcher
-    has an appropriate description
-    passes when negated
-    fails when too many messages broadcast
-    has an appropriate description including the expected contents when qualified with `#with`
-    passes with provided data matchers with anything
-    has an appropriate description when stream name is passed as an array
-    generates failure message when data not match
-    passes with at_least count when sent messages are over limit
-    counts only messages sent in block
-    when object is passed as first argument
-      when channel can't be inferred
-        raises exception
-      when channel is present
-        passes
-
-RSpec::Rails::MailboxExampleGroup
-  #have_failed
-    raises on unfailed mail
-    does not raise otherwise
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :mailbox`
-      for an example group defined in a file in the ./spec/mailboxes/ directory
-        tags groups in that directory with `type: :mailbox`
-        applies configured `before(:context)` hooks with `type: :mailbox` metadata
-        allows users to override the type
-        includes itself in the example group
-      for an example group defined in a file in the .\spec\mailboxes\ directory
-        tags groups in that directory with `type: :mailbox`
-        applies configured `before(:context)` hooks with `type: :mailbox` metadata
-        includes itself in the example group
-        allows users to override the type
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :mailbox`
-      for an example group defined in a file in the .\spec\mailboxes\ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :mailbox`
-      for an example group defined in a file in the ./spec/mailboxes/ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :mailbox`
-  #process
-    sends mail to the mailbox
-  #have_bounced
-    raises on unbounced mail
-    does not raise otherwise
-  #have_been_delivered
-    raises on undelivered mail
-    does not raise otherwise
-
-ActiveSupport::Relation match_array matcher
-  fails if the scope encompasses more records than on the right hand side
-  verifies that the scope returns the records on the right hand side, regardless of order
-  fails if the scope encompasses fewer records than on the right hand side
+    fails if routes do not recognize the path
+    passes if routes recognize the path
 
-RSpec::Rails::ViewExampleGroup
-  #_controller_path
-    with a common _default_file_to_render
-      it returns the directory
-    with a nested _default_file_to_render
-      it returns the directory path
-  routes helpers collides with asset helpers
-    uses routes helpers
-  automatic inclusion of helpers
-    includes the helper with the same name
-    operates normally when no helper with the same name exists
-    operates normally when the view has no path and there is a Helper class defined
-    includes the namespaced helper with the same name
-    no application helper exists
-      operates normally
-    application helper exists
-      includes the application helper
-  #stub_template
-    prepends an ActionView::FixtureResolver to the view path
-    caches FixtureResolver instances between example groups
-    caches FixtureResolver instances between examples
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :view`
-      for an example group defined in a file in the .\spec\views\ directory
-        tags groups in that directory with `type: :view`
-        allows users to override the type
-        includes itself in the example group
-        applies configured `before(:context)` hooks with `type: :view` metadata
-      for an example group defined in a file in the ./spec/views/ directory
-        allows users to override the type
-        applies configured `before(:context)` hooks with `type: :view` metadata
-        includes itself in the example group
-        tags groups in that directory with `type: :view`
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :view`
-      for an example group defined in a file in the .\spec\views\ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :view`
-      for an example group defined in a file in the ./spec/views/ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :view`
-  #params
-    delegates to the controller
-  #view
-    delegates to _view
-    is accessible to configuration-level hooks
-  #template
-    is deprecated
-    delegates to #view
-  #render
-    given a hash
-      sends the hash as the first arg to render
-    given a string
-      sends string as the first arg to render
-    given no input
-      converts the filename components into render options
-      converts the filename without format into render options
-      sends render(:template => (described file)) to the view
-      converts the filename with variant into render options
+Pending: (Failures listed here are expected and do not affect your suite's status)
 
-RSpec::Rails::RequestExampleGroup
-  behaves like an rspec-rails example group mixin
-    adds does not add `:type` metadata on inclusion
-    when `infer_spec_type_from_file_location!` is configured
-      includes itself in example groups tagged with `type: :request`
-      for an example group defined in a file in the .\spec\api\ directory
-        allows users to override the type
-        includes itself in the example group
-        tags groups in that directory with `type: :request`
-        applies configured `before(:context)` hooks with `type: :request` metadata
-      for an example group defined in a file in the .\spec\requests\ directory
-        tags groups in that directory with `type: :request`
-        applies configured `before(:context)` hooks with `type: :request` metadata
-        allows users to override the type
-        includes itself in the example group
-      for an example group defined in a file in the ./spec/requests/ directory
-        includes itself in the example group
-        tags groups in that directory with `type: :request`
-        allows users to override the type
-        applies configured `before(:context)` hooks with `type: :request` metadata
-      for an example group defined in a file in the ./spec/integration/ directory
-        includes itself in the example group
-        allows users to override the type
-        applies configured `before(:context)` hooks with `type: :request` metadata
-        tags groups in that directory with `type: :request`
-      for an example group defined in a file in the ./spec/api/ directory
-        allows users to override the type
-        tags groups in that directory with `type: :request`
-        applies configured `before(:context)` hooks with `type: :request` metadata
-        includes itself in the example group
-      for an example group defined in a file in the .\spec\integration\ directory
-        allows users to override the type
-        includes itself in the example group
-        applies configured `before(:context)` hooks with `type: :request` metadata
-        tags groups in that directory with `type: :request`
-    when `infer_spec_type_from_file_location!` is not configured
-      includes itself in example groups tagged with `type: :request`
-      for an example group defined in a file in the ./spec/api/ directory
-        does not tag groups in that directory with `type: :request`
-        does not include itself in the example group
-      for an example group defined in a file in the .\spec\requests\ directory
-        does not tag groups in that directory with `type: :request`
-        does not include itself in the example group
-      for an example group defined in a file in the ./spec/integration/ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :request`
-      for an example group defined in a file in the ./spec/requests/ directory
-        does not tag groups in that directory with `type: :request`
-        does not include itself in the example group
-      for an example group defined in a file in the .\spec\integration\ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :request`
-      for an example group defined in a file in the .\spec\api\ directory
-        does not include itself in the example group
-        does not tag groups in that directory with `type: :request`
+  1) Configuration clears ActionMailer::Base::Deliveries after each example only has deliveries from this test (e.g. from email_2@example.com)
+     # Temporarily skipped with xit
+     # ./spec/rspec/rails/configuration_spec.rb:378
 
-Pending: (Failures listed here are expected and do not affect your suite's status)
+  2) Configuration clears ActionMailer::Base::Deliveries after each example only has deliveries from this test (e.g. from email@example.com)
+     # Temporarily skipped with xit
+     # ./spec/rspec/rails/configuration_spec.rb:372
 
-  1) HaveEnqueuedMail matchers have_enqueued_mail when parameterized fails if the arguments do not match the mailer method's signature
+  3) HaveEnqueuedMail matchers have_enqueued_mail when parameterized fails if the arguments do not match the mailer method's signature
      # This version of Rails does not support parameterized mailers
      # ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb:439
 
-  2) HaveEnqueuedMail matchers have_enqueued_mail when parameterized passes with provided argument matchers
+  4) HaveEnqueuedMail matchers have_enqueued_mail when parameterized passes with provided argument matchers
      # This version of Rails does not support parameterized mailers
      # ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb:429
 
-  3) HaveEnqueuedMail matchers have_enqueued_mail when parameterized passes when mailer is parameterized
+  5) HaveEnqueuedMail matchers have_enqueued_mail when parameterized passes when mixing parameterized and non-parameterized emails
      # This version of Rails does not support parameterized mailers
-     # ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb:416
+     # ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb:422
 
-  4) HaveEnqueuedMail matchers have_enqueued_mail when parameterized passes when mixing parameterized and non-parameterized emails
+  6) HaveEnqueuedMail matchers have_enqueued_mail when parameterized passes when mailer is parameterized
      # This version of Rails does not support parameterized mailers
-     # ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb:422
+     # ./spec/rspec/rails/matchers/have_enqueued_mail_spec.rb:416
+
+  7) RSpec::Rails::SystemExampleGroup#take_screenshot handles Rails calling metadata
+     # Temporarily skipped with xit
+     # ./spec/rspec/rails/example/system_example_group_spec.rb:106
 
-  5) ActiveJob matchers have_enqueued_job accepts matchers as arguments to at_priority
+  8) RSpec::Rails::SystemExampleGroup#after sets the :extra_failure_lines metadata to an array of STDOUT lines
+     # Temporarily skipped with xit
+     # ./spec/rspec/rails/example/system_example_group_spec.rb:84
+
+  9) ActiveJob matchers have_enqueued_job accepts matchers as arguments to at_priority
      # No reason given
      Failure/Error: @priority = priority.to_i
 
@@ -2674,26 +2726,10 @@
      # ./spec/spec_helper.rb:86:in `block (3 levels) in <top (required)>'
      # ./spec/spec_helper.rb:80:in `block (2 levels) in <top (required)>'
 
-  6) Configuration clears ActionMailer::Base::Deliveries after each example only has deliveries from this test (e.g. from email_2@example.com)
-     # Temporarily skipped with xit
-     # ./spec/rspec/rails/configuration_spec.rb:378
-
-  7) Configuration clears ActionMailer::Base::Deliveries after each example only has deliveries from this test (e.g. from email@example.com)
-     # Temporarily skipped with xit
-     # ./spec/rspec/rails/configuration_spec.rb:372
-
-  8) RSpec::Rails::SystemExampleGroup#after sets the :extra_failure_lines metadata to an array of STDOUT lines
-     # Temporarily skipped with xit
-     # ./spec/rspec/rails/example/system_example_group_spec.rb:84
-
-  9) RSpec::Rails::SystemExampleGroup#take_screenshot handles Rails calling metadata
-     # Temporarily skipped with xit
-     # ./spec/rspec/rails/example/system_example_group_spec.rb:106
-
-Finished in 4.55 seconds (files took 6.66 seconds to load)
+Finished in 11.08 seconds (files took 7.41 seconds to load)
 854 examples, 0 failures, 9 pending
 
-Randomized with seed 22625
+Randomized with seed 7946
 
 
 ┌──────────────────────────────────────────────────────────────────────────────┐
@@ -2727,12 +2763,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/1908774/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/3539853 and its subdirectories
-I: Current time: Mon Apr 13 06:34:35 -12 2026
-I: pbuilder-time-stamp: 1776105275
+I: removing directory /srv/workspace/pbuilder/1908774 and its subdirectories
+I: Current time: Wed Mar 12 02:16:12 +14 2025
+I: pbuilder-time-stamp: 1741695372