diff options
author | Waldo Bastian <waldo.bastian@intel.com> | 2006-09-10 00:12:04 +0000 |
---|---|---|
committer | Waldo Bastian <waldo.bastian@intel.com> | 2006-09-10 00:12:04 +0000 |
commit | 311ddafb415243674e666af11be1cf68b9af1360 (patch) | |
tree | 519e88aed7e0970e1a28ca6113bb5cb827f23ca4 /tests | |
parent | 234d8f46ff6cb61bc976e563ca4cb66af936eda6 (diff) |
Addtional test for xdg-desktop-menu
Diffstat (limited to 'tests')
-rw-r--r-- | tests/xdg-desktop-menu/data/menu_item_dummy2.desktop | 5 | ||||
-rwxr-xr-x | tests/xdg-desktop-menu/t.15-menu_advanced_install | 87 |
2 files changed, 92 insertions, 0 deletions
diff --git a/tests/xdg-desktop-menu/data/menu_item_dummy2.desktop b/tests/xdg-desktop-menu/data/menu_item_dummy2.desktop new file mode 100644 index 0000000..7a3380f --- /dev/null +++ b/tests/xdg-desktop-menu/data/menu_item_dummy2.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Type=Application +Name=EXTRA ITEM 2 +Exec=touch xdgtestdata-dummy.tmp +StartupNotify=false diff --git a/tests/xdg-desktop-menu/t.15-menu_advanced_install b/tests/xdg-desktop-menu/t.15-menu_advanced_install new file mode 100755 index 0000000..502529a --- /dev/null +++ b/tests/xdg-desktop-menu/t.15-menu_advanced_install @@ -0,0 +1,87 @@ +#!/bin/bash + +## Include utility functions. +. "$XDG_TEST_DIR/include/testassertions.sh" +. "$XDG_TEST_DIR/include/testcontrol.sh" + +## Test function +test_menu_advanced_install() { +## Begin the test. +test_start "$FUNCNAME: verify submenus are handled correctly" + +# Dependencies section +test_init + +USERPATH="$HOME/.local:$HOME/.config" + +set_no_display + +# Generate .desktop file +use_file "$XDG_TEST_DIR/xdg-desktop-menu/data/menu_item_test.desktop" DESKTOP +use_file "$XDG_TEST_DIR/xdg-desktop-menu/data/menu_item_dummy.desktop" DESKTOP2 +use_file "$XDG_TEST_DIR/xdg-desktop-menu/data/menu_item_dummy2.desktop" DESKTOP3 +use_file "$XDG_TEST_DIR/xdg-desktop-menu/data/menu_install.directory" DIRECTORY + +edit_file "$DIRECTORY" 'XDG UTILS TEST' MENU_NAME "MENU $XDG_TEST_SHORTID" + +edit_file "$DESKTOP" 'xdg-test-menu-item-install.tmp' CREATEFILE +edit_file "$DESKTOP" 'Test Menu Item Install' ITEM_TEXT "TEST $XDG_TEST_SHORTID" +edit_file "$DESKTOP" '/tmp' WORK_DIR "$XDG_TEST_TMPDIR" + +assert_file "$DESKTOP" +assert_file "$DIRECTORY" + +# Verify the test icon is not installed already. +assert_file_not_in_path "$DESKTOP" "$USERPATH" +assert_file_not_in_path "$DIRECTORY" "$USERPATH" + +# Test steps section +test_procedure + +assert_exit 0 xdg-desktop-menu install "$DIRECTORY" "$DESKTOP" "$DESKTOP2" "$DESKTOP3" +assert_nostdout +assert_nostderr + +if [ `whoami` != 'root' ]; then +assert_file_in_path "$DESKTOP" "$USERPATH" +assert_file_in_path "$DESKTOP2" "$USERPATH" +assert_file_in_path "$DESKTOP3" "$USERPATH" +assert_file_in_path "$DIRECTORY" "$USERPATH" +fi + +if [ -z "$XDG_TEST_NO_INTERACTIVE" -a `whoami` != 'root' ]; then +assert_interactive "Is there a menu in <main> called '$MENU_NAME'?" y +assert_interactive "Are there exactly 3 items in '<main>/$MENU_NAME' called 'EXTRA ITEM', 'EXTRA ITEM 2' and '$ITEM_TEXT'?" y +fi + +assert_exit 0 xdg-desktop-menu uninstall "$DIRECTORY" "$DESKTOP3" +assert_nostdout +assert_nostderr + +if [ `whoami` != 'root' ]; then +assert_file_in_path "$DESKTOP" "$USERPATH" +assert_file_in_path "$DESKTOP2" "$USERPATH" +assert_file_not_in_path "$DESKTOP3" "$USERPATH" +assert_file_in_path "$DIRECTORY" "$USERPATH" +fi + +if [ -z "$XDG_TEST_NO_INTERACTIVE" -a `whoami` != 'root' ]; then +assert_interactive "Is there still a menu in <main> called '$MENU_NAME'?" y +assert_interactive "Are there exactly 2 items in '<main>/$MENU_NAME' called 'EXTRA ITEM' and '$ITEM_TEXT'?" y +fi + +assert_exit 0 xdg-desktop-menu uninstall "$DIRECTORY" "$DESKTOP" "$DESKTOP2" +assert_nostdout +assert_nostderr + +if [ `whoami` != 'root' ]; then +assert_file_not_in_path "$DESKTOP" "$USERPATH" +assert_file_not_in_path "$DESKTOP2" "$USERPATH" +assert_file_not_in_path "$DESKTOP3" "$USERPATH" +assert_file_not_in_path "$DIRECTORY" "$USERPATH" +fi + +test_result +} + +run_test test_menu_advanced_install |