85 lines
2.5 KiB
Nix
85 lines
2.5 KiB
Nix
|
{ lib, ... }:
|
||
|
let
|
||
|
exampleText = "Lorem ipsum dolor sit amet";
|
||
|
in
|
||
|
{
|
||
|
name = "lomiri-docviewer-app-standalone";
|
||
|
meta.maintainers = lib.teams.lomiri.members;
|
||
|
|
||
|
nodes.machine =
|
||
|
{ config, pkgs, ... }:
|
||
|
{
|
||
|
imports = [ ./common/x11.nix ];
|
||
|
|
||
|
services.xserver.enable = true;
|
||
|
|
||
|
environment = {
|
||
|
etc."docviewer-sampletext.txt".text = exampleText;
|
||
|
systemPackages =
|
||
|
with pkgs;
|
||
|
[
|
||
|
libreoffice # txt -> odf to test LibreOfficeKit integration
|
||
|
]
|
||
|
++ (with pkgs.lomiri; [
|
||
|
suru-icon-theme
|
||
|
lomiri-docviewer-app
|
||
|
]);
|
||
|
variables = {
|
||
|
UITK_ICON_THEME = "suru";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i18n.supportedLocales = [ "all" ];
|
||
|
|
||
|
fonts = {
|
||
|
packages = with pkgs; [
|
||
|
# Intended font & helps with OCR
|
||
|
ubuntu-classic
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
|
||
|
enableOCR = true;
|
||
|
|
||
|
testScript = ''
|
||
|
machine.wait_for_x()
|
||
|
|
||
|
with subtest("lomiri docviewer launches"):
|
||
|
machine.succeed("lomiri-docviewer-app >&2 &")
|
||
|
machine.wait_for_text("No documents")
|
||
|
machine.screenshot("lomiri-docviewer_open")
|
||
|
|
||
|
machine.succeed("pkill -f lomiri-docviewer-app")
|
||
|
|
||
|
# Setup different document types
|
||
|
machine.succeed("soffice --convert-to odt --outdir /root/ /etc/docviewer-sampletext.txt")
|
||
|
machine.succeed("soffice --convert-to pdf --outdir /root/ /etc/docviewer-sampletext.txt")
|
||
|
|
||
|
with subtest("lomiri docviewer txt works"):
|
||
|
machine.succeed("lomiri-docviewer-app /etc/docviewer-sampletext.txt >&2 &")
|
||
|
machine.wait_for_text("${exampleText}")
|
||
|
machine.screenshot("lomiri-docviewer_txt")
|
||
|
|
||
|
machine.succeed("pkill -f lomiri-docviewer-app")
|
||
|
|
||
|
with subtest("lomiri docviewer odt works"):
|
||
|
machine.succeed("lomiri-docviewer-app /root/docviewer-sampletext.odt >&2 &")
|
||
|
machine.wait_for_text("${exampleText}")
|
||
|
machine.screenshot("lomiri-docviewer_odt")
|
||
|
|
||
|
machine.succeed("pkill -f lomiri-docviewer-app")
|
||
|
|
||
|
with subtest("lomiri docviewer pdf works"):
|
||
|
machine.succeed("lomiri-docviewer-app /root/docviewer-sampletext.pdf >&2 &")
|
||
|
machine.wait_for_text("${exampleText}")
|
||
|
machine.screenshot("lomiri-docviewer_pdf")
|
||
|
|
||
|
machine.succeed("pkill -f lomiri-docviewer-app")
|
||
|
|
||
|
with subtest("lomiri docviewer localisation works"):
|
||
|
machine.succeed("env LANG=de_DE.UTF-8 lomiri-docviewer-app >&2 &")
|
||
|
machine.wait_for_text("Keine Dokumente")
|
||
|
machine.screenshot("lomiri-docviewer_localised")
|
||
|
'';
|
||
|
}
|