summaryrefslogtreecommitdiffstats
path: root/pkgs/development/web/playwright/browser-downloads-test.nix
blob: e51ecd4a9a013c820abdd2a01f7c52f252a76b2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
  lib,
  runCommand,
  nodejs,
  playwright-core,
}:
let
  browserNames = [
    "chromium"
    "chromium-headless-shell"
    "firefox"
    "webkit"
    "ffmpeg"
  ];
  browsersJSON = (lib.importJSON ./browsers.json).browsers;
  browserDownloads = lib.genAttrs browserNames (
    name:
    import ./browser-downloads.nix {
      inherit name;
      inherit (browsersJSON.${name}) revision;
      browserVersion = browsersJSON.${name}.browserVersion or "";
    }
  );
  browserDownloadsExpectedJSON = builtins.toFile "playwright-browser-downloads.json" (
    builtins.toJSON browserDownloads
  );
in
runCommand "playwright-browser-downloads-test"
  {
    nativeBuildInputs = [ nodejs ];
  }
  ''
    node ${./browser-downloads-test.js} ${playwright-core} ${browserDownloadsExpectedJSON}
    touch $out
  ''