public function on_tested($num, $test, $ret) { $cc = urlencode($test['text']); $text = nl2br(htmlspecialchars($test['text'])); $result = htmlspecialchars($test['result']); $out = htmlspecialchars($ret['result']); $diffx = new FineDiff($out, $result, FineDiff::$characterGranularity); $diff = $diffx->renderDiffToHTML2(); //$diffy = new FineDiff($ret['result'], $test['result'], FineDiff::$characterGranularity); //$diff_text = $diffy->renderDiffToHTML2(); $block_html_inline = $this->build_posle_nuzhno_raznica_block($test['result_classes'] ? 1 : 0, $out, $result, $diff); $block_text_inline = $this->build_posle_nuzhno_raznica_block($test['result_classes'] ? 1 : 0, $ret['result'], $test['text']); $block_html_classes = ""; $block_text_classes = ""; if (isset($test['result_classes']) && $test['result_classes']) { $diffc_h = new FineDiff(htmlspecialchars($ret['result_classes']), htmlspecialchars($test['result_classes']), FineDiff::$characterGranularity); $diff_h = $diffc_h->renderDiffToHTML2(); //$diffc_t = new FineDiff($ret['result_classes'], $test['result_classes'], FineDiff::$characterGranularity); //$diff_t = $diffc_t->renderDiffToHTML2(); $block_html_classes = "<br>" . $this->build_posle_nuzhno_raznica_block(2, htmlspecialchars($ret['result_classes']), htmlspecialchars($test['result_classes']), $diff_h); $block_text_classes = "<br>" . $this->build_posle_nuzhno_raznica_block(2, $ret['result_classes'], $test['result_classes']); } // повторное тестирование<br> $second_html = ""; $second_text = ""; if (isset($ret['result_second']) && $ret['result_second']) { $out_second = htmlspecialchars($ret['result_second']); $diffx2 = new FineDiff($out_second, $result, FineDiff::$characterGranularity); $diff_second = $diffx2->renderDiffToHTML2(); $block_second_html_inline = $this->build_posle_nuzhno_raznica_block($test['result_classes'] ? 1 : 0, $out_second, $result, $diff_second); $block_second_text_inline = $this->build_posle_nuzhno_raznica_block($test['result_classes'] ? 1 : 0, $ret['result_second'], $test['text']); $block_second_html_classes = ""; $block_second_text_classes = ""; if (isset($test['result_classes_second']) && $test['result_classes_second']) { $diffc_h2 = new FineDiff(htmlspecialchars($ret['result_classes_second']), htmlspecialchars($test['result_classes']), FineDiff::$characterGranularity); $diff_second_h = $diffc_h2->renderDiffToHTML2(); $block_second_html_classes = "<br>" . $this->build_posle_nuzhno_raznica_block(2, htmlspecialchars($ret['result_classes_second']), htmlspecialchars($test['result_classes']), $diff_second_h); $block_second_text_classes = "<br>" . $this->build_posle_nuzhno_raznica_block(2, $ret['result_classes_second'], $test['result_classes']); } $second_html = <<<HTML \t\t\t<br> \t\t\t<h4>Повторное типографирование</h4> \t\t\t{$block_second_html_inline} \t\t\t{$block_second_html_classes} HTML; $second_text = <<<HTML \t\t\t<br> \t\t\t<h4>Повторное типографирование</h4> \t\t\t{$block_second_text_inline} \t\t\t{$block_second_text_classes} HTML; } $infoblock = <<<HTML \t\t<div id="test{$num}_block" style="display:none;margin: 30px;"> \t\t<div id="test{$num}_block_html" > \t\t\t<a href="#test{$num}" class="togglehtmlcode">Посмотреть текст</a> <a href="debug.php?inputdata={$cc}" target="_blank">Открыть в отладчике</a><br> \t\t\tДО: {$text}<br> \t\t\t<br> \t\t\t{$block_html_inline} \t\t\t{$block_html_classes} \t\t\t{$second_html} \t\t</div> \t\t<div id="test{$num}_block_code" style="display:none;"> \t\t\t<a href="#test{$num}" class="togglehtmlcode">Посмотреть HTML</a> <a href="debug.php?inputdata={$cc}" target="_blank">Открыть в отладчике</a><br> \t\t\tДО: {$text}<br> \t\t\t<br> \t\t\t{$block_text_inline} \t\t\t{$block_text_classes} \t\t\t{$second_text} \t\t</div> \t\t \t\t</div> HTML; $cnt = $this->get_test_count(); // первый тест в группе тестов if ($test['grnum'] == 1) { echo <<<HTML \t</ul> \t<h3 style="margin-left: 20px">{$test['grtitle']}</h3> \t<ul style="list-style: none"> HTML; } echo "\t\t<li id='test{$num}'><span class='openlink " . ($ret['error'] ? "witherror" : "") . "'><a href='#test{$num}' class='seetest'><img style='margin-right: 0.7em' src='../misc/" . ($ret['error'] ? "no" : "yes") . ".png'>Тест {$test['grid']}" . sprintf("%02d", $test['grnum']) . " (" . sprintf("%02d", $num) . "/{$cnt})" . (isset($test['title']) ? ": " . $test['title'] . "" : "") . "</a></span> {$infoblock}</li>\n"; $this->doflush(); }