Make WordPress Core


Ignore:
Timestamp:
12/28/2024 10:08:19 PM (17 months ago)
Author:
SergeyBiryukov
Message:

Options, Meta APIs: Ensure after_section is printed for sections without any fields.

This brings consistency with the before_section HTML content, which did get printed in do_settings_sections() regardless of whether the settings section has any fields attached.

Follow-up to [8855], [21742], [54247].

Props alpipego, SergeyBiryukov.
Fixes #62746.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/admin/includesTemplate.php

    r58136 r59564  
    242242
    243243    /**
     244     * @ticket 62746
     245     *
     246     * @param array  $extra_args                   Extra arguments to pass to function `add_settings_section()`.
     247     * @param array  $expected_section_data        Expected set of section data.
     248     * @param string $expected_before_section_html Expected HTML markup to be rendered before the settings section.
     249     * @param string $expected_after_section_html  Expected HTML markup to be rendered after the settings section.
     250     *
     251     * @covers ::add_settings_section
     252     * @covers ::do_settings_sections
     253     *
     254     * @dataProvider data_extra_args_for_add_settings_section
     255     */
     256    public function test_add_settings_section_without_any_fields( $extra_args, $expected_section_data, $expected_before_section_html, $expected_after_section_html ) {
     257        add_settings_section( 'test-section', 'Section title', '__return_false', 'test-page', $extra_args );
     258
     259        ob_start();
     260        do_settings_sections( 'test-page' );
     261        $output = ob_get_clean();
     262
     263        $this->assertStringContainsString( $expected_before_section_html, $output, 'Test page output does not contain the custom markup to be placed before the section.' );
     264        $this->assertStringContainsString( $expected_after_section_html, $output, 'Test page output does not contain the custom markup to be placed after the section.' );
     265    }
     266
     267    /**
    244268     * Data provider for `test_add_settings_section_with_extra_args()`.
    245269     *
Note: See TracChangeset for help on using the changeset viewer.