<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[58945] trunk: Options, Meta APIs: Stop using 'yes' and 'no' for autoload parameter in favor of recommended boolean.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/58945">58945</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/58945","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>flixos90</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2024-08-28 16:39:30 +0000 (Wed, 28 Aug 2024)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Options, Meta APIs: Stop using 'yes' and 'no' for autoload parameter in favor of recommended boolean.

This changeset does not modify any behavior, it only updates the code to use the recommended type for the `$autoload` parameter as of WordPress 6.6. The old values 'yes' and 'no' are only maintained in certain tests that are explicitly about these backward compatibility values.

Props flixos90, joemcgill, mukesh27.
Fixes <a href="https://core.trac.wordpress.org/ticket/61939">#61939</a>.
See <a href="https://core.trac.wordpress.org/ticket/61103">#61103</a>, <a href="https://core.trac.wordpress.org/ticket/61929">#61929</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpadminincludesupgradephp">trunk/src/wp-admin/includes/upgrade.php</a></li>
<li><a href="#trunktestsphpunittestsoptionoptionphp">trunk/tests/phpunit/tests/option/option.php</a></li>
<li><a href="#trunktestsphpunittestsoptionupdateOptionphp">trunk/tests/phpunit/tests/option/updateOption.php</a></li>
<li><a href="#trunktestsphpunittestsoptionwpLoadAlloptionsphp">trunk/tests/phpunit/tests/option/wpLoadAlloptions.php</a></li>
<li><a href="#trunktestsphpunittestsoptionwpSetOptionAutoloadphp">trunk/tests/phpunit/tests/option/wpSetOptionAutoload.php</a></li>
<li><a href="#trunktestsphpunittestsoptionwpSetOptionAutoloadValuesphp">trunk/tests/phpunit/tests/option/wpSetOptionAutoloadValues.php</a></li>
<li><a href="#trunktestsphpunittestsoptionwpSetOptionsAutoloadphp">trunk/tests/phpunit/tests/option/wpSetOptionsAutoload.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpadminincludesupgradephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/upgrade.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/upgrade.php   2024-08-28 14:34:54 UTC (rev 58944)
+++ trunk/src/wp-admin/includes/upgrade.php     2024-08-28 16:39:30 UTC (rev 58945)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1844,7 +1844,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                if ( 'yes' === $wpdb->get_var( "SELECT autoload FROM $wpdb->options WHERE option_name = 'uninstall_plugins'" ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $uninstall_plugins = get_option( 'uninstall_plugins' );
</span><span class="cx" style="display: block; padding: 0 10px">                        delete_option( 'uninstall_plugins' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        add_option( 'uninstall_plugins', $uninstall_plugins, null, 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 add_option( 'uninstall_plugins', $uninstall_plugins, null, false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2340,7 +2340,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        $can_compress_scripts = get_option( 'can_compress_scripts', false );
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( false !== $can_compress_scripts ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                delete_option( 'can_compress_scripts' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                add_option( 'can_compress_scripts', $can_compress_scripts, '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         add_option( 'can_compress_scripts', $can_compress_scripts, '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                         }
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2393,7 +2393,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        )
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $autoload = array_fill_keys( $theme_mods_options, 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $autoload = array_fill_keys( $theme_mods_options, false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 wp_set_option_autoload_values( $autoload );
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span></span></pre></div>
<a id="trunktestsphpunittestsoptionoptionphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/option/option.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/option/option.php       2024-08-28 14:34:54 UTC (rev 58944)
+++ trunk/tests/phpunit/tests/option/option.php 2024-08-28 16:39:30 UTC (rev 58945)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -143,7 +143,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @covers ::get_option
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_get_option_notoptions_do_not_load_cache() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'foo', 'bar', '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'foo', 'bar', '', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 wp_cache_delete( 'notoptions', 'options' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $before = get_num_queries();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -360,12 +360,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">        public function data_option_autoloading() {
</span><span class="cx" style="display: block; padding: 0 10px">                return array(
</span><span class="cx" style="display: block; padding: 0 10px">                        // Supported values.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        array( 'autoload_yes', 'yes', 'on' ),
</del><span class="cx" style="display: block; padding: 0 10px">                         array( 'autoload_true', true, 'on' ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        array( 'autoload_no', 'no', 'off' ),
</del><span class="cx" style="display: block; padding: 0 10px">                         array( 'autoload_false', false, 'off' ),
</span><span class="cx" style="display: block; padding: 0 10px">                        array( 'autoload_null', null, 'auto' ),
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        // Values supported for backward compatibility.
+                       array( 'autoload_yes', 'yes', 'on' ),
+                       array( 'autoload_no', 'no', 'off' ),
+
</ins><span class="cx" style="display: block; padding: 0 10px">                         // Technically unsupported values.
</span><span class="cx" style="display: block; padding: 0 10px">                        array( 'autoload_string', 'foo', 'auto' ),
</span><span class="cx" style="display: block; padding: 0 10px">                        array( 'autoload_int', 123456, 'auto' ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -457,8 +459,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @covers ::update_option
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_update_option_with_autoload_change_no_to_yes() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'foo', 'value1', '', 'no' );
-               update_option( 'foo', 'value2', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'foo', 'value1', '', false );
+               update_option( 'foo', 'value2', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                 delete_option( 'foo' );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertFalse( get_option( 'foo' ) );
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -473,8 +475,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @covers ::update_option
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_update_option_with_autoload_change_yes_to_no() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'foo', 'value1', '', 'yes' );
-               update_option( 'foo', 'value2', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'foo', 'value1', '', true );
+               update_option( 'foo', 'value2', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 delete_option( 'foo' );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertFalse( get_option( 'foo' ) );
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span></span></pre></div>
<a id="trunktestsphpunittestsoptionupdateOptionphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/option/updateOption.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/option/updateOption.php 2024-08-28 14:34:54 UTC (rev 58944)
+++ trunk/tests/phpunit/tests/option/updateOption.php   2024-08-28 16:39:30 UTC (rev 58945)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -52,7 +52,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_should_set_autoload_yes_for_nonexistent_option_when_autoload_param_is_yes() {
</span><span class="cx" style="display: block; padding: 0 10px">                $this->flush_cache();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                update_option( 'test_update_option_default', 'value', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         update_option( 'test_update_option_default', 'value', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->flush_cache();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Populate the alloptions cache, which includes autoload=yes options.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -75,7 +75,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_should_set_autoload_no_for_nonexistent_option_when_autoload_param_is_no() {
</span><span class="cx" style="display: block; padding: 0 10px">                $this->flush_cache();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                update_option( 'test_update_option_default', 'value', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         update_option( 'test_update_option_default', 'value', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->flush_cache();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Populate the alloptions cache, which does not include autoload=no options.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -122,7 +122,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @covers ::get_option
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_autoload_should_be_updated_for_existing_option_when_value_is_changed() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'foo', 'bar', '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'foo', 'bar', '', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $updated = update_option( 'foo', 'bar2', true );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertTrue( $updated );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -146,7 +146,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @covers ::get_option
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_autoload_should_not_be_updated_for_existing_option_when_value_is_unchanged() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'foo', 'bar', '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'foo', 'bar', '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $updated = update_option( 'foo', 'bar', false );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertFalse( $updated );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -171,7 +171,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @covers ::get_option
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_autoload_should_not_be_updated_for_existing_option_when_value_is_changed_but_no_value_of_autoload_is_provided() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'foo', 'bar', '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'foo', 'bar', '', true );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Don't pass a value for `$autoload`.
</span><span class="cx" style="display: block; padding: 0 10px">                $updated = update_option( 'foo', 'bar2' );
</span></span></pre></div>
<a id="trunktestsphpunittestsoptionwpLoadAlloptionsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/option/wpLoadAlloptions.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/option/wpLoadAlloptions.php     2024-08-28 14:34:54 UTC (rev 58944)
+++ trunk/tests/phpunit/tests/option/wpLoadAlloptions.php       2024-08-28 16:39:30 UTC (rev 58945)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -26,7 +26,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_default_and_yes() {
</span><span class="cx" style="display: block; padding: 0 10px">                add_option( 'foo', 'bar' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'bar', 'foo', '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'bar', 'foo', '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $alloptions = wp_load_alloptions();
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertArrayHasKey( 'foo', $alloptions );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertArrayHasKey( 'bar', $alloptions );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -39,7 +39,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_default_and_no() {
</span><span class="cx" style="display: block; padding: 0 10px">                add_option( 'foo', 'bar' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'bar', 'foo', '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'bar', 'foo', '', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $alloptions = wp_load_alloptions();
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertArrayHasKey( 'foo', $alloptions );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertArrayNotHasKey( 'bar', $alloptions );
</span></span></pre></div>
<a id="trunktestsphpunittestsoptionwpSetOptionAutoloadphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/option/wpSetOptionAutoload.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/option/wpSetOptionAutoload.php  2024-08-28 14:34:54 UTC (rev 58944)
+++ trunk/tests/phpunit/tests/option/wpSetOptionAutoload.php    2024-08-28 16:39:30 UTC (rev 58945)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11,6 +11,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Tests that setting an option's autoload value to 'yes' works as expected.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The values 'yes' and 'no' are only supported for backward compatibility.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_wp_set_option_autoload_yes() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -30,6 +32,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Tests that setting an option's autoload value to 'no' works as expected.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The values 'yes' and 'no' are only supported for backward compatibility.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_wp_set_option_autoload_no() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -56,9 +60,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $option = 'test_option';
</span><span class="cx" style="display: block; padding: 0 10px">                $value  = 'value';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( $option, $value, '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( $option, $value, '', true );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->assertFalse( wp_set_option_autoload( $option, 'yes' ), 'Function did unexpectedly succeed' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->assertFalse( wp_set_option_autoload( $option, true ), 'Function did unexpectedly succeed' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->assertSame( 'on', $wpdb->get_var( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) ), 'Option autoload value unexpectedly updated in database' );
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -72,7 +76,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $option = 'test_option';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->assertFalse( wp_set_option_autoload( $option, 'yes' ), 'Function did unexpectedly succeed' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->assertFalse( wp_set_option_autoload( $option, true ), 'Function did unexpectedly succeed' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->assertNull( $wpdb->get_var( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) ), 'Missing option autoload value was set in database' );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertArrayNotHasKey( $option, wp_cache_get( 'alloptions', 'options' ), 'Missing option found in alloptions cache' );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertFalse( wp_cache_get( $option, 'options' ), 'Missing option found in individual cache' );
</span></span></pre></div>
<a id="trunktestsphpunittestsoptionwpSetOptionAutoloadValuesphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/option/wpSetOptionAutoloadValues.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/option/wpSetOptionAutoloadValues.php    2024-08-28 14:34:54 UTC (rev 58944)
+++ trunk/tests/phpunit/tests/option/wpSetOptionAutoloadValues.php      2024-08-28 16:39:30 UTC (rev 58945)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11,6 +11,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Tests setting options' autoload to 'yes' where for some options this is already the case.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The values 'yes' and 'no' are only supported for backward compatibility.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_wp_set_option_autoload_values_all_yes_partial_update() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -20,8 +22,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => 'yes',
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => 'yes',
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'test_option1', 'value1', '', 'yes' );
-               add_option( 'test_option2', 'value2', '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'test_option1', 'value1', '', true );
+               add_option( 'test_option2', 'value2', '', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $expected = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => false,
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => true,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -42,6 +44,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * In this case, the 'alloptions' cache should not be cleared, but only its options set to 'no' should be deleted.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The values 'yes' and 'no' are only supported for backward compatibility.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_wp_set_option_autoload_values_all_no_partial_update() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -51,8 +55,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => 'no',
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => 'no',
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'test_option1', 'value1', '', 'yes' );
-               add_option( 'test_option2', 'value2', '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'test_option1', 'value1', '', true );
+               add_option( 'test_option2', 'value2', '', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $expected = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => true,
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => false,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -70,6 +74,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Tests setting options' autoload to 'yes' where for all of them this is already the case.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The values 'yes' and 'no' are only supported for backward compatibility.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_wp_set_option_autoload_values_all_yes_no_update() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -79,8 +85,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => 'yes',
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => 'yes',
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'test_option1', 'value1', '', 'yes' );
-               add_option( 'test_option2', 'value2', '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'test_option1', 'value1', '', true );
+               add_option( 'test_option2', 'value2', '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $expected = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => false,
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => false,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -96,7 +102,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * Tests setting options' autoload to either 'yes' or 'no' where for some options this is already the case.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Tests setting options' autoload to either true or false where for some options this is already the case.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * The test also covers one option that is entirely missing.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -106,14 +112,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                global $wpdb;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $options = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'test_option1' => 'yes',
-                       'test_option2' => 'no',
-                       'test_option3' => 'yes',
-                       'missing_opt'  => 'yes',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'test_option1' => true,
+                       'test_option2' => false,
+                       'test_option3' => true,
+                       'missing_opt'  => true,
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'test_option1', 'value1', '', 'no' );
-               add_option( 'test_option2', 'value2', '', 'yes' );
-               add_option( 'test_option3', 'value3', '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'test_option1', 'value1', '', false );
+               add_option( 'test_option2', 'value2', '', true );
+               add_option( 'test_option3', 'value3', '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $expected = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => true,
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => true,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -132,7 +138,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * Tests setting options' autoload to either 'yes' or 'no' while only the 'no' options actually need to be updated.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Tests setting options' autoload to either true or false while only the false options actually need to be updated.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * In this case, the 'alloptions' cache should not be cleared, but only its options set to 'no' should be deleted.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -142,13 +148,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                global $wpdb;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $options = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'test_option1' => 'yes',
-                       'test_option2' => 'no',
-                       'test_option3' => 'yes',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'test_option1' => true,
+                       'test_option2' => false,
+                       'test_option3' => true,
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'test_option1', 'value1', '', 'yes' );
-               add_option( 'test_option2', 'value2', '', 'yes' );
-               add_option( 'test_option3', 'value3', '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'test_option1', 'value1', '', true );
+               add_option( 'test_option2', 'value2', '', true );
+               add_option( 'test_option3', 'value3', '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $expected = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => false,
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => true,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -160,7 +166,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertSame( $num_queries + 2, get_num_queries(), 'Function made unexpected amount of database queries' );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertSameSets( array( 'on', 'off', 'on' ), $wpdb->get_col( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name IN (" . implode( ',', array_fill( 0, count( $options ), '%s' ) ) . ')', ...array_keys( $options ) ) ), 'Option autoload values not updated in database' );
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $options as $option => $autoload ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( 'no' === $autoload ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( false === $autoload ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $this->assertArrayNotHasKey( $option, wp_cache_get( 'alloptions', 'options' ), sprintf( 'Option %s not deleted from alloptions cache', $option ) );
</span><span class="cx" style="display: block; padding: 0 10px">                        } else {
</span><span class="cx" style="display: block; padding: 0 10px">                                $this->assertArrayHasKey( $option, wp_cache_get( 'alloptions', 'options' ), sprintf( 'Option %s unexpectedly deleted from alloptions cache', $option ) );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -177,11 +183,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                global $wpdb;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $options = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'test_option1' => 'yes',
-                       'test_option2' => 'yes',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'test_option1' => true,
+                       'test_option2' => true,
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'test_option1', 'value1', '', 'no' );
-               add_option( 'test_option2', 'value2', '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'test_option1', 'value1', '', false );
+               add_option( 'test_option2', 'value2', '', false );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Force UPDATE queries to fail, leading to no autoload values being updated.
</span><span class="cx" style="display: block; padding: 0 10px">                add_filter(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -203,7 +209,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * Tests setting options' autoload with boolean values.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Tests setting options' autoload with now encouraged boolean values.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span></span></pre></div>
<a id="trunktestsphpunittestsoptionwpSetOptionsAutoloadphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/option/wpSetOptionsAutoload.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/option/wpSetOptionsAutoload.php 2024-08-28 14:34:54 UTC (rev 58944)
+++ trunk/tests/phpunit/tests/option/wpSetOptionsAutoload.php   2024-08-28 16:39:30 UTC (rev 58945)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -11,6 +11,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Tests that setting options' autoload value to 'yes' works as expected.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The values 'yes' and 'no' are only supported for backward compatibility.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_wp_set_options_autoload_yes() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -23,7 +25,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $expected = array();
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $options as $option => $value ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        add_option( $option, $value, '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 add_option( $option, $value, '', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                         $expected[ $option ] = true;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -40,6 +42,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Tests that setting options' autoload value to 'no' works as expected.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * The values 'yes' and 'no' are only supported for backward compatibility.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @ticket 58964
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function test_wp_set_options_autoload_no() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -52,7 +56,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $expected = array();
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $options as $option => $value ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        add_option( $option, $value, '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 add_option( $option, $value, '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                         $expected[ $option ] = true;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -80,12 +84,12 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $expected = array();
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $options as $option => $value ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        add_option( $option, $value, '', 'yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 add_option( $option, $value, '', true );
</ins><span class="cx" style="display: block; padding: 0 10px">                         $expected[ $option ] = false;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $num_queries = get_num_queries();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->assertSame( $expected, wp_set_options_autoload( array_keys( $options ), 'yes' ), 'Function did unexpectedly succeed' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->assertSame( $expected, wp_set_options_autoload( array_keys( $options ), true ), 'Function did unexpectedly succeed' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->assertSame( $num_queries + 1, get_num_queries(), 'Function attempted to update options autoload value in database' );
</span><span class="cx" style="display: block; padding: 0 10px">                $this->assertSame( array( 'on', 'on' ), $wpdb->get_col( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name IN (" . implode( ',', array_fill( 0, count( $options ), '%s' ) ) . ')', ...array_keys( $options ) ) ), 'Options autoload value unexpectedly updated in database' );
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -108,7 +112,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        $expected[ $option ] = false;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->assertSame( $expected, wp_set_options_autoload( $options, 'yes' ), 'Function did unexpectedly succeed' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->assertSame( $expected, wp_set_options_autoload( $options, true ), 'Function did unexpectedly succeed' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->assertSame( array(), $wpdb->get_col( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name IN (" . implode( ',', array_fill( 0, count( $options ), '%s' ) ) . ')', ...array_keys( $options ) ) ), 'Missing options autoload value was set in database' );
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -125,14 +129,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => 'value2',
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                add_option( 'test_option1', $options['test_option1'], '', 'yes' );
-               add_option( 'test_option2', $options['test_option2'], '', 'no' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         add_option( 'test_option1', $options['test_option1'], '', true );
+               add_option( 'test_option2', $options['test_option2'], '', false );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $expected = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option1' => false,
</span><span class="cx" style="display: block; padding: 0 10px">                        'test_option2' => true,
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->assertSame( $expected, wp_set_options_autoload( array_keys( $options ), 'yes' ), 'Function produced unexpected result' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->assertSame( $expected, wp_set_options_autoload( array_keys( $options ), true ), 'Function produced unexpected result' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->assertSame( array( 'on', 'on' ), $wpdb->get_col( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name IN (" . implode( ',', array_fill( 0, count( $options ), '%s' ) ) . ')', ...array_keys( $options ) ) ), 'Option autoload values not updated in database' );
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $options as $option => $value ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $this->assertFalse( wp_cache_get( $option, 'options' ), sprintf( 'Option %s not deleted from individual cache', $option ) );
</span></span></pre>
</div>
</div>

</body>
</html>