1{ pkgs, lib, ... }:
2{
3 name = "lomiri-calculator-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 = with pkgs.lomiri; [
15 suru-icon-theme
16 lomiri-calculator-app
17 ];
18 variables = {
19 UITK_ICON_THEME = "suru";
20 };
21 };
22
23 i18n.supportedLocales = [ "all" ];
24
25 fonts.packages = with pkgs; [
26 # Intended font & helps with OCR
27 ubuntu-classic
28 ];
29 };
30
31 enableOCR = true;
32
33 testScript = ''
34 machine.wait_for_x()
35
36 with subtest("lomiri calculator launches"):
37 machine.execute("lomiri-calculator-app >&2 &")
38 machine.wait_for_text("Calculator")
39 machine.screenshot("lomiri-calculator")
40
41 with subtest("lomiri calculator works"):
42 machine.send_key("tab") # Fix focus
43
44 machine.send_chars("22*16\n")
45 machine.wait_for_text("352")
46 machine.screenshot("lomiri-calculator_caninfactdobasicmath")
47
48 machine.succeed("pkill -f lomiri-calculator-app")
49
50 with subtest("lomiri calculator localisation works"):
51 machine.execute("env LANG=de_DE.UTF-8 lomiri-calculator-app >&2 &")
52 machine.wait_for_text("Rechner")
53 machine.screenshot("lomiri-calculator_localised")
54
55 # History of previous run should have loaded
56 with subtest("lomiri calculator history works"):
57 machine.wait_for_text("352")
58 '';
59}