at master 2.8 kB view raw
1{ pkgs, lib, ... }: 2{ 3 name = "lomiri-calendar-app-standalone"; 4 meta.maintainers = lib.teams.lomiri.members; 5 6 nodes.machine = 7 { config, pkgs, ... }: 8 { 9 imports = [ ./common/x11.nix ]; 10 11 services.xserver.enable = true; 12 13 environment = { 14 systemPackages = 15 with pkgs; 16 [ 17 xdotool # mouse movement 18 ] 19 ++ (with pkgs.lomiri; [ 20 suru-icon-theme 21 lomiri-calendar-app 22 ]); 23 variables = { 24 UITK_ICON_THEME = "suru"; 25 }; 26 }; 27 28 i18n.supportedLocales = [ "all" ]; 29 30 fonts.packages = with pkgs; [ 31 # Intended font & helps with OCR 32 ubuntu-classic 33 ]; 34 }; 35 36 enableOCR = true; 37 38 testScript = '' 39 machine.wait_for_x() 40 41 with subtest("lomiri calendar launches"): 42 machine.succeed("lomiri-calendar-app >&2 &") 43 machine.sleep(10) 44 machine.send_key("alt-f10") 45 machine.sleep(2) 46 # Default page is unbearably slow to OCR on, switch to another 47 machine.succeed("xdotool mousemove 580 50 click 1") 48 machine.sleep(2) 49 machine.wait_for_text(r"(January|February|March|April|May|June|July|August|September|October|November|December|Mon|Tue|Wed|Thu|Fri|Sat|Sun)") 50 machine.screenshot("lomiri-calendar") 51 52 with subtest("lomiri calendar works"): 53 # Switch to Agenda tab, less busy 54 machine.succeed("xdotool mousemove 380 50 click 1") 55 machine.sleep(2) 56 57 # Still on main page 58 machine.succeed("xdotool mousemove 500 720 click 1") 59 machine.sleep(2) 60 machine.wait_for_text(r"(Date|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|All day|Name|Details|More)") 61 machine.screenshot("lomiri-calendar_newevent") 62 63 # On New Event page 64 machine.succeed("xdotool mousemove 500 230 click 1") 65 machine.sleep(2) 66 machine.send_chars("foobar") 67 machine.sleep(2) # make sure they're actually in there 68 machine.succeed("xdotool mousemove 1000 40 click 1") 69 machine.sleep(2) 70 machine.wait_for_text("Agenda") 71 machine.screenshot("lomiri-calendar_eventadded") 72 73 # Back on main page 74 # Event was created, does it have the correct name? 75 machine.wait_for_text("foobar") 76 machine.screenshot("lomiri-calendar_works") 77 78 machine.succeed("pkill -f lomiri-calendar-app") 79 80 with subtest("lomiri calendar localisation works"): 81 machine.succeed("env LANG=de_DE.UTF-8 lomiri-calendar-app >&2 &") 82 machine.sleep(10) 83 machine.send_key("alt-f10") 84 machine.sleep(2) 85 machine.wait_for_text(r"(Montag|Dienstag|Mittwoch|Donnerstag|Freitag|Samstag|Sonntag)") 86 machine.screenshot("lomiri-calendar_localised") 87 ''; 88}