Port test from cf1904f to avoid future regression

Related issue: #11939, #12084
Merge pull request #12435 from sikachu/master-port-12084

Port test from cf1904f to avoid future regression
Fixed typo in documentation
require the files we need so the classes are stand-alone
parent is always passed in, so make it non-optional
simplify the JoinAssociation constructor, check validity *before*
Set the join type on construction

We always set the join type immediately after construction, just make it
part of the constructor and we can skip that step
Always pass parameters to `build`

We always know the parameters in advance, so we don't need to build it
in to the method signature
hashes are ordered, so we do not need to sort
Fixed return strings in documentation
inject down the hash cache
Directory name in RUNNING_UNIT_TESTS.rdoc [ci skip]
[ci skip] Add explanation on Rack::Sendfile and fix serve static files setting.
Merge pull request #12440 from arunagw/minor-fix-running-unit-test-file

Directory name in RUNNING_UNIT_TESTS.rdoc [ci skip]
Merge pull request #12437 from websiteswithclass/master

Fixed typo in documentation
add regression test for set_inverse_instance on add_to_target
wrap logging around the actual query call itself.

This is to be consistent with the way the mysql2 adapter times queries
stop adding singleton methods to the PG connection
stop adding singleton methods to the mysql2 adapter
stop adding singleton methods to the SQLite3 connection