|
|
@@ -0,0 +1,70 @@ |
|
|
|
#!/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); |