Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
Línea 28... Línea 28...
28
 * @package    core
28
 * @package    core
29
 * @copyright  2018 Andrew Nicols <andrew@nicols.co.uk>
29
 * @copyright  2018 Andrew Nicols <andrew@nicols.co.uk>
30
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
30
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
31
 * @covers ::has_capability
31
 * @covers ::has_capability
32
 */
32
 */
33
class accesslib_has_capability_test extends \advanced_testcase {
33
final class accesslib_has_capability_test extends \advanced_testcase {
Línea 34... Línea 34...
34
 
34
 
35
    /**
35
    /**
36
     * Unit tests to check the operation of locked contexts.
36
     * Unit tests to check the operation of locked contexts.
37
     *
37
     *
Línea 362... Línea 362...
362
    /**
362
    /**
363
     * Data provider for testing that has_capability() deals with locked contexts.
363
     * Data provider for testing that has_capability() deals with locked contexts.
364
     *
364
     *
365
     * @return  array
365
     * @return  array
366
     */
366
     */
367
    public function locked_context_provider() {
367
    public static function locked_context_provider(): array {
368
        return [
368
        return [
369
            'All unlocked' => [
369
            'All unlocked' => [
370
                'locked' => [
370
                'lockedcontexts' => [
371
                ],
371
                ],
372
                'blockedwrites' => [
372
                'blocked' => [
373
                ],
373
                ],
374
            ],
374
            ],
375
            'User is locked (yes, this is weird)' => [
375
            'User is locked (yes, this is weird)' => [
376
                'locked' => [
376
                'lockedcontexts' => [
377
                    'adminuser' => true,
377
                    'adminuser' => true,
378
                ],
378
                ],
379
                'blockedwrites' => [
379
                'blocked' => [
380
                    'adminuser',
380
                    'adminuser',
381
                ],
381
                ],
382
            ],
382
            ],
383
            'Cat1/Block locked' => [
383
            'Cat1/Block locked' => [
384
                'locked' => [
384
                'lockedcontexts' => [
385
                    'cat1block' => true,
385
                    'cat1block' => true,
386
                ],
386
                ],
387
                'blockedwrites' => [
387
                'blocked' => [
388
                    'cat1block',
388
                    'cat1block',
389
                ],
389
                ],
390
            ],
390
            ],
391
            'Cat1' => [
391
            'Cat1' => [
392
                'locked' => [
392
                'lockedcontexts' => [
393
                    'cat1' => true,
393
                    'cat1' => true,
394
                ],
394
                ],
395
                'blockedwrites' => [
395
                'blocked' => [
396
                    'cat1',
396
                    'cat1',
397
                    'cat1block',
397
                    'cat1block',
398
                    'cat1a',
398
                    'cat1a',
399
                    'cat1ablock',
399
                    'cat1ablock',
400
                    'cat1b',
400
                    'cat1b',
Línea 412... Línea 412...
412
                    'cat1bcourse2',
412
                    'cat1bcourse2',
413
                    'cat1bcourse2block',
413
                    'cat1bcourse2block',
414
                ],
414
                ],
415
            ],
415
            ],
416
            'Cat1 locked and a child explicitly unlocked' => [
416
            'Cat1 locked and a child explicitly unlocked' => [
417
                'locked' => [
417
                'lockedcontexts' => [
418
                    'cat1' => true,
418
                    'cat1' => true,
419
                    'cat1a' => false,
419
                    'cat1a' => false,
420
                ],
420
                ],
421
                'blockedwrites' => [
421
                'blocked' => [
422
                    'cat1',
422
                    'cat1',
423
                    'cat1block',
423
                    'cat1block',
424
                    'cat1a',
424
                    'cat1a',
425
                    'cat1ablock',
425
                    'cat1ablock',
426
                    'cat1b',
426
                    'cat1b',
Línea 445... Línea 445...
445
    /**
445
    /**
446
     * Data provider for for has_capability tests when logged in as a different user.
446
     * Data provider for for has_capability tests when logged in as a different user.
447
     *
447
     *
448
     * @return  array
448
     * @return  array
449
     */
449
     */
450
    public function login_as_provider(): array {
450
    public static function login_as_provider(): array {
451
        return [
451
        return [
452
            [
452
            [
453
                'system',
453
                'system',
454
                [
454
                [
455
                    'cat1course1block' => true,
455
                    'cat1course1block' => true,