1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/usr/bin/env php
- <?php
- declare(strict_types = 1);
- $urls = [];
- foreach ([[360, 640, true], [1280, 720, true], [1280, 720, false], [2560, 1080, false]] as $viewport) {
- [$x, $y, $is_mobile] = $viewport;
- $gen = function (string $url, string $actions = "") use ($x, $y, $is_mobile) {
- $path = "/screenshots/new/{$x}x{$y}" . ($is_mobile ? '-mobile' : '') . '-' . ($url === '' ? 'root' : str_replace('/', '-', $url)) . ".png";
- $is_mobile = $is_mobile ? 'true' : 'false';
- return <<<EOU
- {
- "url": "https://nginx/{$url}",
- "screenCapture": "{$path}",
- "viewport": {
- "width": {$x},
- "height": {$y},
- "isMobile": {$is_mobile}
- }{$actions}
- }
- EOU;
- };
- foreach ([
- '', 'feed/public',
- 'doc/faq', 'doc/tos', 'doc/privacy', 'doc/source', 'doc/version',
- 'main/login', 'main/register',
- ] as $url) {
- $urls[] = $gen($url);
- }
- $urls[] = $gen('main/login', <<<EOA
- ,
- "actions": [
- "navigate to https://nginx/main/login",
- "set field #inputNicknameOrEmail to taken_user",
- "set field #inputPassword to foobar",
- "click element #signIn",
- "wait for path to not be /login"
- ]
- EOA);
- foreach (['feed/public', 'feed/home', '@taken_user/circles',
- 'feed/network', 'feed/clique', 'feed/federated', 'feed/notifications',
- '@taken_user/collections', '@taken_user/favourites', '@taken_user/reverse_favourites',
- 'directory/people', 'directory/groups', 'settings', 'main/logout'
- ] as $url) {
- $urls[] = $gen($url);
- }
- }
- $urls = implode(",\n", $urls);
- $config = <<<EOF
- {
- "defaults": {
- "chromeLaunchConfig": {
- "ignoreHTTPSErrors": true
- },
- "standard": "WCAG2AAA",
- "timeout": 10000
- },
- "concurrency": 4,
- "urls": [
- {$urls}
- ]
- }
- EOF;
- file_put_contents('/pa11y/config.json', $config);
|