diff options
author | Waldo Bastian <waldo.bastian@intel.com> | 2007-01-19 01:14:02 +0000 |
---|---|---|
committer | Waldo Bastian <waldo.bastian@intel.com> | 2007-01-19 01:14:02 +0000 |
commit | 612c49cc74998f1fcff39b1cfde6a01f3c18c069 (patch) | |
tree | 1829be49189e6858afee76509845ad31f0ee6b74 /menu/tests/tests | |
parent | 7d249792235d0f3b69f833f89bef545a367f0b6b (diff) | |
download | xdg-specs-612c49cc74998f1fcff39b1cfde6a01f3c18c069.tar.xz |
Added support for LSB's TET test framework Renamed tests to more
* Added support for LSB's TET test framework
* Renamed tests to more meaningful names (see ChangeLog for details)
Diffstat (limited to 'menu/tests/tests')
-rw-r--r-- | menu/tests/tests/1/test | 24 | ||||
-rw-r--r-- | menu/tests/tests/5/test | 25 | ||||
-rw-r--r-- | menu/tests/tests/All/result (renamed from menu/tests/tests/5/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/All/test | 26 | ||||
-rw-r--r-- | menu/tests/tests/And/result (renamed from menu/tests/tests/6/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/And/test (renamed from menu/tests/tests/7/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/AppDir-relative/result (renamed from menu/tests/tests/g/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/AppDir-relative/test | 27 | ||||
-rw-r--r-- | menu/tests/tests/AppDir/test | 4 | ||||
-rw-r--r-- | menu/tests/tests/Category/result (renamed from menu/tests/tests/1/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Category/test | 29 | ||||
-rw-r--r-- | menu/tests/tests/DefaultMergeDirs/result (renamed from menu/tests/tests/i/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/DefaultMergeDirs/test (renamed from menu/tests/tests/i/test) | 19 | ||||
-rw-r--r-- | menu/tests/tests/Deleted/result (renamed from menu/tests/tests/3/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Deleted/test (renamed from menu/tests/tests/3/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/DesktopFileID/result (renamed from menu/tests/tests/a/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/DesktopFileID/test | 26 | ||||
-rw-r--r-- | menu/tests/tests/Directory/result (renamed from menu/tests/tests/c/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Directory/test (renamed from menu/tests/tests/c/test) | 17 | ||||
-rw-r--r-- | menu/tests/tests/DirectoryDir-relative/result (renamed from menu/tests/tests/h/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/DirectoryDir-relative/test | 28 | ||||
-rw-r--r-- | menu/tests/tests/DirectoryDir/test | 4 | ||||
-rw-r--r-- | menu/tests/tests/Exclude/result (renamed from menu/tests/tests/9/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Exclude/test (renamed from menu/tests/tests/9/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/Filename/result (renamed from menu/tests/tests/7/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Filename/test (renamed from menu/tests/tests/6/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/LegacyDir-Move/result (renamed from menu/tests/tests/w/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/LegacyDir-Move/test (renamed from menu/tests/tests/w/test) | 21 | ||||
-rw-r--r-- | menu/tests/tests/LegacyDir-relative/result (renamed from menu/tests/tests/e/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/LegacyDir-relative/test (renamed from menu/tests/tests/e/test) | 27 | ||||
-rw-r--r-- | menu/tests/tests/Merge-combined/result (renamed from menu/tests/tests/y/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Merge-combined/test (renamed from menu/tests/tests/y/test) | 21 | ||||
-rw-r--r-- | menu/tests/tests/MergeDir-absolute/test | 3 | ||||
-rw-r--r-- | menu/tests/tests/MergeDir-relative/result (renamed from menu/tests/tests/j/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/MergeDir-relative/test | 61 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-absolute/test | 3 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-parent/result (renamed from menu/tests/tests/k/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-parent/test (renamed from menu/tests/tests/q/test) | 23 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-path/result (renamed from menu/tests/tests/r/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-path/test (renamed from menu/tests/tests/r/test) | 23 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-recursive/result (renamed from menu/tests/tests/l/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-recursive/test (renamed from menu/tests/tests/u/test) | 24 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-relative/result (renamed from menu/tests/tests/p/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile-relative/test (renamed from menu/tests/tests/k/test) | 21 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile2/result (renamed from menu/tests/tests/q/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile2/test (renamed from menu/tests/tests/l/test) | 25 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile3/result (renamed from menu/tests/tests/u/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/MergeFile3/test (renamed from menu/tests/tests/p/test) | 23 | ||||
-rw-r--r-- | menu/tests/tests/Move-collapsing/result (renamed from menu/tests/tests/f/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Move-collapsing/test (renamed from menu/tests/tests/f/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/Move-ordering/result (renamed from menu/tests/tests/t/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Move-ordering/test (renamed from menu/tests/tests/t/test) | 18 | ||||
-rw-r--r-- | menu/tests/tests/Move-submenu/result (renamed from menu/tests/tests/x/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Move-submenu/test (renamed from menu/tests/tests/x/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/Move/result (renamed from menu/tests/tests/4/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Move/test (renamed from menu/tests/tests/4/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/NoDisplay/result (renamed from menu/tests/tests/m/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/NoDisplay/test (renamed from menu/tests/tests/m/test) | 16 | ||||
-rw-r--r-- | menu/tests/tests/NoDisplay2/result (renamed from menu/tests/tests/n/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/NoDisplay2/test (renamed from menu/tests/tests/n/test) | 16 | ||||
-rw-r--r-- | menu/tests/tests/NotOnlyUnallocated-default/result (renamed from menu/tests/tests/v/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/NotOnlyUnallocated-default/test (renamed from menu/tests/tests/v/test) | 16 | ||||
-rw-r--r-- | menu/tests/tests/OnlyUnallocated/result (renamed from menu/tests/tests/2/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/OnlyUnallocated/test (renamed from menu/tests/tests/2/test) | 14 | ||||
-rw-r--r-- | menu/tests/tests/Or/result (renamed from menu/tests/tests/8/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/Or/test (renamed from menu/tests/tests/8/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/a/test | 25 | ||||
-rw-r--r-- | menu/tests/tests/boolean-logic/result (renamed from menu/tests/tests/o/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/boolean-logic/test | 36 | ||||
-rw-r--r-- | menu/tests/tests/desktop-name-collision/result (renamed from menu/tests/tests/s/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/desktop-name-collision/test | 53 | ||||
-rw-r--r-- | menu/tests/tests/g/test | 25 | ||||
-rw-r--r-- | menu/tests/tests/h/test | 28 | ||||
-rw-r--r-- | menu/tests/tests/j/test | 42 | ||||
-rw-r--r-- | menu/tests/tests/menu-multiple-matching/result (renamed from menu/tests/tests/b/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/menu-multiple-matching/test (renamed from menu/tests/tests/b/test) | 15 | ||||
-rw-r--r-- | menu/tests/tests/o/test | 34 | ||||
-rw-r--r-- | menu/tests/tests/official-categories/categories.list | 10 | ||||
-rw-r--r-- | menu/tests/tests/official-categories/test | 73 | ||||
-rw-r--r-- | menu/tests/tests/official-categories/unique-entry.desktop | 9 | ||||
-rw-r--r-- | menu/tests/tests/s/test | 51 | ||||
-rw-r--r-- | menu/tests/tests/submenu-collision/result (renamed from menu/tests/tests/d/result) | 0 | ||||
-rw-r--r-- | menu/tests/tests/submenu-collision/test (renamed from menu/tests/tests/d/test) | 15 |
83 files changed, 642 insertions, 478 deletions
diff --git a/menu/tests/tests/1/test b/menu/tests/tests/1/test deleted file mode 100644 index 57cc0bb..0000000 --- a/menu/tests/tests/1/test +++ /dev/null @@ -1,24 +0,0 @@ -echo ">>> the <Category> tag" - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - <!-- Search the default locations --> - <DefaultAppDirs/> - - <Menu> - <Name>Editors</Name> - <Include> - <Category>TextEditor</Category> - </Include> - </Menu> -</Menu> -EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop diff --git a/menu/tests/tests/5/test b/menu/tests/tests/5/test deleted file mode 100644 index 45c734d..0000000 --- a/menu/tests/tests/5/test +++ /dev/null @@ -1,25 +0,0 @@ -echo ">>> the <All> Keyword" - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - <!-- Search the default locations --> - <DefaultAppDirs/> - - <Menu> - <Name>Applications</Name> - <Include> - <All/> - </Include> - </Menu> -</Menu> -EOF - - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop diff --git a/menu/tests/tests/5/result b/menu/tests/tests/All/result index fc75a82..fc75a82 100644 --- a/menu/tests/tests/5/result +++ b/menu/tests/tests/All/result diff --git a/menu/tests/tests/All/test b/menu/tests/tests/All/test new file mode 100644 index 0000000..e97bddc --- /dev/null +++ b/menu/tests/tests/All/test @@ -0,0 +1,26 @@ +TEST_PURPOSE="<All> Keyword" + +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + <!-- Search the default locations --> + <DefaultAppDirs/> + + <Menu> + <Name>Applications</Name> + <Include> + <All/> + </Include> + </Menu> +</Menu> +EOF + + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/6/result b/menu/tests/tests/And/result index dc159fa..dc159fa 100644 --- a/menu/tests/tests/6/result +++ b/menu/tests/tests/And/result diff --git a/menu/tests/tests/7/test b/menu/tests/tests/And/test index ac4570f..31571db 100644 --- a/menu/tests/tests/7/test +++ b/menu/tests/tests/And/test @@ -1,8 +1,9 @@ -echo ">>> the <And> Keyword" +TEST_PURPOSE="<And> Keyword" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -23,6 +24,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/g/result b/menu/tests/tests/AppDir-relative/result index 9e1d622..9e1d622 100644 --- a/menu/tests/tests/g/result +++ b/menu/tests/tests/AppDir-relative/result diff --git a/menu/tests/tests/AppDir-relative/test b/menu/tests/tests/AppDir-relative/test new file mode 100644 index 0000000..75bd201 --- /dev/null +++ b/menu/tests/tests/AppDir-relative/test @@ -0,0 +1,27 @@ +TEST_PURPOSE="<AppDir> relative path tag ..." + +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + <!-- Search the default locations --> + <AppDir>apps</AppDir> + + <Menu> + <Name>Applications</Name> + <Include> + <Category>TextEditor</Category> + </Include> + </Menu> +</Menu> +EOF + + # Install .desktop files + installData "${XDG_CONFIG_DIR}/menus/apps" kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + installDataAs "${XDG_CONFIG_DIR}/menus/apps" kwrite.desktop should_be_ignored.notdesktop +} diff --git a/menu/tests/tests/AppDir/test b/menu/tests/tests/AppDir/test new file mode 100644 index 0000000..8faff91 --- /dev/null +++ b/menu/tests/tests/AppDir/test @@ -0,0 +1,4 @@ +. tests/AppDir-relative/test +export PATH_EXPANSION='${XDG_CONFIG_DIR}/menus/' +TEST_PURPOSE="<AppDir> absolute path" + diff --git a/menu/tests/tests/1/result b/menu/tests/tests/Category/result index 73b00c9..73b00c9 100644 --- a/menu/tests/tests/1/result +++ b/menu/tests/tests/Category/result diff --git a/menu/tests/tests/Category/test b/menu/tests/tests/Category/test new file mode 100644 index 0000000..3ee0777 --- /dev/null +++ b/menu/tests/tests/Category/test @@ -0,0 +1,29 @@ +TEST_PURPOSE="<Category> tag" + +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + <!-- Search the default locations --> + <DefaultAppDirs/> + + <Menu> + <Name>Editors</Name> + <Include> + <Category>TextEditor</Category> + <!-- note it's lowercase, this is intentional to verify + it's a case sensitive implementation --> + <Category>application</Category> + </Include> + </Menu> +</Menu> +EOF + +# Install .desktop files, freecell is daft but intentional to verify category support is case sensitive +installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop freecell.desktop +} diff --git a/menu/tests/tests/i/result b/menu/tests/tests/DefaultMergeDirs/result index 9e17189..9e17189 100644 --- a/menu/tests/tests/i/result +++ b/menu/tests/tests/DefaultMergeDirs/result diff --git a/menu/tests/tests/i/test b/menu/tests/tests/DefaultMergeDirs/test index 26c471e..3b570f2 100644 --- a/menu/tests/tests/i/test +++ b/menu/tests/tests/DefaultMergeDirs/test @@ -1,8 +1,9 @@ -echo ">>> the <DefaultMergeDirs> tag ..." +TEST_PURPOSE="<DefaultMergeDirs> tag ..." -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -20,9 +21,8 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ -./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF + mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ + ./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -38,5 +38,6 @@ mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} diff --git a/menu/tests/tests/3/result b/menu/tests/tests/Deleted/result index c121419..c121419 100644 --- a/menu/tests/tests/3/result +++ b/menu/tests/tests/Deleted/result diff --git a/menu/tests/tests/3/test b/menu/tests/tests/Deleted/test index 2ec4ebc..db7a413 100644 --- a/menu/tests/tests/3/test +++ b/menu/tests/tests/Deleted/test @@ -1,8 +1,9 @@ -echo ">>> the <Deleted> tag" +TEST_PURPOSE="<Deleted> tag" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -29,6 +30,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/a/result b/menu/tests/tests/DesktopFileID/result index 9629384..9629384 100644 --- a/menu/tests/tests/a/result +++ b/menu/tests/tests/DesktopFileID/result diff --git a/menu/tests/tests/DesktopFileID/test b/menu/tests/tests/DesktopFileID/test new file mode 100644 index 0000000..ae2c679 --- /dev/null +++ b/menu/tests/tests/DesktopFileID/test @@ -0,0 +1,26 @@ +TEST_PURPOSE="DesktopFileIDs in submenus" + +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + <!-- Search the default locations --> + <DefaultAppDirs/> + + <Menu> + <Name>Applications</Name> + <Include> + <Category>Game</Category> + </Include> + </Menu> +</Menu> +EOF + + # Install .desktop files + installData ${XDG_DATA_DIR}/applications/company/games gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/c/result b/menu/tests/tests/Directory/result index 2cd1d1f..2cd1d1f 100644 --- a/menu/tests/tests/c/result +++ b/menu/tests/tests/Directory/result diff --git a/menu/tests/tests/c/test b/menu/tests/tests/Directory/test index 3751fab..fe7e126 100644 --- a/menu/tests/tests/c/test +++ b/menu/tests/tests/Directory/test @@ -1,8 +1,9 @@ -echo ">>> the <Directory> tag ..." +TEST_PURPOSE="<Directory> tag ..." -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -22,7 +23,7 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop -installData ${XDG_DATA_DIR}/desktop-directories apps.directory + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + installData ${XDG_DATA_DIR}/desktop-directories apps.directory +} diff --git a/menu/tests/tests/h/result b/menu/tests/tests/DirectoryDir-relative/result index 2cd1d1f..2cd1d1f 100644 --- a/menu/tests/tests/h/result +++ b/menu/tests/tests/DirectoryDir-relative/result diff --git a/menu/tests/tests/DirectoryDir-relative/test b/menu/tests/tests/DirectoryDir-relative/test new file mode 100644 index 0000000..4a5e039 --- /dev/null +++ b/menu/tests/tests/DirectoryDir-relative/test @@ -0,0 +1,28 @@ +TEST_PURPOSE="relative <DirectoryDir> tag ..." + +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + <!-- Search the default locations --> + <DefaultAppDirs/> + <DirectoryDir>${PATH_EXPANSION}desktop-directories</DirectoryDir> + + <Menu> + <Name>Applications</Name> + <Directory>apps.directory</Directory> + <Include> + <Category>TextEditor</Category> + </Include> + </Menu> +</Menu> +EOF + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + installData ${XDG_CONFIG_DIR}/menus/desktop-directories apps.directory +} diff --git a/menu/tests/tests/DirectoryDir/test b/menu/tests/tests/DirectoryDir/test new file mode 100644 index 0000000..dc8bb3b --- /dev/null +++ b/menu/tests/tests/DirectoryDir/test @@ -0,0 +1,4 @@ +. tests/DirectoryDir-relative/test +export PATH_EXPANSION='${XDG_CONFIG_DIR}/menus/' +TEST_PURPOSE="<DirectoryDir> absolute path" + diff --git a/menu/tests/tests/9/result b/menu/tests/tests/Exclude/result index dfbb122..dfbb122 100644 --- a/menu/tests/tests/9/result +++ b/menu/tests/tests/Exclude/result diff --git a/menu/tests/tests/9/test b/menu/tests/tests/Exclude/test index c3c6321..728ec99 100644 --- a/menu/tests/tests/9/test +++ b/menu/tests/tests/Exclude/test @@ -1,8 +1,9 @@ -echo ">>> the <Exclude> Keyword" +TEST_PURPOSE="<Exclude> Keyword" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -26,6 +27,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/7/result b/menu/tests/tests/Filename/result index dc159fa..dc159fa 100644 --- a/menu/tests/tests/7/result +++ b/menu/tests/tests/Filename/result diff --git a/menu/tests/tests/6/test b/menu/tests/tests/Filename/test index ef1d734..b9d021d 100644 --- a/menu/tests/tests/6/test +++ b/menu/tests/tests/Filename/test @@ -1,8 +1,9 @@ -echo ">>> the <Filename> tag" +TEST_PURPOSE="<Filename> tag" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -20,6 +21,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/w/result b/menu/tests/tests/LegacyDir-Move/result index 9a2b9db..9a2b9db 100644 --- a/menu/tests/tests/w/result +++ b/menu/tests/tests/LegacyDir-Move/result diff --git a/menu/tests/tests/w/test b/menu/tests/tests/LegacyDir-Move/test index 45fb03a..7e6e85e 100644 --- a/menu/tests/tests/w/test +++ b/menu/tests/tests/LegacyDir-Move/test @@ -1,11 +1,12 @@ -echo ">>> Move entries from <LegacyDir>" +TEST_PURPOSE="move entries from <LegacyDir>" -LEGACY_DIR=${MENUTESTDIR}/legacy_applnk -export LEGACY_DIR +test_code() { + LEGACY_DIR=${MENUTESTDIR}/legacy_applnk + export LEGACY_DIR -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -31,8 +32,8 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF + # Install .desktop files -# Install .desktop files - -installData ${LEGACY_DIR} Home.desktop -installData ${LEGACY_DIR}/Development gideon-legacy.desktop + installData ${LEGACY_DIR} Home.desktop + installData ${LEGACY_DIR}/Development gideon-legacy.desktop +} diff --git a/menu/tests/tests/e/result b/menu/tests/tests/LegacyDir-relative/result index 0c2af9b..0c2af9b 100644 --- a/menu/tests/tests/e/result +++ b/menu/tests/tests/LegacyDir-relative/result diff --git a/menu/tests/tests/e/test b/menu/tests/tests/LegacyDir-relative/test index 33303f4..5082590 100644 --- a/menu/tests/tests/e/test +++ b/menu/tests/tests/LegacyDir-relative/test @@ -1,11 +1,12 @@ -echo ">>> Simple <LegacyDir> test" +TEST_PURPOSE="Simple <LegacyDir> test" -LEGACY_DIR=${MENUTESTDIR}/legacy_applnk -export LEGACY_DIR +test_code() { + LEGACY_DIR=${MENUTESTDIR}/legacy_applnk + export LEGACY_DIR -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -33,13 +34,9 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files - -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop - -installData ${LEGACY_DIR}/Development gideon-legacy.desktop kbabel.desktop quanta.desktop - -installData ${LEGACY_DIR} Kfind.desktop Home.desktop Help.desktop - + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop + installData ${LEGACY_DIR}/Development gideon-legacy.desktop kbabel.desktop quanta.desktop + installData ${LEGACY_DIR} Kfind.desktop Home.desktop Help.desktop +} diff --git a/menu/tests/tests/y/result b/menu/tests/tests/Merge-combined/result index 999bd1e..999bd1e 100644 --- a/menu/tests/tests/y/result +++ b/menu/tests/tests/Merge-combined/result diff --git a/menu/tests/tests/y/test b/menu/tests/tests/Merge-combined/test index 1c20959..07cfab3 100644 --- a/menu/tests/tests/y/test +++ b/menu/tests/tests/Merge-combined/test @@ -1,11 +1,12 @@ -echo ">>> Merge Two Menus and a Legacy Menu" +TEST_PURPOSE="Merge Two Menus and a Legacy Menu" -LEGACY_DIR=${MENUTESTDIR}/legacy_applnk -export LEGACY_DIR +test_code() { + LEGACY_DIR=${MENUTESTDIR}/legacy_applnk + export LEGACY_DIR -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -38,8 +39,8 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF + # Install .desktop files -# Install .desktop files - -installData ${LEGACY_DIR}/Development gideon-legacy.desktop -installData ${XDG_DATA_DIR}/applications kate.desktop kwrite.desktop KEdit.desktop + installData ${LEGACY_DIR}/Development gideon-legacy.desktop + installData ${XDG_DATA_DIR}/applications kate.desktop kwrite.desktop KEdit.desktop +} diff --git a/menu/tests/tests/MergeDir-absolute/test b/menu/tests/tests/MergeDir-absolute/test new file mode 100644 index 0000000..db6c895 --- /dev/null +++ b/menu/tests/tests/MergeDir-absolute/test @@ -0,0 +1,3 @@ +. tests/MergeDir-relative/test +export PATH_EXPANSION='${XDG_CONFIG_DIR}/menus/' +export TEST_PURPOSE="<MergeDir> absolute path test" diff --git a/menu/tests/tests/j/result b/menu/tests/tests/MergeDir-relative/result index 9e17189..9e17189 100644 --- a/menu/tests/tests/j/result +++ b/menu/tests/tests/MergeDir-relative/result diff --git a/menu/tests/tests/MergeDir-relative/test b/menu/tests/tests/MergeDir-relative/test new file mode 100644 index 0000000..ba96b1a --- /dev/null +++ b/menu/tests/tests/MergeDir-relative/test @@ -0,0 +1,61 @@ +TEST_PURPOSE="<MergeDir> relative path ..." + +test_code() { + # Generate applications.menu + mkdir -p "${XDG_CONFIG_DIR}/menus" + ./expand > "${XDG_CONFIG_DIR}/menus/applications.menu" <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + <DefaultAppDirs/> + <MergeDir>${PATH_EXPANSION}applications-merged</MergeDir> + + <Menu> + <Name>Applications</Name> + <Include> + <Category>TextEditor</Category> + </Include> + </Menu> +</Menu> +EOF + + mkdir "${XDG_CONFIG_DIR}/menus/applications-merged/" + ./expand > "${XDG_CONFIG_DIR}/menus/applications-merged/test.menu" <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + + <Menu> + <Name>Development</Name> + <Include> + <Category>Development</Category> + </Include> + </Menu> +</Menu> +EOF + + # intentional crap entry to verify it does _not_ get picked up + ./expand > "${XDG_CONFIG_DIR}/menus/applications-merged/dar.notmenu" <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + + <Menu> + <Name>testing</Name> + <Include> + <All/> + </Include> + </Menu> +</Menu> +EOF + + + # Install .desktop files + installData "${XDG_DATA_DIR}/applications" kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} diff --git a/menu/tests/tests/MergeFile-absolute/test b/menu/tests/tests/MergeFile-absolute/test new file mode 100644 index 0000000..24cf669 --- /dev/null +++ b/menu/tests/tests/MergeFile-absolute/test @@ -0,0 +1,3 @@ +. tests/MergeFile-relative/test +export PATH_EXPANSION='${XDG_CONFIG_DIR}/menus/' +export TEST_PURPOSE="<MergeFile> absolute path" diff --git a/menu/tests/tests/k/result b/menu/tests/tests/MergeFile-parent/result index 9e17189..9e17189 100644 --- a/menu/tests/tests/k/result +++ b/menu/tests/tests/MergeFile-parent/result diff --git a/menu/tests/tests/q/test b/menu/tests/tests/MergeFile-parent/test index 6e071c6..00ed006 100644 --- a/menu/tests/tests/q/test +++ b/menu/tests/tests/MergeFile-parent/test @@ -1,10 +1,11 @@ -echo ">>> the <MergeFile> tag ..." +TEST_PURPOSE="<MergeFile> tag ..." -# Tests the type attribute in <MergeFile> +test_code() { + # Tests the type attribute in <MergeFile> -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_HOME}/menus -./expand > ${XDG_CONFIG_HOME}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_HOME}/menus + ./expand > ${XDG_CONFIG_HOME}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -22,9 +23,8 @@ mkdir -p ${XDG_CONFIG_HOME}/menus </Menu> EOF - -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/test.menu <<EOF + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -40,7 +40,7 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -56,5 +56,6 @@ EOF </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/r/result b/menu/tests/tests/MergeFile-path/result index fbe635e..fbe635e 100644 --- a/menu/tests/tests/r/result +++ b/menu/tests/tests/MergeFile-path/result diff --git a/menu/tests/tests/r/test b/menu/tests/tests/MergeFile-path/test index 6facb91..97daa5c 100644 --- a/menu/tests/tests/r/test +++ b/menu/tests/tests/MergeFile-path/test @@ -1,10 +1,11 @@ -echo ">>> the <MergeFile> tag ..." +TEST_PURPOSE="<MergeFile> tag ..." -# Tests the type attribute in <MergeFile> +test_code() { + # Tests the type attribute in <MergeFile> -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_HOME}/menus -./expand > ${XDG_CONFIG_HOME}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_HOME}/menus + ./expand > ${XDG_CONFIG_HOME}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -22,9 +23,8 @@ mkdir -p ${XDG_CONFIG_HOME}/menus </Menu> EOF - -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/test.menu <<EOF + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -40,7 +40,7 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -56,5 +56,6 @@ EOF </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/l/result b/menu/tests/tests/MergeFile-recursive/result index 9e17189..9e17189 100644 --- a/menu/tests/tests/l/result +++ b/menu/tests/tests/MergeFile-recursive/result diff --git a/menu/tests/tests/u/test b/menu/tests/tests/MergeFile-recursive/test index 83e3700..4dbab21 100644 --- a/menu/tests/tests/u/test +++ b/menu/tests/tests/MergeFile-recursive/test @@ -1,10 +1,9 @@ -echo ">>> recursive <MergeFile>s ..." +TEST_PURPOSE="test elaborate recursive look in <MergeFile>s" -# Test elaborate recursive loop in <MergeFile>s - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code(){ + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -23,8 +22,8 @@ mkdir -p ${XDG_CONFIG_DIR}/menus EOF -mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ -./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF + mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ + ./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -35,8 +34,8 @@ mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ </Menu> EOF -mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/extra/ -./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/extra/test.menu <<EOF + mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/extra/ + ./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/extra/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -54,5 +53,6 @@ mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/extra/ </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} diff --git a/menu/tests/tests/p/result b/menu/tests/tests/MergeFile-relative/result index 9e17189..9e17189 100644 --- a/menu/tests/tests/p/result +++ b/menu/tests/tests/MergeFile-relative/result diff --git a/menu/tests/tests/k/test b/menu/tests/tests/MergeFile-relative/test index 2a037b7..c3478db 100644 --- a/menu/tests/tests/k/test +++ b/menu/tests/tests/MergeFile-relative/test @@ -1,15 +1,16 @@ -echo ">>> the <MergeFile> tag ..." +TEST_PURPOSE="<MergeFile> tag relative path" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code(){ + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> <Menu> <Name>KDE</Name> <DefaultAppDirs/> - <MergeFile>applications-merged/test.menu</MergeFile> + <MergeFile>${PATH_EXPANSION}applications-merged/test.menu</MergeFile> <Menu> <Name>Applications</Name> @@ -20,9 +21,8 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ -./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF + mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ + ./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> <!-- test --> @@ -39,5 +39,6 @@ mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} diff --git a/menu/tests/tests/q/result b/menu/tests/tests/MergeFile2/result index 9e17189..9e17189 100644 --- a/menu/tests/tests/q/result +++ b/menu/tests/tests/MergeFile2/result diff --git a/menu/tests/tests/l/test b/menu/tests/tests/MergeFile2/test index 3d6bfcd..e5b1591 100644 --- a/menu/tests/tests/l/test +++ b/menu/tests/tests/MergeFile2/test @@ -1,10 +1,11 @@ -echo ">>> the <MergeFile> tag ..." +TEST_PURPOSE="<MergeFile> tag ..." -# Tests the use of relative paths in <MergeFile> +test_code() { + # Tests the use of relative paths in <MergeFile> -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -22,9 +23,8 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ -./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF + mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ + ./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -35,8 +35,8 @@ mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ </Menu> EOF -mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/extra/ -./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/extra/test.menu <<EOF + mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/extra/ + ./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/extra/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -52,5 +52,6 @@ mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/extra/ </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} diff --git a/menu/tests/tests/u/result b/menu/tests/tests/MergeFile3/result index 9e17189..9e17189 100644 --- a/menu/tests/tests/u/result +++ b/menu/tests/tests/MergeFile3/result diff --git a/menu/tests/tests/p/test b/menu/tests/tests/MergeFile3/test index 3341eec..8781888 100644 --- a/menu/tests/tests/p/test +++ b/menu/tests/tests/MergeFile3/test @@ -1,10 +1,11 @@ -echo ">>> the <MergeFile> tag ..." +TEST_PURPOSE="<MergeFile> tag ..." -# Tests the use of relative paths in <MergeFile> +test_code() { + # Tests the use of relative paths in <MergeFile> -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -22,8 +23,7 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -./expand > ${XDG_CONFIG_DIR}/menus/test.menu <<EOF + ./expand > ${XDG_CONFIG_DIR}/menus/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -34,8 +34,8 @@ EOF </Menu> EOF -mkdir ${XDG_CONFIG_DIR}/menus/extra/ -./expand > ${XDG_CONFIG_DIR}/menus/extra/test.menu <<EOF + mkdir ${XDG_CONFIG_DIR}/menus/extra/ + ./expand > ${XDG_CONFIG_DIR}/menus/extra/test.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -51,5 +51,6 @@ mkdir ${XDG_CONFIG_DIR}/menus/extra/ </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} diff --git a/menu/tests/tests/f/result b/menu/tests/tests/Move-collapsing/result index 10ccec6..10ccec6 100644 --- a/menu/tests/tests/f/result +++ b/menu/tests/tests/Move-collapsing/result diff --git a/menu/tests/tests/f/test b/menu/tests/tests/Move-collapsing/test index 5d673d8..b842b0a 100644 --- a/menu/tests/tests/f/test +++ b/menu/tests/tests/Move-collapsing/test @@ -1,8 +1,9 @@ -echo ">>> a complicated <Move> operation" +TEST_PURPOSE="complicated <Move> operation" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -34,6 +35,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/t/result b/menu/tests/tests/Move-ordering/result index b941f58..b941f58 100644 --- a/menu/tests/tests/t/result +++ b/menu/tests/tests/Move-ordering/result diff --git a/menu/tests/tests/t/test b/menu/tests/tests/Move-ordering/test index bbe7568..f8883b9 100644 --- a/menu/tests/tests/t/test +++ b/menu/tests/tests/Move-ordering/test @@ -1,10 +1,11 @@ -echo ">>> Order of <Move> operations ..." +TEST_PURPOSE="Order of <Move> operations ..." -# Tests the type attribute in <MergeFile> +test_code() { + # Tests the type attribute in <MergeFile> -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -41,7 +42,8 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF -# Move operations in sub-menus should be performed first + # Move operations in sub-menus should be performed first -# Install .desktop files -installData ${XDG_DATA_DIR}/applications freecell.desktop glines.desktop gideon.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications freecell.desktop glines.desktop gideon.desktop +} diff --git a/menu/tests/tests/x/result b/menu/tests/tests/Move-submenu/result index f1c44ef..f1c44ef 100644 --- a/menu/tests/tests/x/result +++ b/menu/tests/tests/Move-submenu/result diff --git a/menu/tests/tests/x/test b/menu/tests/tests/Move-submenu/test index bc5ff47..2751983 100644 --- a/menu/tests/tests/x/test +++ b/menu/tests/tests/Move-submenu/test @@ -1,8 +1,9 @@ -echo ">>> Move into a new Submenu" +TEST_PURPOSE="Move into a new Submenu" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -25,7 +26,7 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF + # Install .desktop files -# Install .desktop files - -installData ${XDG_DATA_DIR}/applications gideon-legacy.desktop + installData ${XDG_DATA_DIR}/applications gideon-legacy.desktop +} diff --git a/menu/tests/tests/4/result b/menu/tests/tests/Move/result index d9a802d..d9a802d 100644 --- a/menu/tests/tests/4/result +++ b/menu/tests/tests/Move/result diff --git a/menu/tests/tests/4/test b/menu/tests/tests/Move/test index 9468b0a..9f2d162 100644 --- a/menu/tests/tests/4/test +++ b/menu/tests/tests/Move/test @@ -1,8 +1,9 @@ -echo ">>> a simple <Move> operation" +TEST_PURPOSE="simple <Move> operation" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -28,6 +29,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/m/result b/menu/tests/tests/NoDisplay/result index 7ed7169..7ed7169 100644 --- a/menu/tests/tests/m/result +++ b/menu/tests/tests/NoDisplay/result diff --git a/menu/tests/tests/m/test b/menu/tests/tests/NoDisplay/test index 352885e..48e94ea 100644 --- a/menu/tests/tests/m/test +++ b/menu/tests/tests/NoDisplay/test @@ -1,8 +1,9 @@ -echo ">>> NoDisplay desktop entry values" +TEST_PURPOSE="NoDisplay desktop entry values" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -30,6 +31,7 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop freecell.desktop hidden.desktop -installData ${XDG_DATA_DIR}/desktop-directories hidden.directory + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop freecell.desktop hidden.desktop + installData ${XDG_DATA_DIR}/desktop-directories hidden.directory +} diff --git a/menu/tests/tests/n/result b/menu/tests/tests/NoDisplay2/result index 7ed7169..7ed7169 100644 --- a/menu/tests/tests/n/result +++ b/menu/tests/tests/NoDisplay2/result diff --git a/menu/tests/tests/n/test b/menu/tests/tests/NoDisplay2/test index 7088e16..62ba5a7 100644 --- a/menu/tests/tests/n/test +++ b/menu/tests/tests/NoDisplay2/test @@ -1,8 +1,9 @@ -echo ">>> Allocation of desktop entry values from deleted menus" +TEST_PURPOSE="Allocation of desktop entry values from deleted menus" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus +./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -31,6 +32,7 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop freecell.desktop hidden.desktop -installData ${XDG_DATA_DIR}/desktop-directories apps.directory + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop freecell.desktop hidden.desktop + installData ${XDG_DATA_DIR}/desktop-directories apps.directory +} diff --git a/menu/tests/tests/v/result b/menu/tests/tests/NotOnlyUnallocated-default/result index 0c398b7..0c398b7 100644 --- a/menu/tests/tests/v/result +++ b/menu/tests/tests/NotOnlyUnallocated-default/result diff --git a/menu/tests/tests/v/test b/menu/tests/tests/NotOnlyUnallocated-default/test index 5fb6103..2f4956e 100644 --- a/menu/tests/tests/v/test +++ b/menu/tests/tests/NotOnlyUnallocated-default/test @@ -1,10 +1,11 @@ -echo ">>> Another <OnlyUnallocated> test" +TEST_PURPOSE="Another <OnlyUnallocated> test" -# Tests <OnlyUnallocated> +test_code() { + # Tests <OnlyUnallocated> -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -27,5 +28,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop +} diff --git a/menu/tests/tests/2/result b/menu/tests/tests/OnlyUnallocated/result index 8be4bc7..8be4bc7 100644 --- a/menu/tests/tests/2/result +++ b/menu/tests/tests/OnlyUnallocated/result diff --git a/menu/tests/tests/2/test b/menu/tests/tests/OnlyUnallocated/test index 7e28af5..efda0ff 100644 --- a/menu/tests/tests/2/test +++ b/menu/tests/tests/OnlyUnallocated/test @@ -1,8 +1,9 @@ -echo ">>> the <OnlyAllocated> tag" +TEST_PURPOSE="<OnlyAllocated> tag" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -38,5 +39,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus EOF -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/8/result b/menu/tests/tests/Or/result index fc75a82..fc75a82 100644 --- a/menu/tests/tests/8/result +++ b/menu/tests/tests/Or/result diff --git a/menu/tests/tests/8/test b/menu/tests/tests/Or/test index 4554d05..cd10cfd 100644 --- a/menu/tests/tests/8/test +++ b/menu/tests/tests/Or/test @@ -1,8 +1,9 @@ -echo ">>> the <Or> Keyword" +TEST_PURPOSE="<Or> Keyword" -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -23,6 +24,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop +} diff --git a/menu/tests/tests/a/test b/menu/tests/tests/a/test deleted file mode 100644 index 232704b..0000000 --- a/menu/tests/tests/a/test +++ /dev/null @@ -1,25 +0,0 @@ -echo ">>> a test for DesktopFileIDs in submenus" - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - <!-- Search the default locations --> - <DefaultAppDirs/> - - <Menu> - <Name>Applications</Name> - <Include> - <Category>Game</Category> - </Include> - </Menu> -</Menu> -EOF - - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications/company/games gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop diff --git a/menu/tests/tests/o/result b/menu/tests/tests/boolean-logic/result index ea47f01..ea47f01 100644 --- a/menu/tests/tests/o/result +++ b/menu/tests/tests/boolean-logic/result diff --git a/menu/tests/tests/boolean-logic/test b/menu/tests/tests/boolean-logic/test new file mode 100644 index 0000000..dc045c4 --- /dev/null +++ b/menu/tests/tests/boolean-logic/test @@ -0,0 +1,36 @@ +TEST_PURPOSE="<And><Category>foo</Category><Not><Category>foo</Category></Not></And> shouldn't match anything" + +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + + <DefaultAppDirs/> + <DefaultDirectoryDirs/> + + <Menu> + <Name>Applications</Name> + <Directory>apps.directory</Directory> + <Include> + <Or> + <Category>TextEditor</Category> + <And> + <Category>Game</Category> + <Not><Category>Game</Category></Not> + </And> + </Or> + </Include> + </Menu> +</Menu> +EOF + + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop + installData ${XDG_DATA_DIR}/applications/test freecell.desktop + installData ${XDG_DATA_DIR}/desktop-directories apps.directory +} diff --git a/menu/tests/tests/s/result b/menu/tests/tests/desktop-name-collision/result index e1e9221..e1e9221 100644 --- a/menu/tests/tests/s/result +++ b/menu/tests/tests/desktop-name-collision/result diff --git a/menu/tests/tests/desktop-name-collision/test b/menu/tests/tests/desktop-name-collision/test new file mode 100644 index 0000000..46b5ded --- /dev/null +++ b/menu/tests/tests/desktop-name-collision/test @@ -0,0 +1,53 @@ +TEST_PURPOSE=".desktop files with same name ..." + +test_code() { + # Tests the type attribute in <MergeFile> + + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF + <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" + "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> + +<Menu> + <Name>KDE</Name> + <DefaultAppDirs/> + <Menu> + <Name>Games</Name> + <Include> + <Category>Game</Category> + </Include> + </Menu> + <Menu> + <Name>Development</Name> + <Include> + <Category>Development</Category> + </Include> + </Menu> +</Menu> +EOF + + # Install .desktop files + installData ${XDG_DATA_DIR}/applications freecell.desktop glines.desktop mahjongg.desktop + + # freecell.desktop is installed twice, only the version under ${XDG_DATA_HOME}/applications + # should show up in the menu + # freecell.desktop in ${XDG_DATA_DIR}/applications should be ignored. + installData ${XDG_DATA_HOME}/applications freecell.desktop + + # ${XDG_DATA_HOME}/applications/glines.desktop has NoDisplay=true + # glines.desktop should not be shown + # glines.desktop in ${XDG_DATA_DIR}/applications should be ignored. + installDataAs ${XDG_DATA_HOME}/applications glines-2.desktop glines.desktop + + # ${XDG_DATA_HOME}/applications/mahjongg.desktop has Categories=Development + # mahjongg.desktop should be shown under the Development menu + # mahjongg.desktop in ${XDG_DATA_DIR}/applications should be ignored. + installDataAs ${XDG_DATA_HOME}/applications mahjongg-2.desktop mahjongg.desktop + + # kde/gideon.desktop and kde-gideon.desktop are equivalent + # only the version under ${XDG_DATA_HOME}/applications should show up in the menu + # gideon.desktop in ${XDG_DATA_DIR}/applications/kde should be ignored. + installDataAs ${XDG_DATA_DIR}/applications/kde gideon.desktop + installDataAs ${XDG_DATA_HOME}/applications gideon.desktop kde-gideon.desktop +} diff --git a/menu/tests/tests/g/test b/menu/tests/tests/g/test deleted file mode 100644 index eb75f2e..0000000 --- a/menu/tests/tests/g/test +++ /dev/null @@ -1,25 +0,0 @@ -echo ">>> a relative <AppDir> tag ..." - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - <!-- Search the default locations --> - <AppDir>apps</AppDir> - - <Menu> - <Name>Applications</Name> - <Include> - <Category>TextEditor</Category> - </Include> - </Menu> -</Menu> -EOF - - -# Install .desktop files -installData ${XDG_CONFIG_DIR}/menus/apps kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop diff --git a/menu/tests/tests/h/test b/menu/tests/tests/h/test deleted file mode 100644 index c8fa0cc..0000000 --- a/menu/tests/tests/h/test +++ /dev/null @@ -1,28 +0,0 @@ -echo ">>> a relative <DirectoryDir> tag ..." - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - <!-- Search the default locations --> - <DefaultAppDirs/> - <DirectoryDir>desktop-directories</DirectoryDir> - - <Menu> - <Name>Applications</Name> - <Directory>apps.directory</Directory> - <Include> - <Category>TextEditor</Category> - </Include> - </Menu> -</Menu> -EOF - - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop -installData ${XDG_CONFIG_DIR}/menus/desktop-directories apps.directory diff --git a/menu/tests/tests/j/test b/menu/tests/tests/j/test deleted file mode 100644 index 077d952..0000000 --- a/menu/tests/tests/j/test +++ /dev/null @@ -1,42 +0,0 @@ -echo ">>> the <MergeDir> tag ..." - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - <DefaultAppDirs/> - <MergeDir>applications-merged</MergeDir> - - <Menu> - <Name>Applications</Name> - <Include> - <Category>TextEditor</Category> - </Include> - </Menu> -</Menu> -EOF - - -mkdir ${XDG_CONFIG_DIR}/menus/applications-merged/ -./expand > ${XDG_CONFIG_DIR}/menus/applications-merged/test.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - - <Menu> - <Name>Development</Name> - <Include> - <Category>Development</Category> - </Include> - </Menu> -</Menu> -EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop diff --git a/menu/tests/tests/b/result b/menu/tests/tests/menu-multiple-matching/result index 986c873..986c873 100644 --- a/menu/tests/tests/b/result +++ b/menu/tests/tests/menu-multiple-matching/result diff --git a/menu/tests/tests/b/test b/menu/tests/tests/menu-multiple-matching/test index 74d9870..d8914ab 100644 --- a/menu/tests/tests/b/test +++ b/menu/tests/tests/menu-multiple-matching/test @@ -1,8 +1,9 @@ -echo ">>> a complicated rule ..." +TEST_PURPOSE="complicated rule ..." -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -30,6 +31,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications gataxx.desktop mahjongg.desktop freecell.desktop glines.desktop kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} diff --git a/menu/tests/tests/o/test b/menu/tests/tests/o/test deleted file mode 100644 index b87f321..0000000 --- a/menu/tests/tests/o/test +++ /dev/null @@ -1,34 +0,0 @@ -echo ">>> <And><Category>foo</Category><Not><Category>foo</Category></Not></And> shouldn't match anything" - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - - <DefaultAppDirs/> - <DefaultDirectoryDirs/> - - <Menu> - <Name>Applications</Name> - <Directory>apps.directory</Directory> - <Include> - <Or> - <Category>TextEditor</Category> - <And> - <Category>Game</Category> - <Not><Category>Game</Category></Not> - </And> - </Or> - </Include> - </Menu> -</Menu> -EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop kate.desktop -installData ${XDG_DATA_DIR}/applications/test freecell.desktop -installData ${XDG_DATA_DIR}/desktop-directories apps.directory diff --git a/menu/tests/tests/official-categories/categories.list b/menu/tests/tests/official-categories/categories.list new file mode 100644 index 0000000..6e2198d --- /dev/null +++ b/menu/tests/tests/official-categories/categories.list @@ -0,0 +1,10 @@ +AudioVideo +Development +Education +Game +Graphics +Network +Office +Settings +System +Utility diff --git a/menu/tests/tests/official-categories/test b/menu/tests/tests/official-categories/test new file mode 100644 index 0000000..09621cd --- /dev/null +++ b/menu/tests/tests/official-categories/test @@ -0,0 +1,73 @@ +TEST_PURPOSE="verify all required categories are supported" + +base_loc="tests/official-categories" + +test_code() +{ + local category + for category in $(< "${base_loc}/categories.list"); do + CATEGORY="${category}" ./expand "${base_loc}/unique-entry.desktop" > "data/${category}.desktop" + installData "${XDG_DATA_DIR}/applications" "${category}.desktop" + rm "data/${category}.desktop" + done +} + +query() +{ + echo "$@" + ret='' + while [ -z "$ret" ]; do + echo -n "y/n? :" + read ret + if ! [ "$ret" == "y" -o "$ret" == "n" ]; then + echo "invalid response; must be 'y' or 'n'" + ret='' + fi + done + [ "$ret" == "y" ] && return 0 + return 1 +} + +interpret_results() +{ + # inefficient, but works. + local missed='' + local correct='' + for category in $(< "${base_loc}/categories.list"); do + if grep "/${category}\.desktop" "${MENUTESTDIR}/run-result" > /dev/null; then + correct="${correct} ${category}" + else + missed="${missed} ${category}" + fi + done + if [ -z "${missed}" ]; then + echo ">>> OK" + return 0 + fi + if [ "$(echo $missed)" != "Settings" ]; then + # failures. + cat "${MENUTESTDIR}/run-result" + echo "missed categories $missed" + echo "matched ${correct}" + echo ">>> Failed (missed $(echo $missed | wc -w) out of $(wc -l "${base_loc}/categories.list")" + return 1 + fi + echo ">>> Settings failed; checking interactively" + local ret + if [ "$(id -u)" != "0" ]; then + echo ">>> Cannot go interactive due to test being ran as non-root; re-run as root" + return 1; + elif ! which xdg-desktop-menu &> /dev/null; then + echo ">>> xdg-desktop-menu is not available; cannot do interactive test" + return 1; + fi + xdg-desktop-menu install --mode system --novendor "${XDG_DATA_DIR}/applications/Settings.desktop" + ( + query "Please check for a 'menu-spec-testing' in any gnome/kde system settings panel" + ) + ret=$? + xdg-desktop-menu uninstall --mode system "${XDG_DATA_DIR}/applications/Settings.desktop" + return $(($ret)) +} + +MODE=system_data diff --git a/menu/tests/tests/official-categories/unique-entry.desktop b/menu/tests/tests/official-categories/unique-entry.desktop new file mode 100644 index 0000000..6ee3b88 --- /dev/null +++ b/menu/tests/tests/official-categories/unique-entry.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=menu-spec-testing +Exec=true +Icon=quanta +Type=Application +MimeType=text/html +Comment=menu-spec testing +Categories=${CATEGORY}; diff --git a/menu/tests/tests/s/test b/menu/tests/tests/s/test deleted file mode 100644 index a68b646..0000000 --- a/menu/tests/tests/s/test +++ /dev/null @@ -1,51 +0,0 @@ -echo ">>> .desktop files with same name ..." - -# Tests the type attribute in <MergeFile> - -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF - <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" - "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> - -<Menu> - <Name>KDE</Name> - <DefaultAppDirs/> - <Menu> - <Name>Games</Name> - <Include> - <Category>Game</Category> - </Include> - </Menu> - <Menu> - <Name>Development</Name> - <Include> - <Category>Development</Category> - </Include> - </Menu> -</Menu> -EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications freecell.desktop glines.desktop mahjongg.desktop - -# freecell.desktop is installed twice, only the version under ${XDG_DATA_HOME}/applications -# should show up in the menu -# freecell.desktop in ${XDG_DATA_DIR}/applications should be ignored. -installData ${XDG_DATA_HOME}/applications freecell.desktop - -# ${XDG_DATA_HOME}/applications/glines.desktop has NoDisplay=true -# glines.desktop should not be shown -# glines.desktop in ${XDG_DATA_DIR}/applications should be ignored. -installDataAs ${XDG_DATA_HOME}/applications glines-2.desktop glines.desktop - -# ${XDG_DATA_HOME}/applications/mahjongg.desktop has Categories=Development -# mahjongg.desktop should be shown under the Development menu -# mahjongg.desktop in ${XDG_DATA_DIR}/applications should be ignored. -installDataAs ${XDG_DATA_HOME}/applications mahjongg-2.desktop mahjongg.desktop - -# kde/gideon.desktop and kde-gideon.desktop are equivalent -# only the version under ${XDG_DATA_HOME}/applications should show up in the menu -# gideon.desktop in ${XDG_DATA_DIR}/applications/kde should be ignored. -installDataAs ${XDG_DATA_DIR}/applications/kde gideon.desktop -installDataAs ${XDG_DATA_HOME}/applications gideon.desktop kde-gideon.desktop diff --git a/menu/tests/tests/d/result b/menu/tests/tests/submenu-collision/result index 6aa47d7..6aa47d7 100644 --- a/menu/tests/tests/d/result +++ b/menu/tests/tests/submenu-collision/result diff --git a/menu/tests/tests/d/test b/menu/tests/tests/submenu-collision/test index 33b6dc6..7d29896 100644 --- a/menu/tests/tests/d/test +++ b/menu/tests/tests/submenu-collision/test @@ -1,8 +1,9 @@ -echo ">>> two submenus with the same name ..." +TEST_PURPOSE="two submenus with the same name ..." -# Generate ${DIRTY_HACK}applications.menu -mkdir -p ${XDG_CONFIG_DIR}/menus -./expand > ${XDG_CONFIG_DIR}/menus/${DIRTY_HACK}applications.menu <<EOF +test_code() { + # Generate applications.menu + mkdir -p ${XDG_CONFIG_DIR}/menus + ./expand > ${XDG_CONFIG_DIR}/menus/applications.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd"> @@ -26,6 +27,6 @@ mkdir -p ${XDG_CONFIG_DIR}/menus </Menu> EOF - -# Install .desktop files -installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop + # Install .desktop files + installData ${XDG_DATA_DIR}/applications kwrite.desktop KEdit.desktop quanta.desktop kate.desktop kbabel.desktop +} |