summaryrefslogtreecommitdiff
path: root/tests/xdg-desktop-menu/t.10-simple_menu_item_user_install
blob: 07cf2dad131ee2516579d79684b72830f7755d5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash

## Include utility functions.
. "$XDG_TEST_DIR/include/testassertions.sh"
. "$XDG_TEST_DIR/include/testcontrol.sh"

## Test function
test_simple_menu_item_user_install() {
## Begin the test.
test_start "$FUNCNAME: verify a basic desktop file is installed in the user's applications menu"
test_purpose "A basic desktop file is installed into the menu."

# Dependencies section
test_init

# Generate .desktop file
USERPATH="$HOME/.local"

set_no_display

use_file "$XDG_TEST_DIR/xdg-desktop-menu/data/menu_item_category.desktop" DESKTOP
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"

# Verify the test icon is not installed already.
assert_file_not_in_path "$DESKTOP" "$USERPATH"

# Test steps section
test_procedure

assert_exit 0 xdg-desktop-menu install --mode user "$DESKTOP"
assert_nostdout
assert_nostderr

assert_file_in_path "$DESKTOP" "$USERPATH"

if [ -z "$XDG_TEST_NO_INTERACTIVE" -a `whoami` != 'root' ]; then

assert_interactive "Is an item called '$ITEM_TEXT' somewhere in the menu tree, possibly in a menu dedicated to 'Development'?" y
assert_interactive "Please select the menu item '$ITEM_TEXT'"

## Double clicking will result in the command 'touch xdg-test-menu-item-install.tmp' to be run
assert_file "$WORK_DIR/$CREATEFILE"
fi

assert_exit 0 xdg-desktop-menu uninstall --mode user "$DESKTOP"
assert_nostdout
assert_nostderr

assert_file_not_in_path "$DESKTOP" "$USERPATH"

assert_interactive_notroot "Is the menu item '$ITEM_TEXT' still present?" n

test_result
} 

run_test test_simple_menu_item_user_install