at 25.11-pre 2.6 kB view raw
1{ lib, ... }: 2let 3 ocrContent = "Feed"; 4 videoFile = "test.webm"; 5in 6{ 7 name = "lomiri-mediaplayer-app-standalone"; 8 meta.maintainers = lib.teams.lomiri.members; 9 10 nodes.machine = 11 { config, pkgs, ... }: 12 { 13 imports = [ ./common/x11.nix ]; 14 15 services.xserver.enable = true; 16 17 environment = { 18 # Setup video 19 etc."${videoFile}".source = 20 pkgs.runCommand videoFile 21 { 22 nativeBuildInputs = with pkgs; [ 23 ffmpeg # produce video for OCR 24 (imagemagick.override { ghostscriptSupport = true; }) # produce OCR-able image 25 ]; 26 } 27 '' 28 magick -size 600x600 canvas:white -pointsize 20 -fill black -annotate +100+100 '${ocrContent}' output.png 29 ffmpeg -re -loop 1 -i output.png -c:v libvpx -b:v 200K -t 120 $out -loglevel fatal 30 ''; 31 systemPackages = with pkgs.lomiri; [ 32 suru-icon-theme 33 lomiri-mediaplayer-app 34 ]; 35 variables = { 36 UITK_ICON_THEME = "suru"; 37 }; 38 }; 39 40 i18n.supportedLocales = [ "all" ]; 41 42 fonts = { 43 packages = with pkgs; [ 44 # Intended font & helps with OCR 45 ubuntu-classic 46 ]; 47 }; 48 }; 49 50 enableOCR = true; 51 52 testScript = '' 53 machine.wait_for_x() 54 55 with subtest("lomiri mediaplayer launches"): 56 machine.succeed("lomiri-mediaplayer-app >&2 &") 57 machine.sleep(10) 58 machine.send_key("alt-f10") 59 machine.wait_for_text("Choose from") 60 machine.screenshot("lomiri-mediaplayer_open") 61 62 machine.succeed("pkill -f lomiri-mediaplayer-app") 63 64 with subtest("lomiri mediaplayer plays video"): 65 machine.succeed("lomiri-mediaplayer-app /etc/${videoFile} >&2 &") 66 machine.sleep(10) 67 machine.send_key("alt-f10") 68 machine.wait_for_text("${ocrContent}") 69 machine.screenshot("lomiri-mediaplayer_playback") 70 71 machine.succeed("pkill -f lomiri-mediaplayer-app") 72 73 with subtest("lomiri mediaplayer localisation works"): 74 # OCR struggles with finding identifying the translated window title, and lomiri-content-hub QML isn't translated 75 # Cause an error, and look for the error popup 76 machine.succeed("touch invalid.mp4") 77 machine.succeed("env LANG=de_DE.UTF-8 lomiri-mediaplayer-app invalid.mp4 >&2 &") 78 machine.sleep(10) 79 machine.send_key("alt-f10") 80 machine.wait_for_text("Fehler") 81 machine.screenshot("lomiri-mediaplayer_localised") 82 ''; 83}