19 declare(strict_types=1);
    39 require_once __DIR__ . 
'/../ContainerMock.php';
    47         $this->assertInstanceOf(DocumentTable::class, 
new DocumentTable(
    49             $this->mock(DocumentRepository::class),
    50             $this->mock(UI::class),
    51             $this->mock(DocumentModal::class)
    57         $ui = $this->mock(UI::class);
    58         $ui->method(
'txt')->willReturnCallback(fn($s) => 
'txt: ' . $s);
    61             'order' => [
'txt: tbl_docs_head_sorting', 
'', 
'5%'],
    62             'title' => [
'txt: tbl_docs_head_title', 
'', 
'25%'],
    63             'created' => [
'txt: tbl_docs_head_created'],
    64             'change' => [
'txt: tbl_docs_head_last_change'],
    65             'criteria' => [
'txt: tbl_docs_head_criteria'],
    68             $this->mock(DocumentRepository::class),
    70             $this->mock(DocumentModal::class)
    76         $ui = $this->mock(UI::class);
    77         $ui->method(
'txt')->willReturnCallback(fn($s) => 
'txt: ' . $s);
    79         $config = $this->mock(TableConfig::class);
    80         $config->expects(self::once())->method(
'setTitle')->with(
'txt: tbl_docs_title');
    81         $config->expects(self::once())->method(
'setSelectableColumns')->with(
'created', 
'change');
    85             $this->mock(DocumentRepository::class),
    87             $this->mock(DocumentModal::class)
    90         $instance->config($config);
    95         $ui = $this->mock(UI::class);
    97         $select = $this->mock(TableSelection::class);
    99         $repository = $this->mockMethod(DocumentRepository::class, 
'all', [], [
   100             $this->mock(Document::class),
   101             $this->mock(Document::class)
   108             $this->mock(DocumentModal::class),
   113         $rows = $instance->rows($select);
   114         $this->assertSame(2, count($rows));
   115         foreach ($rows as $row) {
   122             ], array_keys($row));
   130             $this->mock(Document::class),
   131             $this->mock(Document::class)
   134         $select = $this->mock(TableSelection::class);
   135         $repository = $this->mockMethod(DocumentRepository::class, 
'all', [], $rows);
   140             $this->mock(UI::class),
   141             $this->mock(DocumentModal::class)
   144         $this->assertSame($rows, $instance->select($select));
   151             $this->mock(DocumentRepository::class),
   152             $this->mock(UI::class),
   153             $this->mock(DocumentModal::class),
   164         ], array_keys($instance->row($this->mock(Document::class), 1)));
   169         $ui = $this->mock(UI::class);
   170         $ui->method(
'txt')->willReturnCallback(fn($s) => 
'txt: ' . $s);
   174             $this->mock(DocumentRepository::class),
   176             $this->mock(DocumentModal::class)
   179         $this->assertSame(
'txt: tbl_docs_cell_not_criterion', $instance->showCriteria(
   180             $this->mockTree(Document::class, [
'criteria' => []]),
   187         $ui = $this->mock(UI::class);
   188         $ui->method(
'txt')->willReturnCallback(fn($s) => 
'txt: ' . $s);
   192             $this->mock(DocumentRepository::class),
   194             $this->mock(DocumentModal::class)
   198             $this->mock(Criterion::class),
   199             $this->mock(Criterion::class),
   202         $this->assertSame([
'a', 
'b', 
'a', 
'b'], $instance->showCriteria(
   203             $this->mockTree(Document::class, [
'criteria' => $criteria]),
   204             function (
Criterion $criterion) use ($criteria) {
   205                 $this->assertTrue(in_array($criterion, $criteria, 
true));
   213         $content = $this->mock(CriterionContent::class);
   214         $legacy = $this->mock(Legacy::class);
   215         $component = $this->mock(Component::class);
   217         $ui = $this->mockTree(UI::class, [
'create' => $this->mockMethod(UIFactory::class, 
'legacy', [
'<br/>'], $legacy)]);
   221                 $this->assertSame($content, $c);
   224             $this->mock(DocumentRepository::class),
   226             $this->mock(DocumentModal::class)
   229         $criterion = $this->mockTree(Criterion::class, [
'content' => $content]);
   231         $this->assertSame([$component, $legacy], $instance->showCriterion($criterion));
   236         $content = $this->mock(CriterionContent::class);
   237         $component = $this->mock(Component::class);
   241                 $this->assertSame($content, $c);
   244             $this->mock(DocumentRepository::class),
   245             $this->mock(UI::class),
   246             $this->mock(DocumentModal::class)
   251             $instance->criterionName($this->mockTree(Criterion::class, [
'content' => $content]))
   260         $create = 
function (
string $class) use (&$called, &$input) {
   262                 $this->fail(
'Called more than once');
   265             $input = $this->mock($class);
   271             $this->mock(DocumentRepository::class),
   272             $this->mock(UI::class),
   273             $this->mock(DocumentModal::class),
   277         $result = $instance->orderInputGui($this->mock(Document::class), 1);
   278         $this->assertSame($input, $result);
   283         $ui = $this->mock(UI::class);
   286             $this->mock(DocumentRepository::class),
   288             $this->mock(DocumentModal::class)
   291         $this->assertSame(
$ui, $instance->ui());
   298             $this->mock(DocumentRepository::class),
   299             $this->mock(UI::class),
   300             $this->mock(DocumentModal::class)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...