| Index: third_party/xdg-utils/tests/xdg-desktop-menu/t.15-menu_advanced_install
|
| ===================================================================
|
| --- third_party/xdg-utils/tests/xdg-desktop-menu/t.15-menu_advanced_install (revision 0)
|
| +++ third_party/xdg-utils/tests/xdg-desktop-menu/t.15-menu_advanced_install (revision 0)
|
| @@ -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
|
|
|
| Property changes on: third_party/xdg-utils/tests/xdg-desktop-menu/t.15-menu_advanced_install
|
| ___________________________________________________________________
|
| Name: svn:executable
|
| + *
|
|
|
|
|