. namespace core\output\progress_trace; /** * Tests for \core\progress_trace\progress_trace_buffer. * * @package core * @category test * @copyright 2024 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @covers \core\progress_trace\progress_trace_buffer */ final class progress_trace_buffer_test extends \advanced_testcase { /** * Tests for the trace. */ public function test_trace(): void { $trace = new progress_trace_buffer(new html_progress_trace()); ob_start(); $trace->output('do'); $trace->output('re', 1); $trace->output('mi', 2); $trace->finished(); $output = ob_get_contents(); ob_end_clean(); $this->assertSame("

do

\n

  re

\n

    mi

\n", $output); $this->assertSame($output, $trace->get_buffer()); $trace = new progress_trace_buffer(new html_progress_trace(), false); $trace->output('do'); $trace->output('re', 1); $trace->output('mi', 2); $trace->finished(); $this->assertSame("

do

\n

  re

\n

    mi

\n", $trace->get_buffer()); $this->assertSame("

do

\n

  re

\n

    mi

\n", $trace->get_buffer()); $trace->reset_buffer(); $this->assertSame('', $trace->get_buffer()); $this->expectOutputString(''); } }