format::desktop_entry: Test all recognized keys
This commit is contained in:
parent
2033df5335
commit
6ff4624dd8
@ -4,7 +4,7 @@ use locale;
|
|||||||
use os;
|
use os;
|
||||||
|
|
||||||
@test fn parse() void = {
|
@test fn parse() void = {
|
||||||
let file = os::open("format/desktop_entry/test_data/foo.desktop")!;
|
let file = os::open("format/desktop_entry/test_data/foo_full.desktop")!;
|
||||||
defer io::close(file)!;
|
defer io::close(file)!;
|
||||||
let file = parse(file)!;
|
let file = parse(file)!;
|
||||||
defer file_finish(&file);
|
defer file_finish(&file);
|
||||||
@ -14,7 +14,10 @@ use os;
|
|||||||
assert(locale_string_equal(file.name, [
|
assert(locale_string_equal(file.name, [
|
||||||
(locale::c, "Foo Viewer"),
|
(locale::c, "Foo Viewer"),
|
||||||
]));
|
]));
|
||||||
assert(locale_string_equal(file.generic_name, [])); // TODO
|
assert(locale_string_equal(file.generic_name, [
|
||||||
|
(locale::c, "Foo Viewer"),
|
||||||
|
(locale::parse("xx_XX.UTF-8")!, "Sneep glorp"),
|
||||||
|
]));
|
||||||
assert(file.no_display == false);
|
assert(file.no_display == false);
|
||||||
assert(locale_string_equal(file.comment, [
|
assert(locale_string_equal(file.comment, [
|
||||||
(locale::c, "The best viewer for Foo objects available!"),
|
(locale::c, "The best viewer for Foo objects available!"),
|
||||||
@ -23,17 +26,22 @@ use os;
|
|||||||
(locale::c, "fooview"),
|
(locale::c, "fooview"),
|
||||||
]));
|
]));
|
||||||
assert(file.hidden == false);
|
assert(file.hidden == false);
|
||||||
assert(strings_equal(file.only_show_in, [])); // TODO
|
assert(strings_equal(file.only_show_in, ["MATE", "KDE"]));
|
||||||
assert(strings_equal(file.not_show_in, [])); // TODO
|
assert(strings_equal(file.not_show_in, ["GNOME"]));
|
||||||
assert(file.dbus_activatable == false);
|
assert(file.dbus_activatable == false);
|
||||||
assert(file.try_exec == "fooview");
|
assert(file.try_exec == "fooview");
|
||||||
assert(file.exec == "fooview %F");
|
assert(file.exec == "fooview %F");
|
||||||
assert(file.path == "");
|
assert(file.path == "");
|
||||||
assert(file.terminal == false);
|
assert(file.terminal == false);
|
||||||
assert(strings_equal(file.mime_type, ["image/x-foo"]));
|
assert(strings_equal(file.mime_type, ["image/x-foo"]));
|
||||||
assert(strings_equal(file.categories, [])); // TODO
|
assert(strings_equal(file.categories, ["Graphics", "Utility"]));
|
||||||
assert(strings_equal(file.implements, [])); // TODO
|
assert(strings_equal(file.implements, [
|
||||||
assert(locale_strings_equal(file.keywords, [])); // TODO
|
"com.example.Example",
|
||||||
|
"com.example.OtherExample",
|
||||||
|
]));
|
||||||
|
assert(locale_strings_equal(file.keywords, [
|
||||||
|
(locale::c, ["foo", "image", "view", "viewer"]),
|
||||||
|
]));
|
||||||
assert(file.startup_notify == false);
|
assert(file.startup_notify == false);
|
||||||
assert(file.url == "");
|
assert(file.url == "");
|
||||||
assert(file.prefers_non_default_gpu == false);
|
assert(file.prefers_non_default_gpu == false);
|
||||||
@ -44,7 +52,7 @@ use os;
|
|||||||
assert(locale_string_equal(actio.name, [
|
assert(locale_string_equal(actio.name, [
|
||||||
(locale::c, "Browse Gallery"),
|
(locale::c, "Browse Gallery"),
|
||||||
]));
|
]));
|
||||||
assert(locale_string_equal(actio.icon, [])); // TODO
|
assert(locale_string_equal(actio.icon, []));
|
||||||
assert(actio.exec == "fooview --gallery");
|
assert(actio.exec == "fooview --gallery");
|
||||||
case "Create" =>
|
case "Create" =>
|
||||||
assert(locale_string_equal(actio.name, [
|
assert(locale_string_equal(actio.name, [
|
||||||
|
28
format/desktop_entry/test_data/foo_full.desktop
Normal file
28
format/desktop_entry/test_data/foo_full.desktop
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Name=Foo Viewer
|
||||||
|
GenericName=Foo Viewer
|
||||||
|
GenericName[xx_XX.UTF-8]=Sneep glorp
|
||||||
|
Comment=The best viewer for Foo objects available!
|
||||||
|
TryExec=fooview
|
||||||
|
Exec=fooview %F
|
||||||
|
Icon=fooview
|
||||||
|
MimeType=image/x-foo;
|
||||||
|
Actions=Gallery;Create;
|
||||||
|
OnlyShowIn=MATE;KDE;
|
||||||
|
NotShowIn=GNOME
|
||||||
|
Categories=Graphics;Utility
|
||||||
|
Implements=com.example.Example;com.example.OtherExample
|
||||||
|
Keywords=foo;image;view;viewer
|
||||||
|
|
||||||
|
[Desktop Action Gallery]
|
||||||
|
Exec=fooview --gallery
|
||||||
|
Name=Browse Gallery
|
||||||
|
|
||||||
|
[Desktop Action Create]
|
||||||
|
Exec=fooview --create-new
|
||||||
|
Name=Create a new Foo!
|
||||||
|
Name[en_US]=Create a new Foo!
|
||||||
|
Name[xx_XX.UTF-8]=Zweep zoop flooble glorp
|
||||||
|
Icon=fooview-new
|
Loading…
Reference in New Issue
Block a user