| 
|   | testCapabilityPriority (bool $wopi_view, bool $wopi_edit, bool $infopage_first, array $permissions, Capabilities $expected_best) | 
|   | 
Definition at line 32 of file CapabilityTest.php.
 
◆ arrayToMarkdownTable()
  
  
      
        
          | static CapabilityTest::arrayToMarkdownTable  | 
          ( | 
          array  | 
          $data | ) | 
           | 
         
       
   | 
  
staticprivate   | 
  
 
Definition at line 309 of file CapabilityTest.php.
  318             static fn($col_index): 
int => max(
   320                     static fn($row): 
int => isset($row[$col_index]) ? mb_strlen((
string) $row[$col_index]) : 0,
   328         $pad_row = 
static fn($row): array => 
array_map(static 
function ($value, $index) use ($col_widths): string {
   330             return str_pad($value, $col_widths[$index], 
" ", STR_PAD_RIGHT);
   331         }, $row, array_keys($col_widths));
   334         $header = $pad_row(
$data[0]);
   339             . implode(
" | ", $header)
   342             . implode(
" | ", 
array_map(
static fn($width): 
string => str_repeat(
"-", $width), $col_widths))
   344         $data_rows = 
array_map(
static fn($row): 
string => 
"| " . implode(
" | ", $row) . 
" |", $rows);
   347         return implode(
"\n", array_merge([$header_row, $sep_row], $data_rows));
 
 
 
 
◆ environmentProvider()
  
  
      
        
          | static CapabilityTest::environmentProvider  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
static   | 
  
 
Definition at line 94 of file CapabilityTest.php.
  100                 'infopage_first' => 
true,
   101                 'user_permissions' => [
   104                     Permissions::VISIBLE,
   105                     Permissions::EDIT_CONTENT,
   106                     Permissions::VIEW_CONTENT
   108                 'expected_best' => Capabilities::FORCED_INFO_PAGE
   113                 'infopage_first' => 
false,
   114                 'user_permissions' => [
   117                     Permissions::VISIBLE,
   118                     Permissions::EDIT_CONTENT,
   119                     Permissions::VIEW_CONTENT
   121                 'expected_best' => Capabilities::VIEW_EXTERNAL
   126                 'infopage_first' => 
false,
   127                 'user_permissions' => [
   128                     Permissions::EDIT_CONTENT,
   129                     Permissions::VIEW_CONTENT
   131                 'expected_best' => Capabilities::VIEW_EXTERNAL
   134                 'wopi_view' => 
false,
   135                 'wopi_edit' => 
false,
   136                 'infopage_first' => 
true,
   137                 'user_permissions' => [
   141                 'expected_best' => Capabilities::FORCED_INFO_PAGE
   146                 'infopage_first' => 
false,
   147                 'user_permissions' => [
   148                     Permissions::EDIT_CONTENT,
   150                 'expected_best' => Capabilities::EDIT_EXTERNAL
   155                 'infopage_first' => 
false,
   156                 'user_permissions' => [
   159                 'expected_best' => Capabilities::DOWNLOAD
   164                 'infopage_first' => 
false,
   165                 'user_permissions' => [
   169                 'expected_best' => Capabilities::DOWNLOAD
   174                 'infopage_first' => 
false,
   175                 'user_permissions' => [
   178                 'expected_best' => Capabilities::MANAGE_VERSIONS
   183                 'infopage_first' => 
false,
   184                 'user_permissions' => [
   185                     Permissions::VISIBLE,
   187                 'expected_best' => Capabilities::INFO_PAGE
   192                 'infopage_first' => 
true,
   193                 'user_permissions' => [
   197                 'expected_best' => Capabilities::FORCED_INFO_PAGE
   202                 'infopage_first' => 
false,
   203                 'user_permissions' => [
   206                 'expected_best' => Capabilities::NONE
  
 
 
◆ setUp()
  
  
      
        
          | CapabilityTest::setUp  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
Definition at line 51 of file CapabilityTest.php.
References ILIAS\Repository\access(), ILIAS\Repository\ctrl(), and ILIAS\FileDelivery\http().
   53         if (!defined(
'ILIAS_HTTP_PATH')) {
    54             define(
'ILIAS_HTTP_PATH', 
'https://ilias.unit.test');
    57         $this->file_info_repository = $this->createMock(\ilObjFileInfoRepository::class);
    58         $this->
access = $this->createMock(\ilAccessHandler::class);
    59         $this->
ctrl = $this->createMock(\ilCtrlInterface::class);
    60         $this->action_repository = $this->createMock(ActionRepository::class);
    61         $this->
http = $this->createMock(Services::class);
    62         $this->static_url = $this->createMock(URIBuilder::class);
    63         $this->type_resolver = $this->createMock(TypeResolver::class);
    64         $this->workspace_access_handler = $this->createMock(ilWorkspaceAccessHandler::class);
    66         $this->type_resolver->method(
'resolveTypeByObjectId')
    71             $this->file_info_repository,
    74             $this->action_repository,
    78             $this->workspace_access_handler
 
static http()
Fetches the global http state from ILIAS. 
 
 
 
 
◆ tearDown()
  
  
      
        
          | CapabilityTest::tearDown  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
protected   | 
  
 
 
◆ tearDownAfterClass()
  
  
      
        
          | static CapabilityTest::tearDownAfterClass  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
static   | 
  
 
 
◆ testCapabilityPriority()
      
        
          | CapabilityTest::testCapabilityPriority  | 
          ( | 
          bool  | 
          $wopi_view,  | 
        
        
           | 
           | 
          bool  | 
          $wopi_edit,  | 
        
        
           | 
           | 
          bool  | 
          $infopage_first,  | 
        
        
           | 
           | 
          array  | 
          $permissions,  | 
        
        
           | 
           | 
          Capabilities  | 
          $expected_best  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 212 of file CapabilityTest.php.
References $context, $id, and ILIAS\Repository\access().
  226             Context::CONTEXT_REPO
   229         $this->
access->method(
'checkAccess')
   230                      ->willReturnCallback(
   231                          function (
string $permission) use ($permissions): 
bool {
   232                              $checked_permissions = explode(
',', $permission);
   233                              $common_permissions = array_intersect(
   237                              return $common_permissions !== [];
   241         $file_info = $this->createMock(\ilObjFileInfo::class);
   242         $file_info->method(
'shouldDownloadDirectly')
   243                   ->willReturn(!$infopage_first);
   245         $this->file_info_repository->method(
'getByObjectId')
   247                                    ->willReturn($file_info);
   249         $this->action_repository->method(
'hasEditActionForSuffix')
   250                                 ->willReturn($wopi_edit);
   252         $this->action_repository->method(
'hasViewActionForSuffix')
   253                                 ->willReturn($wopi_view);
   255         $capabilities = $this->capability_builder->get(
$context);
   256         $best = $capabilities->getBest();
   258         $this->assertEquals($expected_best, $best->getCapability());
   260         self::$readme_infos[] = [
   262             ($wopi_view ? 
'Yes' : 
'No'),
   263             ($wopi_edit ? 
'Yes' : 
'No'),
   264             ($infopage_first ? 
'Info-Page' : 
'Open'),
   265             $best->getCapability()->name
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
 
 
 
◆ updateREADME()
  
  
      
        
          | static CapabilityTest::updateREADME  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
staticprivate   | 
  
 
Definition at line 269 of file CapabilityTest.php.
References Vendor\Package\$a, and Vendor\Package\$b.
  272         $readme_file = __DIR__ . 
'/../../docs/README.md';
   273         $readme_content = file_get_contents($readme_file);
   277                 'User\'s Permissions',
   278                 'WOPI View Action av.',
   279                 'WOPI Edit Action av.',
   281                 'Expected Capability'   287             $a_string = implode(
'', array_reverse(
$a));
   288             $b_string = implode(
'', array_reverse(
$b));
   290             return strcmp((
string) $a_string, (
string) $b_string);
   296         $start_marker = 
"<!-- START CAPABILITY_TABLE -->";
   297         $end_marker = 
"<!-- END CAPABILITY_TABLE -->";
   300         $new_block = $start_marker . 
"\n\n" . self::arrayToMarkdownTable($table) . 
"\n\n" . $end_marker;
   303         $pattern = 
'/' . preg_quote($start_marker, 
'/') . 
'.*?' . preg_quote($end_marker, 
'/') . 
'/s';
   304         $readme_content = preg_replace($pattern, $new_block, $readme_content);
   306         file_put_contents($readme_file, $readme_content);
 static array $readme_infos
 
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples 
 
 
 
 
◆ $access
◆ $action_repository
◆ $capability_builder
◆ $ctrl
◆ $file_info_repository
◆ $http
  
  
      
        
          | Services MockObject CapabilityTest::$http | 
         
       
   | 
  
private   | 
  
 
 
◆ $readme_infos
  
  
      
        
          | array CapabilityTest::$readme_infos = [] | 
         
       
   | 
  
staticprivate   | 
  
 
 
◆ $static_url
◆ $type_resolver
      
        
          | PHPUnit Framework MockObject MockObject TypeResolver CapabilityTest::$type_resolver | 
        
      
 
 
◆ $update_readme
  
  
      
        
          | bool CapabilityTest::$update_readme = false | 
         
       
   | 
  
staticprivate   | 
  
 
 
◆ $workspace_access_handler
      
        
          | PHPUnit Framework MockObject MockObject CapabilityTest::$workspace_access_handler | 
        
      
 
 
The documentation for this class was generated from the following file: