From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- desktop/test/deployment/active/Addons.xcu | 58 +++ desktop/test/deployment/active/MANIFEST.MF | 3 + .../test/deployment/active/META-INF/manifest.xml | 34 ++ desktop/test/deployment/active/ProtocolHandler.xcu | 39 ++ desktop/test/deployment/active/active_native.cxx | 276 ++++++++++++++ desktop/test/deployment/active/active_python.py | 112 ++++++ .../sun/star/comp/test/deployment/Dispatch.java | 95 +++++ .../sun/star/comp/test/deployment/Provider.java | 74 ++++ .../sun/star/comp/test/deployment/Services.java | 65 ++++ desktop/test/deployment/active/description.xml | 27 ++ desktop/test/deployment/crashextension/Addons.xcu | 62 +++ .../crashextension/META-INF/manifest.xml | 21 ++ .../deployment/crashextension/ProtocolHandler.xcu | 20 + desktop/test/deployment/crashextension/crash.png | Bin 0 -> 83469 bytes .../crashextension/crashextension.component | 16 + .../deployment/crashextension/crashextension.cxx | 152 ++++++++ .../test/deployment/crashextension/description.xml | 21 ++ .../deployment/dependencies/broken-dependency.oxt | Bin 0 -> 1655 bytes .../dependencies/double-dependencies.oxt | Bin 0 -> 1651 bytes .../deployment/dependencies/empty-dependencies.oxt | Bin 0 -> 1624 bytes .../deployment/dependencies/funny-dependency.oxt | Bin 0 -> 1730 bytes .../deployment/dependencies/license-dependency.oxt | Bin 0 -> 1891 bytes .../test/deployment/dependencies/loversion35.oxt | Bin 0 -> 1736 bytes .../test/deployment/dependencies/loversion36.oxt | Bin 0 -> 1736 bytes .../deployment/dependencies/many-dependencies.oxt | Bin 0 -> 1702 bytes .../test/deployment/dependencies/maxversion33.oxt | Bin 0 -> 1740 bytes .../test/deployment/dependencies/maxversion34.oxt | Bin 0 -> 1741 bytes .../test/deployment/dependencies/maxversion35.oxt | Bin 0 -> 1741 bytes .../test/deployment/dependencies/maxversion36.oxt | Bin 0 -> 1739 bytes desktop/test/deployment/dependencies/minattr22.oxt | Bin 0 -> 1690 bytes desktop/test/deployment/dependencies/minattr23.oxt | Bin 0 -> 1690 bytes desktop/test/deployment/dependencies/minattr24.oxt | Bin 0 -> 1690 bytes .../deployment/dependencies/no-dependencies.oxt | Bin 0 -> 1611 bytes .../deployment/dependencies/no-description.oxt | Bin 0 -> 1360 bytes desktop/test/deployment/dependencies/readme.txt | 73 ++++ .../deployment/dependencies/unknown-dependency.oxt | Bin 0 -> 1633 bytes .../test/deployment/dependencies/version10000.oxt | Bin 0 -> 1668 bytes desktop/test/deployment/dependencies/version21.oxt | Bin 0 -> 1666 bytes .../test/deployment/dependencies/version21ns.oxt | Bin 0 -> 1661 bytes .../deployment/dependencies/version21other.oxt | Bin 0 -> 1679 bytes desktop/test/deployment/dependencies/version22.oxt | Bin 0 -> 1666 bytes desktop/test/deployment/dependencies/version23.oxt | Bin 0 -> 1666 bytes desktop/test/deployment/dependencies/version34.oxt | Bin 0 -> 1721 bytes desktop/test/deployment/dependencies/version35.oxt | Bin 0 -> 1721 bytes .../test/deployment/dependencies/versionempty.oxt | Bin 0 -> 1675 bytes .../test/deployment/dependencies/versionnone.oxt | Bin 0 -> 1674 bytes desktop/test/deployment/description/desc1.oxt | Bin 0 -> 2096 bytes desktop/test/deployment/description/desc2.oxt | Bin 0 -> 2091 bytes desktop/test/deployment/description/desc3.oxt | Bin 0 -> 2070 bytes desktop/test/deployment/description/desc4.oxt | Bin 0 -> 2061 bytes desktop/test/deployment/description/desc5.oxt | Bin 0 -> 2041 bytes desktop/test/deployment/description/readme.txt | 23 ++ desktop/test/deployment/display_name/name1.oxt | Bin 0 -> 704 bytes desktop/test/deployment/display_name/name2.oxt | Bin 0 -> 699 bytes desktop/test/deployment/display_name/name3.oxt | Bin 0 -> 681 bytes desktop/test/deployment/display_name/name4.oxt | Bin 0 -> 675 bytes desktop/test/deployment/display_name/name5.oxt | Bin 0 -> 654 bytes desktop/test/deployment/display_name/readme.txt | 26 ++ .../deployment/executable_content/build/hello.c | 34 ++ .../executable_content/build/makefile.mk | 42 +++ .../deployment/executable_content/build/readme.txt | 2 + .../test/deployment/executable_content/hello.oxt | Bin 0 -> 35048 bytes .../test/deployment/executable_content/readme.txt | 12 + .../deployment/identifier/explicit/identifier.oxt | Bin 0 -> 1660 bytes .../deployment/identifier/legacy/identifier.oxt | Bin 0 -> 1634 bytes desktop/test/deployment/identifier/readme.txt | 24 ++ .../test/deployment/locationtest/LocationTest.idl | 34 ++ .../test/deployment/locationtest/LocationTest.java | 156 ++++++++ .../test/deployment/locationtest/LocationTest.odt | Bin 0 -> 7681 bytes desktop/test/deployment/locationtest/MANIFEST.MF | 2 + .../test/deployment/locationtest/description.xml | 30 ++ desktop/test/deployment/locationtest/makefile.mk | 76 ++++ desktop/test/deployment/locationtest/manifest.xml | 5 + .../com/sun/star/comp/extensionoptions/MANIFEST.MF | 2 + .../comp/extensionoptions/OptionsEventHandler.java | 417 +++++++++++++++++++++ .../com/sun/star/comp/extensionoptions/makefile.mk | 44 +++ desktop/test/deployment/options/leaf1.oxt | Bin 0 -> 8308 bytes desktop/test/deployment/options/leaf1mod.oxt | Bin 0 -> 8310 bytes desktop/test/deployment/options/leaf2.oxt | Bin 0 -> 8338 bytes desktop/test/deployment/options/leaves1.oxt | Bin 0 -> 21158 bytes desktop/test/deployment/options/leaves2.oxt | Bin 0 -> 21153 bytes desktop/test/deployment/options/leaves3.oxt | Bin 0 -> 21080 bytes desktop/test/deployment/options/modules1.oxt | Bin 0 -> 24317 bytes desktop/test/deployment/options/modules2.oxt | Bin 0 -> 24196 bytes desktop/test/deployment/options/nodes1.oxt | Bin 0 -> 1882 bytes desktop/test/deployment/options/nodes2.oxt | Bin 0 -> 24287 bytes desktop/test/deployment/options/nodes3.oxt | Bin 0 -> 24315 bytes desktop/test/deployment/options/nodes4.oxt | Bin 0 -> 24318 bytes desktop/test/deployment/options/nodes5.oxt | Bin 0 -> 12616 bytes desktop/test/deployment/options/readme.txt | 200 ++++++++++ desktop/test/deployment/passive/Addons.xcu | 74 ++++ desktop/test/deployment/passive/MANIFEST.MF | 3 + .../test/deployment/passive/META-INF/manifest.xml | 32 ++ .../test/deployment/passive/ProtocolHandler.xcu | 39 ++ .../sun/star/comp/test/deployment/Dispatch.java | 95 +++++ .../sun/star/comp/test/deployment/Provider.java | 74 ++++ .../sun/star/comp/test/deployment/Services.java | 42 +++ desktop/test/deployment/passive/description.xml | 27 ++ desktop/test/deployment/passive/help/en/help.tree | 16 + desktop/test/deployment/passive/help/en/main.xhp | 35 ++ .../test/deployment/passive/passive_java.component | 29 ++ .../deployment/passive/passive_native.component | 29 ++ desktop/test/deployment/passive/passive_native.cxx | 248 ++++++++++++ .../deployment/passive/passive_python.component | 29 ++ desktop/test/deployment/passive/passive_python.py | 93 +++++ desktop/test/deployment/simple_license/BadDesc.oxt | Bin 0 -> 9663 bytes .../deployment/simple_license/BadNamespace.oxt | Bin 0 -> 9736 bytes desktop/test/deployment/simple_license/BadRoot.oxt | Bin 0 -> 9073 bytes desktop/test/deployment/simple_license/Locale1.oxt | Bin 0 -> 2126 bytes desktop/test/deployment/simple_license/Locale2.oxt | Bin 0 -> 2121 bytes desktop/test/deployment/simple_license/Locale3.oxt | Bin 0 -> 2101 bytes desktop/test/deployment/simple_license/Locale4.oxt | Bin 0 -> 2094 bytes desktop/test/deployment/simple_license/Locale5.oxt | Bin 0 -> 2072 bytes desktop/test/deployment/simple_license/Locale6.oxt | Bin 0 -> 1397 bytes desktop/test/deployment/simple_license/LongLic.oxt | Bin 0 -> 9521 bytes .../test/deployment/simple_license/MissingLic.oxt | Bin 0 -> 9214 bytes .../deployment/simple_license/MissingLicRef.oxt | Bin 0 -> 9332 bytes .../test/deployment/simple_license/NoDefLang.oxt | Bin 0 -> 9360 bytes desktop/test/deployment/simple_license/NoDesc.oxt | Bin 0 -> 8722 bytes desktop/test/deployment/simple_license/NoLang.oxt | Bin 0 -> 9217 bytes desktop/test/deployment/simple_license/Prefix.oxt | Bin 0 -> 1112 bytes .../deployment/simple_license/ShortLicense.oxt | Bin 0 -> 9381 bytes .../simple_license/ShortLicenseShared.oxt | Bin 0 -> 9382 bytes .../deployment/simple_license/suppress_license.oxt | Bin 0 -> 2143 bytes .../simple_license/tests_simple_license.odt | Bin 0 -> 16629 bytes .../update/changing_display_name/change1.oxt | Bin 0 -> 1650 bytes .../update/changing_display_name/change1_mod.oxt | Bin 0 -> 1673 bytes .../update/changing_display_name/readme.txt | 13 + .../changing_display_name/update1/change1.oxt | Bin 0 -> 1675 bytes .../update1/change1.update.xml | 27 ++ .../changing_display_name/update2/change1.oxt | Bin 0 -> 1687 bytes .../update2/change1.update.xml | 27 ++ .../deployment/update/default_url/default1.oxt | Bin 0 -> 1544 bytes .../deployment/update/default_url/default2.oxt | Bin 0 -> 1544 bytes .../test/deployment/update/default_url/readme.txt | 9 + .../update/default_url/update/default1.oxt | Bin 0 -> 1546 bytes .../update/default_url/update/default1.update.xml | 27 ++ .../update/default_url/update/default2.oxt | Bin 0 -> 1546 bytes .../update/default_url/update/default2.update.xml | 27 ++ .../deployment/update/default_url/update/feed1.xml | 50 +++ desktop/test/deployment/update/defect/fail1.oxt | Bin 0 -> 2189 bytes desktop/test/deployment/update/defect/fail2.oxt | Bin 0 -> 2188 bytes desktop/test/deployment/update/defect/fail3.oxt | Bin 0 -> 2188 bytes desktop/test/deployment/update/defect/fail4.oxt | Bin 0 -> 2189 bytes desktop/test/deployment/update/defect/info1.oxt | Bin 0 -> 2188 bytes desktop/test/deployment/update/defect/info2.oxt | Bin 0 -> 2187 bytes desktop/test/deployment/update/defect/info3.oxt | Bin 0 -> 2187 bytes desktop/test/deployment/update/defect/readme.txt | 15 + .../test/deployment/update/defect/update/fail1.oxt | Bin 0 -> 2193 bytes .../update/defect/update/fail1.update.xml | 27 ++ .../test/deployment/update/defect/update/fail2.oxt | Bin 0 -> 2436 bytes .../update/defect/update/fail2.update.xml | 27 ++ .../test/deployment/update/defect/update/fail3.oxt | Bin 0 -> 2396 bytes .../update/defect/update/fail3.update.xml | 27 ++ .../test/deployment/update/defect/update/fail4.oxt | 0 .../update/defect/update/fail4.update.xml | 27 ++ .../update/defect/update/info1.update.xml | 0 .../update/defect/update/info2.update.xml | 1 + .../test/deployment/update/defect/update/info3.oxt | Bin 0 -> 2189 bytes .../update/defect/update/info3.update.xml | 27 ++ .../update/dependencies/publisher_en.html | 9 + .../test/deployment/update/dependencies/readme.txt | 23 ++ .../update/dependencies/release-notes_en.html | 8 + .../update/dependencies/update-dependencies.oxt | Bin 0 -> 1751 bytes .../update/update-dependencies.update.xml | 62 +++ desktop/test/deployment/update/license/lic1.oxt | Bin 0 -> 3608 bytes desktop/test/deployment/update/license/lic2.oxt | Bin 0 -> 3625 bytes desktop/test/deployment/update/license/lic3.oxt | Bin 0 -> 3624 bytes desktop/test/deployment/update/license/readme.txt | 9 + .../test/deployment/update/license/update/lic1.oxt | Bin 0 -> 3610 bytes .../update/license/update/lic1.update.xml | 27 ++ .../test/deployment/update/license/update/lic2.oxt | Bin 0 -> 3627 bytes .../update/license/update/lic2.update.xml | 27 ++ .../test/deployment/update/license/update/lic3.oxt | Bin 0 -> 3626 bytes .../update/license/update/lic3.update.xml | 27 ++ desktop/test/deployment/update/platform/all1.oxt | Bin 0 -> 692 bytes desktop/test/deployment/update/platform/all2.oxt | Bin 0 -> 702 bytes desktop/test/deployment/update/platform/all3.oxt | Bin 0 -> 297 bytes .../deployment/update/platform/freebsd_x86.oxt | Bin 0 -> 706 bytes .../deployment/update/platform/freebsd_x86_64.oxt | Bin 0 -> 711 bytes .../test/deployment/update/platform/invalid1.oxt | Bin 0 -> 653 bytes .../test/deployment/update/platform/invalid2.oxt | Bin 0 -> 653 bytes .../test/deployment/update/platform/invalid3.oxt | Bin 0 -> 655 bytes .../deployment/update/platform/linux_arm_eabi.oxt | Bin 0 -> 709 bytes .../deployment/update/platform/linux_arm_oabi.oxt | Bin 0 -> 710 bytes .../test/deployment/update/platform/linux_ia64.oxt | Bin 0 -> 706 bytes .../deployment/update/platform/linux_mips64_eb.oxt | Bin 0 -> 805 bytes .../deployment/update/platform/linux_mips64_el.oxt | Bin 0 -> 804 bytes .../deployment/update/platform/linux_mips_eb.oxt | Bin 0 -> 709 bytes .../deployment/update/platform/linux_mips_el.oxt | Bin 0 -> 708 bytes .../deployment/update/platform/linux_powerpc.oxt | Bin 0 -> 708 bytes .../deployment/update/platform/linux_powerpc64.oxt | Bin 0 -> 710 bytes .../test/deployment/update/platform/linux_s390.oxt | Bin 0 -> 705 bytes .../deployment/update/platform/linux_s390x.oxt | Bin 0 -> 706 bytes .../deployment/update/platform/linux_sparc.oxt | Bin 0 -> 706 bytes .../test/deployment/update/platform/linux_x86.oxt | Bin 0 -> 705 bytes .../deployment/update/platform/linux_x86_64.oxt | Bin 0 -> 708 bytes .../deployment/update/platform/macosx_powerpc.oxt | Bin 0 -> 710 bytes .../test/deployment/update/platform/macosx_x86.oxt | Bin 0 -> 707 bytes desktop/test/deployment/update/platform/mul1.oxt | Bin 0 -> 952 bytes .../test/deployment/update/platform/os2_x86.oxt | Bin 0 -> 706 bytes desktop/test/deployment/update/platform/readme.txt | 51 +++ .../deployment/update/platform/solaris_sparc.oxt | Bin 0 -> 709 bytes .../deployment/update/platform/solaris_x86.oxt | Bin 0 -> 706 bytes .../deployment/update/platform/windows_x86.oxt | Bin 0 -> 707 bytes desktop/test/deployment/update/publisher/pub1.oxt | Bin 0 -> 1882 bytes desktop/test/deployment/update/publisher/pub10.oxt | Bin 0 -> 1742 bytes desktop/test/deployment/update/publisher/pub11.oxt | Bin 0 -> 1601 bytes desktop/test/deployment/update/publisher/pub2.oxt | Bin 0 -> 1866 bytes desktop/test/deployment/update/publisher/pub3.oxt | Bin 0 -> 1829 bytes desktop/test/deployment/update/publisher/pub4.oxt | Bin 0 -> 1812 bytes desktop/test/deployment/update/publisher/pub5.oxt | Bin 0 -> 1769 bytes desktop/test/deployment/update/publisher/pub6.oxt | Bin 0 -> 1814 bytes desktop/test/deployment/update/publisher/pub7.oxt | Bin 0 -> 1769 bytes desktop/test/deployment/update/publisher/pub8.oxt | Bin 0 -> 1853 bytes desktop/test/deployment/update/publisher/pub9.oxt | Bin 0 -> 1779 bytes .../update/publisher/publisher_de-DE-altmark.html | 9 + .../update/publisher/publisher_de-DE.html | 9 + .../deployment/update/publisher/publisher_de.html | 9 + .../update/publisher/publisher_en-GB.html | 9 + .../update/publisher/publisher_en-US-region1.html | 9 + .../update/publisher/publisher_en-US-region2.html | 9 + .../update/publisher/publisher_en-US.html | 9 + .../update/publisher/publisher_en-region3.html | 9 + .../deployment/update/publisher/publisher_en.html | 9 + .../test/deployment/update/publisher/readme.txt | 212 +++++++++++ .../publisher/release-notes_de-DE-altmark.html | 8 + .../update/publisher/release-notes_de-DE.html | 8 + .../update/publisher/release-notes_de.html | 8 + .../update/publisher/release-notes_en-GB.html | 8 + .../publisher/release-notes_en-US-region1.html | 8 + .../publisher/release-notes_en-US-region2.html | 8 + .../update/publisher/release-notes_en-US.html | 8 + .../update/publisher/release-notes_en-region3.html | 8 + .../update/publisher/release-notes_en.html | 8 + .../deployment/update/publisher/update/pub1.oxt | Bin 0 -> 1885 bytes .../update/publisher/update/pub1.update.xml | 53 +++ .../deployment/update/publisher/update/pub10.oxt | Bin 0 -> 1744 bytes .../deployment/update/publisher/update/pub11.oxt | Bin 0 -> 1603 bytes .../deployment/update/publisher/update/pub2.oxt | Bin 0 -> 1871 bytes .../update/publisher/update/pub2.update.xml | 51 +++ .../deployment/update/publisher/update/pub3.oxt | Bin 0 -> 1833 bytes .../update/publisher/update/pub3.update.xml | 47 +++ .../deployment/update/publisher/update/pub4.oxt | Bin 0 -> 1815 bytes .../update/publisher/update/pub4.update.xml | 45 +++ .../deployment/update/publisher/update/pub5.oxt | Bin 0 -> 1774 bytes .../update/publisher/update/pub5.update.xml | 41 ++ .../deployment/update/publisher/update/pub6.oxt | Bin 0 -> 1816 bytes .../update/publisher/update/pub6.update.xml | 41 ++ .../deployment/update/publisher/update/pub7.oxt | Bin 0 -> 1771 bytes .../update/publisher/update/pub7.update.xml | 41 ++ .../deployment/update/publisher/update/pub8.oxt | Bin 0 -> 1855 bytes .../deployment/update/publisher/update/pub9.oxt | Bin 0 -> 1781 bytes desktop/test/deployment/update/readme.txt | 58 +++ desktop/test/deployment/update/simple/plain1.oxt | Bin 0 -> 1642 bytes desktop/test/deployment/update/simple/plain2.oxt | Bin 0 -> 1643 bytes desktop/test/deployment/update/simple/plain3.oxt | Bin 0 -> 1643 bytes desktop/test/deployment/update/simple/readme.txt | 31 ++ .../deployment/update/simple/update/plain1.oxt | Bin 0 -> 1645 bytes .../update/simple/update/plain1.update.xml | 27 ++ .../deployment/update/simple/update/plain2.oxt | Bin 0 -> 1645 bytes .../update/simple/update/plain2.update.xml | 27 ++ .../deployment/update/simple/update/plain3.oxt | Bin 0 -> 1645 bytes .../update/simple/update/plain3.update.xml | 27 ++ .../test/deployment/update/updatefeed/feed1.oxt | Bin 0 -> 2184 bytes .../test/deployment/update/updatefeed/feed2.oxt | Bin 0 -> 2184 bytes .../deployment/update/updatefeed/update/feed1.oxt | Bin 0 -> 2184 bytes .../update/updatefeed/update/feed1.update.xml | 27 ++ .../deployment/update/updatefeed/update/feed1.xml | 50 +++ .../deployment/update/updatefeed/update/feed2.oxt | Bin 0 -> 2184 bytes .../update/updatefeed/update/feed2.update.xml | 27 ++ .../update/updateinfocreation/build/MANIFEST.MF | 2 + .../updateinfocreation/build/TestExtension.idl | 34 ++ .../updateinfocreation/build/TestExtension.java | 156 ++++++++ .../updateinfocreation/build/description.xml | 30 ++ .../update/updateinfocreation/build/makefile.mk | 80 ++++ .../update/updateinfocreation/build/manifest.xml | 5 + .../update/updateinfocreation/readme.txt | 38 ++ .../updateinfocreation/update/updateinfo.oxt | Bin 0 -> 4295 bytes .../update/updateinfocreation/updateinfo.oxt | Bin 0 -> 4295 bytes .../deployment/update/website_update/readme.txt | 133 +++++++ .../update/website_update/update/web1.oxt | Bin 0 -> 1695 bytes .../update/website_update/update/web1.update.xml | 37 ++ .../website_update/update/web1_de-DE-altmark.html | 18 + .../update/website_update/update/web1_de-DE.html | 18 + .../update/website_update/update/web1_de.html | 19 + .../update/website_update/update/web1_en-GB.html | 19 + .../website_update/update/web1_en-US-region1.html | 19 + .../website_update/update/web1_en-US-region2.html | 19 + .../update/website_update/update/web1_en-US.html | 20 + .../website_update/update/web1_en-region3.html | 19 + .../update/website_update/update/web1_en.html | 19 + .../update/website_update/update/web2.oxt | Bin 0 -> 1695 bytes .../update/website_update/update/web2.update.xml | 36 ++ .../update/website_update/update/web3.oxt | Bin 0 -> 1695 bytes .../update/website_update/update/web3.update.xml | 34 ++ .../update/website_update/update/web4.oxt | Bin 0 -> 1695 bytes .../update/website_update/update/web4.update.xml | 33 ++ .../update/website_update/update/web5.oxt | Bin 0 -> 1695 bytes .../update/website_update/update/web5.update.xml | 31 ++ .../update/website_update/update/web6.oxt | Bin 0 -> 1640 bytes .../website_update/update/web6/description.xml | 28 ++ .../update/website_update/update/web6/readme.txt | 5 + .../update/website_update/update/web7.oxt | Bin 0 -> 1897 bytes .../website_update/update/web7/description.xml | 53 +++ .../update/website_update/update/web7/readme.txt | 5 + .../test/deployment/update/website_update/web1.oxt | Bin 0 -> 1693 bytes .../test/deployment/update/website_update/web2.oxt | Bin 0 -> 1693 bytes .../test/deployment/update/website_update/web3.oxt | Bin 0 -> 1693 bytes .../test/deployment/update/website_update/web4.oxt | Bin 0 -> 1693 bytes .../test/deployment/update/website_update/web5.oxt | Bin 0 -> 1693 bytes .../test/deployment/update/website_update/web6.oxt | Bin 0 -> 1638 bytes .../test/deployment/update/website_update/web7.oxt | Bin 0 -> 1894 bytes .../test/deployment/update/wrong_url/readme.txt | 18 + .../deployment/update/wrong_url/update/url1.oxt | Bin 0 -> 2192 bytes .../update/wrong_url/update/url1.update.xml | 28 ++ .../deployment/update/wrong_url/update/url2.oxt | Bin 0 -> 2206 bytes .../update/wrong_url/update/url2.update.xml | 27 ++ .../wrong_url/update/wrongdownload1.update.xml | 28 ++ .../wrong_url/update/wrongdownload2.update.xml | 28 ++ .../wrong_url/update/wrongdownload3.update.xml | 28 ++ desktop/test/deployment/update/wrong_url/url1.oxt | Bin 0 -> 2190 bytes desktop/test/deployment/update/wrong_url/url2.oxt | Bin 0 -> 2205 bytes desktop/test/deployment/update/wrong_url/url3.oxt | Bin 0 -> 2204 bytes .../deployment/update/wrong_url/wrongdownload1.oxt | Bin 0 -> 2194 bytes .../deployment/update/wrong_url/wrongdownload2.oxt | Bin 0 -> 2194 bytes .../deployment/update/wrong_url/wrongdownload3.oxt | Bin 0 -> 2194 bytes desktop/test/deployment/version/readme.txt | 76 ++++ .../deployment/version/version_0.0/dependency.oxt | Bin 0 -> 1657 bytes .../deployment/version/version_0.0/license.oxt | Bin 0 -> 1733 bytes .../test/deployment/version/version_0.0/plain.oxt | Bin 0 -> 1618 bytes .../version/version_1.02.4.7.0/dependency.oxt | Bin 0 -> 1662 bytes .../version/version_1.02.4.7.0/license.oxt | Bin 0 -> 1738 bytes .../version/version_1.02.4.7.0/plain.oxt | Bin 0 -> 1624 bytes .../version/version_1.2.15.3/dependency.oxt | Bin 0 -> 1662 bytes .../version/version_1.2.15.3/license.oxt | Bin 0 -> 1738 bytes .../deployment/version/version_1.2.15.3/plain.oxt | Bin 0 -> 1624 bytes .../version/version_1.2.3/dependency.oxt | Bin 0 -> 1659 bytes .../deployment/version/version_1.2.3/license.oxt | Bin 0 -> 1735 bytes .../deployment/version/version_1.2.3/plain.oxt | Bin 0 -> 1620 bytes .../version/version_1.2.4.7/dependency.oxt | Bin 0 -> 1661 bytes .../deployment/version/version_1.2.4.7/license.oxt | Bin 0 -> 1737 bytes .../deployment/version/version_1.2.4.7/plain.oxt | Bin 0 -> 1623 bytes .../version/version_badelement/dependency.oxt | Bin 0 -> 1654 bytes .../version/version_badelement/license.oxt | Bin 0 -> 1731 bytes .../version/version_badelement/plain.oxt | Bin 0 -> 1616 bytes .../version/version_badvalue/dependency.oxt | Bin 0 -> 1657 bytes .../version/version_badvalue/license.oxt | Bin 0 -> 1733 bytes .../deployment/version/version_badvalue/plain.oxt | Bin 0 -> 1618 bytes .../version_nodependencies_0.0/dependency.oxt | Bin 0 -> 1618 bytes .../dependency.oxt | Bin 0 -> 1624 bytes .../version_nodependencies_1.2.15.3/dependency.oxt | Bin 0 -> 1624 bytes .../version_nodependencies_1.2.3/dependency.oxt | Bin 0 -> 1620 bytes .../version_nodependencies_1.2.4.7/dependency.oxt | Bin 0 -> 1623 bytes .../dependency.oxt | Bin 0 -> 1616 bytes .../version_nodependencies_badvalue/dependency.oxt | Bin 0 -> 1618 bytes .../version_nodependencies_none/dependency.oxt | Bin 0 -> 1598 bytes .../deployment/version/version_none/dependency.oxt | Bin 0 -> 1645 bytes .../deployment/version/version_none/license.oxt | Bin 0 -> 1722 bytes .../test/deployment/version/version_none/plain.oxt | Bin 0 -> 1598 bytes 360 files changed, 5817 insertions(+) create mode 100644 desktop/test/deployment/active/Addons.xcu create mode 100644 desktop/test/deployment/active/MANIFEST.MF create mode 100644 desktop/test/deployment/active/META-INF/manifest.xml create mode 100644 desktop/test/deployment/active/ProtocolHandler.xcu create mode 100644 desktop/test/deployment/active/active_native.cxx create mode 100644 desktop/test/deployment/active/active_python.py create mode 100644 desktop/test/deployment/active/com/sun/star/comp/test/deployment/Dispatch.java create mode 100644 desktop/test/deployment/active/com/sun/star/comp/test/deployment/Provider.java create mode 100644 desktop/test/deployment/active/com/sun/star/comp/test/deployment/Services.java create mode 100644 desktop/test/deployment/active/description.xml create mode 100644 desktop/test/deployment/crashextension/Addons.xcu create mode 100644 desktop/test/deployment/crashextension/META-INF/manifest.xml create mode 100644 desktop/test/deployment/crashextension/ProtocolHandler.xcu create mode 100644 desktop/test/deployment/crashextension/crash.png create mode 100644 desktop/test/deployment/crashextension/crashextension.component create mode 100644 desktop/test/deployment/crashextension/crashextension.cxx create mode 100644 desktop/test/deployment/crashextension/description.xml create mode 100644 desktop/test/deployment/dependencies/broken-dependency.oxt create mode 100644 desktop/test/deployment/dependencies/double-dependencies.oxt create mode 100644 desktop/test/deployment/dependencies/empty-dependencies.oxt create mode 100644 desktop/test/deployment/dependencies/funny-dependency.oxt create mode 100644 desktop/test/deployment/dependencies/license-dependency.oxt create mode 100644 desktop/test/deployment/dependencies/loversion35.oxt create mode 100644 desktop/test/deployment/dependencies/loversion36.oxt create mode 100644 desktop/test/deployment/dependencies/many-dependencies.oxt create mode 100644 desktop/test/deployment/dependencies/maxversion33.oxt create mode 100644 desktop/test/deployment/dependencies/maxversion34.oxt create mode 100644 desktop/test/deployment/dependencies/maxversion35.oxt create mode 100644 desktop/test/deployment/dependencies/maxversion36.oxt create mode 100644 desktop/test/deployment/dependencies/minattr22.oxt create mode 100644 desktop/test/deployment/dependencies/minattr23.oxt create mode 100644 desktop/test/deployment/dependencies/minattr24.oxt create mode 100644 desktop/test/deployment/dependencies/no-dependencies.oxt create mode 100644 desktop/test/deployment/dependencies/no-description.oxt create mode 100644 desktop/test/deployment/dependencies/readme.txt create mode 100644 desktop/test/deployment/dependencies/unknown-dependency.oxt create mode 100644 desktop/test/deployment/dependencies/version10000.oxt create mode 100644 desktop/test/deployment/dependencies/version21.oxt create mode 100644 desktop/test/deployment/dependencies/version21ns.oxt create mode 100644 desktop/test/deployment/dependencies/version21other.oxt create mode 100644 desktop/test/deployment/dependencies/version22.oxt create mode 100644 desktop/test/deployment/dependencies/version23.oxt create mode 100644 desktop/test/deployment/dependencies/version34.oxt create mode 100644 desktop/test/deployment/dependencies/version35.oxt create mode 100644 desktop/test/deployment/dependencies/versionempty.oxt create mode 100644 desktop/test/deployment/dependencies/versionnone.oxt create mode 100644 desktop/test/deployment/description/desc1.oxt create mode 100644 desktop/test/deployment/description/desc2.oxt create mode 100644 desktop/test/deployment/description/desc3.oxt create mode 100644 desktop/test/deployment/description/desc4.oxt create mode 100644 desktop/test/deployment/description/desc5.oxt create mode 100644 desktop/test/deployment/description/readme.txt create mode 100644 desktop/test/deployment/display_name/name1.oxt create mode 100644 desktop/test/deployment/display_name/name2.oxt create mode 100644 desktop/test/deployment/display_name/name3.oxt create mode 100644 desktop/test/deployment/display_name/name4.oxt create mode 100644 desktop/test/deployment/display_name/name5.oxt create mode 100644 desktop/test/deployment/display_name/readme.txt create mode 100644 desktop/test/deployment/executable_content/build/hello.c create mode 100644 desktop/test/deployment/executable_content/build/makefile.mk create mode 100644 desktop/test/deployment/executable_content/build/readme.txt create mode 100644 desktop/test/deployment/executable_content/hello.oxt create mode 100644 desktop/test/deployment/executable_content/readme.txt create mode 100644 desktop/test/deployment/identifier/explicit/identifier.oxt create mode 100644 desktop/test/deployment/identifier/legacy/identifier.oxt create mode 100644 desktop/test/deployment/identifier/readme.txt create mode 100644 desktop/test/deployment/locationtest/LocationTest.idl create mode 100644 desktop/test/deployment/locationtest/LocationTest.java create mode 100644 desktop/test/deployment/locationtest/LocationTest.odt create mode 100644 desktop/test/deployment/locationtest/MANIFEST.MF create mode 100644 desktop/test/deployment/locationtest/description.xml create mode 100644 desktop/test/deployment/locationtest/makefile.mk create mode 100644 desktop/test/deployment/locationtest/manifest.xml create mode 100644 desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/MANIFEST.MF create mode 100644 desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/OptionsEventHandler.java create mode 100644 desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/makefile.mk create mode 100644 desktop/test/deployment/options/leaf1.oxt create mode 100644 desktop/test/deployment/options/leaf1mod.oxt create mode 100644 desktop/test/deployment/options/leaf2.oxt create mode 100644 desktop/test/deployment/options/leaves1.oxt create mode 100644 desktop/test/deployment/options/leaves2.oxt create mode 100644 desktop/test/deployment/options/leaves3.oxt create mode 100644 desktop/test/deployment/options/modules1.oxt create mode 100644 desktop/test/deployment/options/modules2.oxt create mode 100644 desktop/test/deployment/options/nodes1.oxt create mode 100644 desktop/test/deployment/options/nodes2.oxt create mode 100644 desktop/test/deployment/options/nodes3.oxt create mode 100644 desktop/test/deployment/options/nodes4.oxt create mode 100644 desktop/test/deployment/options/nodes5.oxt create mode 100644 desktop/test/deployment/options/readme.txt create mode 100644 desktop/test/deployment/passive/Addons.xcu create mode 100644 desktop/test/deployment/passive/MANIFEST.MF create mode 100644 desktop/test/deployment/passive/META-INF/manifest.xml create mode 100644 desktop/test/deployment/passive/ProtocolHandler.xcu create mode 100644 desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Dispatch.java create mode 100644 desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Provider.java create mode 100644 desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Services.java create mode 100644 desktop/test/deployment/passive/description.xml create mode 100644 desktop/test/deployment/passive/help/en/help.tree create mode 100644 desktop/test/deployment/passive/help/en/main.xhp create mode 100644 desktop/test/deployment/passive/passive_java.component create mode 100644 desktop/test/deployment/passive/passive_native.component create mode 100644 desktop/test/deployment/passive/passive_native.cxx create mode 100644 desktop/test/deployment/passive/passive_python.component create mode 100644 desktop/test/deployment/passive/passive_python.py create mode 100644 desktop/test/deployment/simple_license/BadDesc.oxt create mode 100644 desktop/test/deployment/simple_license/BadNamespace.oxt create mode 100644 desktop/test/deployment/simple_license/BadRoot.oxt create mode 100644 desktop/test/deployment/simple_license/Locale1.oxt create mode 100644 desktop/test/deployment/simple_license/Locale2.oxt create mode 100644 desktop/test/deployment/simple_license/Locale3.oxt create mode 100644 desktop/test/deployment/simple_license/Locale4.oxt create mode 100644 desktop/test/deployment/simple_license/Locale5.oxt create mode 100644 desktop/test/deployment/simple_license/Locale6.oxt create mode 100644 desktop/test/deployment/simple_license/LongLic.oxt create mode 100644 desktop/test/deployment/simple_license/MissingLic.oxt create mode 100644 desktop/test/deployment/simple_license/MissingLicRef.oxt create mode 100644 desktop/test/deployment/simple_license/NoDefLang.oxt create mode 100644 desktop/test/deployment/simple_license/NoDesc.oxt create mode 100644 desktop/test/deployment/simple_license/NoLang.oxt create mode 100644 desktop/test/deployment/simple_license/Prefix.oxt create mode 100644 desktop/test/deployment/simple_license/ShortLicense.oxt create mode 100644 desktop/test/deployment/simple_license/ShortLicenseShared.oxt create mode 100644 desktop/test/deployment/simple_license/suppress_license.oxt create mode 100644 desktop/test/deployment/simple_license/tests_simple_license.odt create mode 100644 desktop/test/deployment/update/changing_display_name/change1.oxt create mode 100644 desktop/test/deployment/update/changing_display_name/change1_mod.oxt create mode 100644 desktop/test/deployment/update/changing_display_name/readme.txt create mode 100644 desktop/test/deployment/update/changing_display_name/update1/change1.oxt create mode 100644 desktop/test/deployment/update/changing_display_name/update1/change1.update.xml create mode 100644 desktop/test/deployment/update/changing_display_name/update2/change1.oxt create mode 100644 desktop/test/deployment/update/changing_display_name/update2/change1.update.xml create mode 100644 desktop/test/deployment/update/default_url/default1.oxt create mode 100644 desktop/test/deployment/update/default_url/default2.oxt create mode 100644 desktop/test/deployment/update/default_url/readme.txt create mode 100644 desktop/test/deployment/update/default_url/update/default1.oxt create mode 100644 desktop/test/deployment/update/default_url/update/default1.update.xml create mode 100644 desktop/test/deployment/update/default_url/update/default2.oxt create mode 100644 desktop/test/deployment/update/default_url/update/default2.update.xml create mode 100644 desktop/test/deployment/update/default_url/update/feed1.xml create mode 100644 desktop/test/deployment/update/defect/fail1.oxt create mode 100644 desktop/test/deployment/update/defect/fail2.oxt create mode 100644 desktop/test/deployment/update/defect/fail3.oxt create mode 100644 desktop/test/deployment/update/defect/fail4.oxt create mode 100644 desktop/test/deployment/update/defect/info1.oxt create mode 100644 desktop/test/deployment/update/defect/info2.oxt create mode 100644 desktop/test/deployment/update/defect/info3.oxt create mode 100644 desktop/test/deployment/update/defect/readme.txt create mode 100644 desktop/test/deployment/update/defect/update/fail1.oxt create mode 100644 desktop/test/deployment/update/defect/update/fail1.update.xml create mode 100644 desktop/test/deployment/update/defect/update/fail2.oxt create mode 100644 desktop/test/deployment/update/defect/update/fail2.update.xml create mode 100644 desktop/test/deployment/update/defect/update/fail3.oxt create mode 100644 desktop/test/deployment/update/defect/update/fail3.update.xml create mode 100644 desktop/test/deployment/update/defect/update/fail4.oxt create mode 100644 desktop/test/deployment/update/defect/update/fail4.update.xml create mode 100644 desktop/test/deployment/update/defect/update/info1.update.xml create mode 100644 desktop/test/deployment/update/defect/update/info2.update.xml create mode 100644 desktop/test/deployment/update/defect/update/info3.oxt create mode 100644 desktop/test/deployment/update/defect/update/info3.update.xml create mode 100644 desktop/test/deployment/update/dependencies/publisher_en.html create mode 100644 desktop/test/deployment/update/dependencies/readme.txt create mode 100644 desktop/test/deployment/update/dependencies/release-notes_en.html create mode 100644 desktop/test/deployment/update/dependencies/update-dependencies.oxt create mode 100644 desktop/test/deployment/update/dependencies/update/update-dependencies.update.xml create mode 100644 desktop/test/deployment/update/license/lic1.oxt create mode 100644 desktop/test/deployment/update/license/lic2.oxt create mode 100644 desktop/test/deployment/update/license/lic3.oxt create mode 100644 desktop/test/deployment/update/license/readme.txt create mode 100644 desktop/test/deployment/update/license/update/lic1.oxt create mode 100644 desktop/test/deployment/update/license/update/lic1.update.xml create mode 100644 desktop/test/deployment/update/license/update/lic2.oxt create mode 100644 desktop/test/deployment/update/license/update/lic2.update.xml create mode 100644 desktop/test/deployment/update/license/update/lic3.oxt create mode 100644 desktop/test/deployment/update/license/update/lic3.update.xml create mode 100644 desktop/test/deployment/update/platform/all1.oxt create mode 100644 desktop/test/deployment/update/platform/all2.oxt create mode 100644 desktop/test/deployment/update/platform/all3.oxt create mode 100644 desktop/test/deployment/update/platform/freebsd_x86.oxt create mode 100644 desktop/test/deployment/update/platform/freebsd_x86_64.oxt create mode 100644 desktop/test/deployment/update/platform/invalid1.oxt create mode 100644 desktop/test/deployment/update/platform/invalid2.oxt create mode 100644 desktop/test/deployment/update/platform/invalid3.oxt create mode 100644 desktop/test/deployment/update/platform/linux_arm_eabi.oxt create mode 100644 desktop/test/deployment/update/platform/linux_arm_oabi.oxt create mode 100644 desktop/test/deployment/update/platform/linux_ia64.oxt create mode 100644 desktop/test/deployment/update/platform/linux_mips64_eb.oxt create mode 100644 desktop/test/deployment/update/platform/linux_mips64_el.oxt create mode 100644 desktop/test/deployment/update/platform/linux_mips_eb.oxt create mode 100644 desktop/test/deployment/update/platform/linux_mips_el.oxt create mode 100644 desktop/test/deployment/update/platform/linux_powerpc.oxt create mode 100644 desktop/test/deployment/update/platform/linux_powerpc64.oxt create mode 100644 desktop/test/deployment/update/platform/linux_s390.oxt create mode 100644 desktop/test/deployment/update/platform/linux_s390x.oxt create mode 100644 desktop/test/deployment/update/platform/linux_sparc.oxt create mode 100644 desktop/test/deployment/update/platform/linux_x86.oxt create mode 100644 desktop/test/deployment/update/platform/linux_x86_64.oxt create mode 100644 desktop/test/deployment/update/platform/macosx_powerpc.oxt create mode 100644 desktop/test/deployment/update/platform/macosx_x86.oxt create mode 100644 desktop/test/deployment/update/platform/mul1.oxt create mode 100644 desktop/test/deployment/update/platform/os2_x86.oxt create mode 100644 desktop/test/deployment/update/platform/readme.txt create mode 100644 desktop/test/deployment/update/platform/solaris_sparc.oxt create mode 100644 desktop/test/deployment/update/platform/solaris_x86.oxt create mode 100644 desktop/test/deployment/update/platform/windows_x86.oxt create mode 100644 desktop/test/deployment/update/publisher/pub1.oxt create mode 100644 desktop/test/deployment/update/publisher/pub10.oxt create mode 100644 desktop/test/deployment/update/publisher/pub11.oxt create mode 100644 desktop/test/deployment/update/publisher/pub2.oxt create mode 100644 desktop/test/deployment/update/publisher/pub3.oxt create mode 100644 desktop/test/deployment/update/publisher/pub4.oxt create mode 100644 desktop/test/deployment/update/publisher/pub5.oxt create mode 100644 desktop/test/deployment/update/publisher/pub6.oxt create mode 100644 desktop/test/deployment/update/publisher/pub7.oxt create mode 100644 desktop/test/deployment/update/publisher/pub8.oxt create mode 100644 desktop/test/deployment/update/publisher/pub9.oxt create mode 100644 desktop/test/deployment/update/publisher/publisher_de-DE-altmark.html create mode 100644 desktop/test/deployment/update/publisher/publisher_de-DE.html create mode 100644 desktop/test/deployment/update/publisher/publisher_de.html create mode 100644 desktop/test/deployment/update/publisher/publisher_en-GB.html create mode 100644 desktop/test/deployment/update/publisher/publisher_en-US-region1.html create mode 100644 desktop/test/deployment/update/publisher/publisher_en-US-region2.html create mode 100644 desktop/test/deployment/update/publisher/publisher_en-US.html create mode 100644 desktop/test/deployment/update/publisher/publisher_en-region3.html create mode 100644 desktop/test/deployment/update/publisher/publisher_en.html create mode 100644 desktop/test/deployment/update/publisher/readme.txt create mode 100644 desktop/test/deployment/update/publisher/release-notes_de-DE-altmark.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_de-DE.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_de.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_en-GB.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_en-US-region1.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_en-US-region2.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_en-US.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_en-region3.html create mode 100644 desktop/test/deployment/update/publisher/release-notes_en.html create mode 100644 desktop/test/deployment/update/publisher/update/pub1.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub1.update.xml create mode 100644 desktop/test/deployment/update/publisher/update/pub10.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub11.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub2.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub2.update.xml create mode 100644 desktop/test/deployment/update/publisher/update/pub3.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub3.update.xml create mode 100644 desktop/test/deployment/update/publisher/update/pub4.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub4.update.xml create mode 100644 desktop/test/deployment/update/publisher/update/pub5.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub5.update.xml create mode 100644 desktop/test/deployment/update/publisher/update/pub6.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub6.update.xml create mode 100644 desktop/test/deployment/update/publisher/update/pub7.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub7.update.xml create mode 100644 desktop/test/deployment/update/publisher/update/pub8.oxt create mode 100644 desktop/test/deployment/update/publisher/update/pub9.oxt create mode 100644 desktop/test/deployment/update/readme.txt create mode 100644 desktop/test/deployment/update/simple/plain1.oxt create mode 100644 desktop/test/deployment/update/simple/plain2.oxt create mode 100644 desktop/test/deployment/update/simple/plain3.oxt create mode 100644 desktop/test/deployment/update/simple/readme.txt create mode 100644 desktop/test/deployment/update/simple/update/plain1.oxt create mode 100644 desktop/test/deployment/update/simple/update/plain1.update.xml create mode 100644 desktop/test/deployment/update/simple/update/plain2.oxt create mode 100644 desktop/test/deployment/update/simple/update/plain2.update.xml create mode 100644 desktop/test/deployment/update/simple/update/plain3.oxt create mode 100644 desktop/test/deployment/update/simple/update/plain3.update.xml create mode 100644 desktop/test/deployment/update/updatefeed/feed1.oxt create mode 100644 desktop/test/deployment/update/updatefeed/feed2.oxt create mode 100644 desktop/test/deployment/update/updatefeed/update/feed1.oxt create mode 100644 desktop/test/deployment/update/updatefeed/update/feed1.update.xml create mode 100644 desktop/test/deployment/update/updatefeed/update/feed1.xml create mode 100644 desktop/test/deployment/update/updatefeed/update/feed2.oxt create mode 100644 desktop/test/deployment/update/updatefeed/update/feed2.update.xml create mode 100644 desktop/test/deployment/update/updateinfocreation/build/MANIFEST.MF create mode 100644 desktop/test/deployment/update/updateinfocreation/build/TestExtension.idl create mode 100644 desktop/test/deployment/update/updateinfocreation/build/TestExtension.java create mode 100644 desktop/test/deployment/update/updateinfocreation/build/description.xml create mode 100644 desktop/test/deployment/update/updateinfocreation/build/makefile.mk create mode 100644 desktop/test/deployment/update/updateinfocreation/build/manifest.xml create mode 100644 desktop/test/deployment/update/updateinfocreation/readme.txt create mode 100644 desktop/test/deployment/update/updateinfocreation/update/updateinfo.oxt create mode 100644 desktop/test/deployment/update/updateinfocreation/updateinfo.oxt create mode 100644 desktop/test/deployment/update/website_update/readme.txt create mode 100644 desktop/test/deployment/update/website_update/update/web1.oxt create mode 100644 desktop/test/deployment/update/website_update/update/web1.update.xml create mode 100644 desktop/test/deployment/update/website_update/update/web1_de-DE-altmark.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_de-DE.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_de.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_en-GB.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_en-US-region1.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_en-US-region2.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_en-US.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_en-region3.html create mode 100644 desktop/test/deployment/update/website_update/update/web1_en.html create mode 100644 desktop/test/deployment/update/website_update/update/web2.oxt create mode 100644 desktop/test/deployment/update/website_update/update/web2.update.xml create mode 100644 desktop/test/deployment/update/website_update/update/web3.oxt create mode 100644 desktop/test/deployment/update/website_update/update/web3.update.xml create mode 100644 desktop/test/deployment/update/website_update/update/web4.oxt create mode 100644 desktop/test/deployment/update/website_update/update/web4.update.xml create mode 100644 desktop/test/deployment/update/website_update/update/web5.oxt create mode 100644 desktop/test/deployment/update/website_update/update/web5.update.xml create mode 100644 desktop/test/deployment/update/website_update/update/web6.oxt create mode 100644 desktop/test/deployment/update/website_update/update/web6/description.xml create mode 100644 desktop/test/deployment/update/website_update/update/web6/readme.txt create mode 100644 desktop/test/deployment/update/website_update/update/web7.oxt create mode 100644 desktop/test/deployment/update/website_update/update/web7/description.xml create mode 100644 desktop/test/deployment/update/website_update/update/web7/readme.txt create mode 100644 desktop/test/deployment/update/website_update/web1.oxt create mode 100644 desktop/test/deployment/update/website_update/web2.oxt create mode 100644 desktop/test/deployment/update/website_update/web3.oxt create mode 100644 desktop/test/deployment/update/website_update/web4.oxt create mode 100644 desktop/test/deployment/update/website_update/web5.oxt create mode 100644 desktop/test/deployment/update/website_update/web6.oxt create mode 100644 desktop/test/deployment/update/website_update/web7.oxt create mode 100644 desktop/test/deployment/update/wrong_url/readme.txt create mode 100644 desktop/test/deployment/update/wrong_url/update/url1.oxt create mode 100644 desktop/test/deployment/update/wrong_url/update/url1.update.xml create mode 100644 desktop/test/deployment/update/wrong_url/update/url2.oxt create mode 100644 desktop/test/deployment/update/wrong_url/update/url2.update.xml create mode 100644 desktop/test/deployment/update/wrong_url/update/wrongdownload1.update.xml create mode 100644 desktop/test/deployment/update/wrong_url/update/wrongdownload2.update.xml create mode 100644 desktop/test/deployment/update/wrong_url/update/wrongdownload3.update.xml create mode 100644 desktop/test/deployment/update/wrong_url/url1.oxt create mode 100644 desktop/test/deployment/update/wrong_url/url2.oxt create mode 100644 desktop/test/deployment/update/wrong_url/url3.oxt create mode 100644 desktop/test/deployment/update/wrong_url/wrongdownload1.oxt create mode 100644 desktop/test/deployment/update/wrong_url/wrongdownload2.oxt create mode 100644 desktop/test/deployment/update/wrong_url/wrongdownload3.oxt create mode 100644 desktop/test/deployment/version/readme.txt create mode 100644 desktop/test/deployment/version/version_0.0/dependency.oxt create mode 100644 desktop/test/deployment/version/version_0.0/license.oxt create mode 100644 desktop/test/deployment/version/version_0.0/plain.oxt create mode 100644 desktop/test/deployment/version/version_1.02.4.7.0/dependency.oxt create mode 100644 desktop/test/deployment/version/version_1.02.4.7.0/license.oxt create mode 100644 desktop/test/deployment/version/version_1.02.4.7.0/plain.oxt create mode 100644 desktop/test/deployment/version/version_1.2.15.3/dependency.oxt create mode 100644 desktop/test/deployment/version/version_1.2.15.3/license.oxt create mode 100644 desktop/test/deployment/version/version_1.2.15.3/plain.oxt create mode 100644 desktop/test/deployment/version/version_1.2.3/dependency.oxt create mode 100644 desktop/test/deployment/version/version_1.2.3/license.oxt create mode 100644 desktop/test/deployment/version/version_1.2.3/plain.oxt create mode 100644 desktop/test/deployment/version/version_1.2.4.7/dependency.oxt create mode 100644 desktop/test/deployment/version/version_1.2.4.7/license.oxt create mode 100644 desktop/test/deployment/version/version_1.2.4.7/plain.oxt create mode 100644 desktop/test/deployment/version/version_badelement/dependency.oxt create mode 100644 desktop/test/deployment/version/version_badelement/license.oxt create mode 100644 desktop/test/deployment/version/version_badelement/plain.oxt create mode 100644 desktop/test/deployment/version/version_badvalue/dependency.oxt create mode 100644 desktop/test/deployment/version/version_badvalue/license.oxt create mode 100644 desktop/test/deployment/version/version_badvalue/plain.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_0.0/dependency.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_1.02.4.7.0/dependency.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_1.2.15.3/dependency.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_1.2.3/dependency.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_1.2.4.7/dependency.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_badelement/dependency.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_badvalue/dependency.oxt create mode 100644 desktop/test/deployment/version/version_nodependencies_none/dependency.oxt create mode 100644 desktop/test/deployment/version/version_none/dependency.oxt create mode 100644 desktop/test/deployment/version/version_none/license.oxt create mode 100644 desktop/test/deployment/version/version_none/plain.oxt (limited to 'desktop/test') diff --git a/desktop/test/deployment/active/Addons.xcu b/desktop/test/deployment/active/Addons.xcu new file mode 100644 index 000000000..d3b481ef4 --- /dev/null +++ b/desktop/test/deployment/active/Addons.xcu @@ -0,0 +1,58 @@ + + + + + + + + + active + + + + + vnd.org.openoffice.test.desktop.deployment.active_native: + + + native + + + + + vnd.org.openoffice.test.desktop.deployment.active_java: + + + java + + + + + vnd.org.openoffice.test.desktop.deployment.active_python: + + + python + + + + + + + diff --git a/desktop/test/deployment/active/MANIFEST.MF b/desktop/test/deployment/active/MANIFEST.MF new file mode 100644 index 000000000..63480874d --- /dev/null +++ b/desktop/test/deployment/active/MANIFEST.MF @@ -0,0 +1,3 @@ +Sealed: true +RegistrationClassName: com.sun.star.comp.test.deployment.active_java.Services +UNO-Type-Path: diff --git a/desktop/test/deployment/active/META-INF/manifest.xml b/desktop/test/deployment/active/META-INF/manifest.xml new file mode 100644 index 000000000..7cca7841d --- /dev/null +++ b/desktop/test/deployment/active/META-INF/manifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/active/ProtocolHandler.xcu b/desktop/test/deployment/active/ProtocolHandler.xcu new file mode 100644 index 000000000..984ed981d --- /dev/null +++ b/desktop/test/deployment/active/ProtocolHandler.xcu @@ -0,0 +1,39 @@ + + + + + + + + vnd.org.openoffice.test.desktop.deployment.active_native:* + + + + + vnd.org.openoffice.test.desktop.deployment.active_java:* + + + + + vnd.org.openoffice.test.desktop.deployment.active_python:* + + + + diff --git a/desktop/test/deployment/active/active_native.cxx b/desktop/test/deployment/active/active_native.cxx new file mode 100644 index 000000000..753f0da77 --- /dev/null +++ b/desktop/test/deployment/active/active_native.cxx @@ -0,0 +1,276 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +class Provider: + public cppu::WeakImplHelper2< + css::lang::XServiceInfo, css::frame::XDispatchProvider > +{ +public: + Provider(const Provider&) = delete; + const Provider& operator=(const Provider&) = delete; + + static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create( + css::uno::Reference< css::uno::XComponentContext > const & xContext) + { return static_cast< cppu::OWeakObject * >(new Provider(xContext)); } + + static rtl::OUString SAL_CALL static_getImplementationName(); + + static css::uno::Sequence< rtl::OUString > SAL_CALL + static_getSupportedServiceNames(); + +private: + explicit Provider( + css::uno::Reference< css::uno::XComponentContext > const & context): + context_(context) { assert(context.is()); } + + virtual ~Provider() {} + + virtual rtl::OUString SAL_CALL getImplementationName() override + { return static_getImplementationName(); } + + virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName) override + { return cppu::supportsService(this, ServiceName); } + + virtual css::uno::Sequence< rtl::OUString > SAL_CALL + getSupportedServiceNames() override + { return static_getSupportedServiceNames(); } + + virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch( + css::util::URL const &, rtl::OUString const &, sal_Int32) override; + + virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > + SAL_CALL queryDispatches( + css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests) override; + + css::uno::Reference< css::uno::XComponentContext > context_; +}; + +rtl::OUString Provider::static_getImplementationName() { + return rtl::OUString("com.sun.star.comp.test.deployment.active_native"); +} + +css::uno::Sequence< rtl::OUString > Provider::static_getSupportedServiceNames() +{ + rtl::OUString name("com.sun.star.test.deployment.active_native"); + return css::uno::Sequence< rtl::OUString >(&name, 1); +} + +css::uno::Reference< css::frame::XDispatch > Provider::queryDispatch( + css::util::URL const &, rtl::OUString const &, sal_Int32) +{ + css::uno::Reference< css::frame::XDispatch > dispatch; + if (!(context_->getValueByName( + "/singletons/com.sun.star.test.deployment." + "active_native_singleton") >>= + dispatch) || + !dispatch.is()) + { + throw css::uno::DeploymentException( + "component context fails to supply singleton" + " com.sun.star.test.deployment.active_native_singleton of type" + " com.sun.star.frame.XDispatch", + context_); + } + return dispatch; +} + +css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > +Provider::queryDispatches( + css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests) +{ + css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > s( + Requests.getLength()); + for (sal_Int32 i = 0; i < s.getLength(); ++i) { + s[i] = queryDispatch( + Requests[i].FeatureURL, Requests[i].FrameName, + Requests[i].SearchFlags); + } + return s; +} + +class Dispatch: + public cppu::WeakImplHelper2< + css::lang::XServiceInfo, css::frame::XDispatch > +{ +public: + Dispatch(const Dispatch&) = delete; + const Dispatch& operator=(const Dispatch&) = delete; + + static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create( + css::uno::Reference< css::uno::XComponentContext > const & xContext) + { return static_cast< cppu::OWeakObject * >(new Dispatch(xContext)); } + + static rtl::OUString SAL_CALL static_getImplementationName(); + + static css::uno::Sequence< rtl::OUString > SAL_CALL + static_getSupportedServiceNames() + { return css::uno::Sequence< rtl::OUString >(); } + +private: + explicit Dispatch( + css::uno::Reference< css::uno::XComponentContext > const & context): + context_(context) { assert(context.is()); } + + virtual ~Dispatch() {} + + virtual rtl::OUString SAL_CALL getImplementationName() override + { return static_getImplementationName(); } + + virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName) override + { return cppu::supportsService(this, ServiceName); } + + virtual css::uno::Sequence< rtl::OUString > SAL_CALL + getSupportedServiceNames() override + { return static_getSupportedServiceNames(); } + + virtual void SAL_CALL dispatch( + css::util::URL const &, + css::uno::Sequence< css::beans::PropertyValue > const &) override; + + virtual void SAL_CALL addStatusListener( + css::uno::Reference< css::frame::XStatusListener > const &, + css::util::URL const &) override + {} + + virtual void SAL_CALL removeStatusListener( + css::uno::Reference< css::frame::XStatusListener > const &, + css::util::URL const &) override + {} + + css::uno::Reference< css::uno::XComponentContext > context_; +}; + +rtl::OUString Dispatch::static_getImplementationName() { + return rtl::OUString( + "com.sun.star.comp.test.deployment.active_native_singleton"); +} + +void Dispatch::dispatch( + css::util::URL const &, + css::uno::Sequence< css::beans::PropertyValue > const &) +{ + css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(context_); + css::uno::Reference< css::frame::XFrame > xFrame = xDesktop->getCurrentFrame(); + css::uno::Reference< css::awt::XWindowPeer > xWindowPeer( xFrame->getComponentWindow(), css::uno::UNO_QUERY_THROW ); + css::uno::Reference< css::awt::XToolkit2 > xToolkit = css::awt::Toolkit::create(context_); + css::uno::Reference< css::awt::XMessageBox > box( + xToolkit->createMessageBox( + xWindowPeer, + css::awt::MessageBoxType_INFOBOX, + css::awt::MessageBoxButtons::BUTTONS_OK, "active", "native"), + css::uno::UNO_SET_THROW); + + box->execute(); + + css::uno::Reference< css::lang::XComponent > xComponent(box, css::uno::UNO_QUERY_THROW); + xComponent->dispose(); +} + +cppu::ImplementationEntry const services[] = { + { &Provider::static_create, &Provider::static_getImplementationName, + &Provider::static_getSupportedServiceNames, + &cppu::createSingleComponentFactory, nullptr, 0 }, + { &Dispatch::static_create, &Dispatch::static_getImplementationName, + &Dispatch::static_getSupportedServiceNames, + &cppu::createSingleComponentFactory, nullptr, 0 }, + { nullptr, nullptr, nullptr, nullptr, nullptr, 0 } +}; + +} + +extern "C" SAL_DLLPUBLIC_EXPORT void * component_getFactory( + char const * pImplName, void * pServiceManager, void * pRegistryKey) +{ + return cppu::component_getFactoryHelper( + pImplName, pServiceManager, pRegistryKey, services); +} + +extern "C" SAL_DLLPUBLIC_EXPORT void +component_getImplementationEnvironment( + char const ** ppEnvTypeName, uno_Environment **) +{ + *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; +} + +extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool component_writeInfo( + void * pServiceManager, void * pRegistryKey) +{ + if (!component_writeInfoHelper(pServiceManager, pRegistryKey, services)) { + return false; + } + try { + css::uno::Reference< css::registry::XRegistryKey >( + (css::uno::Reference< css::registry::XRegistryKey >( + static_cast< css::registry::XRegistryKey * >(pRegistryKey))-> + createKey( + "/" + Dispatch::static_getImplementationName() + + ("/UNO/SINGLETONS/com.sun.star.test.deployment." + "active_native_singleton"))), + css::uno::UNO_SET_THROW)-> + setStringValue(Dispatch::static_getImplementationName()); + } catch (const css::uno::Exception & e) { + SAL_INFO( + "desktop.test", + "active_native component_writeInfo exception: " << e.Message); + return false; + } + return true; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/test/deployment/active/active_python.py b/desktop/test/deployment/active/active_python.py new file mode 100644 index 000000000..7f6e5bbd4 --- /dev/null +++ b/desktop/test/deployment/active/active_python.py @@ -0,0 +1,112 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +import uno +import unohelper + +from com.sun.star.awt import Rectangle +from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK +from com.sun.star.awt.MessageBoxType import INFOBOX +from com.sun.star.frame import XDispatch, XDispatchProvider +from com.sun.star.lang import XServiceInfo +from com.sun.star.registry import InvalidRegistryException + +class Provider(unohelper.Base, XServiceInfo, XDispatchProvider): + implementationName = "com.sun.star.comp.test.deployment.active_python" + + serviceNames = ("com.sun.star.test.deployment.active_python",) + + def __init__(self, context): + self.context = context + + def getImplementationName(self): + return self.implementationName + + def supportsService(self, ServiceName): + return ServiceName in self.serviceNames + + def getSupportedServiceNames(self): + return self.serviceNames + + def queryDispatch(self, URL, TargetFrame, SearchFlags): + return self.context.getValueByName( \ + "/singletons/com.sun.star.test.deployment.active_python_singleton") + + def queryDispatches(self, Requests): + tuple( \ + self.queryDispatch(i.FeatureURL, i.FrameName, i.SearchFlags) \ + for i in Requests) + +class Dispatch(unohelper.Base, XServiceInfo, XDispatch): + implementationName = \ + "com.sun.star.comp.test.deployment.active_python_singleton" + + serviceNames = () + + def __init__(self, context): + self.context = context + + def getImplementationName(self): + return self.implementationName + + def supportsService(self, ServiceName): + return ServiceName in self.serviceNames + + def getSupportedServiceNames(self): + return self.serviceNames + + def dispatch(self, URL, Arguments): + smgr = self.context.getServiceManager() + box = smgr.createInstanceWithContext( \ + "com.sun.star.awt.Toolkit", self.context).createMessageBox( \ + smgr.createInstanceWithContext( \ + "com.sun.star.frame.Desktop", self.context). \ + getCurrentFrame().getComponentWindow(), \ + INFOBOX, BUTTONS_OK, "active", "python") + box.execute(); + box.dispose(); + + def addStatusListener(self, Control, URL): + pass + + def removeStatusListener(self, Control, URL): + pass + +def getComponentFactory(implementationName, smgr, regKey): + if implementationName == Provider.implementationName: + return unohelper.createSingleServiceFactory( \ + Provider, Provider.implementationName, Provider.serviceNames) + elif implementationName == Dispatch.implementationName: + return unohelper.createSingleServiceFactory( \ + Dispatch, Dispatch.implementationName, Dispatch.serviceNames) + else: + return None + +def writeRegistryInfo(smgr, regKey): + try: + for i in (Provider, Dispatch): + key = regKey.createKey("/" + i.implementationName + "/UNO") + for j in i.serviceNames: + key.createKey("/SERVICES/" + j); + regKey.createKey( \ + "/" + Dispatch.implementationName + "/UNO/SINGLETONS/" \ + "com.sun.star.test.deployment.active_python_singleton"). \ + setStringValue(Dispatch.implementationName) + except InvalidRegistryException: + return False + return True diff --git a/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Dispatch.java b/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Dispatch.java new file mode 100644 index 000000000..e224c9418 --- /dev/null +++ b/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Dispatch.java @@ -0,0 +1,95 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +package com.sun.star.comp.test.deployment.active_java; + +import com.sun.star.awt.MessageBoxButtons; +import com.sun.star.awt.MessageBoxType; +import com.sun.star.awt.Rectangle; +import com.sun.star.awt.XMessageBox; +import com.sun.star.awt.XMessageBoxFactory; +import com.sun.star.awt.XWindowPeer; +import com.sun.star.beans.PropertyValue; +import com.sun.star.frame.DispatchDescriptor; +import com.sun.star.frame.XDesktop; +import com.sun.star.frame.XDispatch; +import com.sun.star.frame.XStatusListener; +import com.sun.star.lang.WrappedTargetRuntimeException; +import com.sun.star.lang.XComponent; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.util.URL; + +public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch +{ + public Dispatch(XComponentContext context) { + this.context = context; + } + + public String getImplementationName() { return implementationName; } + + public boolean supportsService(String ServiceName) { + return false; //TODO + } + + public String[] getSupportedServiceNames() { + return serviceNames; + } + + public void dispatch(URL URL, PropertyValue[] Arguments) { + try { + XMultiComponentFactory smgr = UnoRuntime.queryInterface( + XMultiComponentFactory.class, context.getServiceManager()); + XMessageBox box = UnoRuntime.queryInterface( + XMessageBoxFactory.class, + smgr.createInstanceWithContext( + "com.sun.star.awt.Toolkit", context)). + createMessageBox( + UnoRuntime.queryInterface( + XWindowPeer.class, + (UnoRuntime.queryInterface( + XDesktop.class, + smgr.createInstanceWithContext( + "com.sun.star.frame.Desktop", context)). + getCurrentFrame().getComponentWindow())), + MessageBoxType.INFOBOX, MessageBoxButtons.BUTTONS_OK, + "active", "java"); + box.execute(); + UnoRuntime.queryInterface(XComponent.class, box).dispose(); + } catch (com.sun.star.uno.RuntimeException e) { + throw e; + } catch (com.sun.star.uno.Exception e) { + throw new WrappedTargetRuntimeException(e, + "wrapped: " + e.getMessage(), this, e); + } + } + + public void addStatusListener(XStatusListener Control, URL URL) {} + + public void removeStatusListener(XStatusListener Control, URL URL) {} + + private final XComponentContext context; + + static final String implementationName = + "com.sun.star.comp.test.deployment.active_java_singleton"; + + static final String[] serviceNames = new String[0]; +} diff --git a/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Provider.java b/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Provider.java new file mode 100644 index 000000000..3b9f8b88e --- /dev/null +++ b/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Provider.java @@ -0,0 +1,74 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +package com.sun.star.comp.test.deployment.active_java; + +import com.sun.star.frame.DispatchDescriptor; +import com.sun.star.frame.XDispatch; +import com.sun.star.frame.XDispatchProvider; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.util.URL; + +public final class Provider extends WeakBase + implements XServiceInfo, XDispatchProvider +{ + public Provider(XComponentContext context) { + this.context = context; + } + + public String getImplementationName() { return implementationName; } + + public boolean supportsService(String ServiceName) { + return ServiceName.equals(getSupportedServiceNames()[0]); //TODO + } + + public String[] getSupportedServiceNames() { + return serviceNames; + } + + public XDispatch queryDispatch( + URL URL, String TargetFrameName, int SearchFlags) + { + return UnoRuntime.queryInterface( + XDispatch.class, + context.getValueByName( + "/singletons/" + + "com.sun.star.test.deployment.active_java_singleton")); + } + + public XDispatch[] queryDispatches(DispatchDescriptor[] Requests) { + XDispatch[] s = new XDispatch[Requests.length]; + for (int i = 0; i < s.length; ++i) { + s[i] = queryDispatch( + Requests[i].FeatureURL, Requests[i].FrameName, + Requests[i].SearchFlags); + } + return s; + } + + private final XComponentContext context; + + static final String implementationName = + "com.sun.star.comp.test.deployment.active_java"; + + static final String[] serviceNames = new String[] { + "com.sun.star.test.deployment.active_java" }; +} diff --git a/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Services.java b/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Services.java new file mode 100644 index 000000000..1af3f42b7 --- /dev/null +++ b/desktop/test/deployment/active/com/sun/star/comp/test/deployment/Services.java @@ -0,0 +1,65 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +package com.sun.star.comp.test.deployment.active_java; + +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.registry.InvalidRegistryException; +import com.sun.star.registry.XRegistryKey; + +public final class Services { + private Services() {} + + public static XSingleComponentFactory __getComponentFactory( + String implementation) + { + if (implementation.equals(Dispatch.implementationName)) { + return Factory.createComponentFactory( + Dispatch.class, Dispatch.implementationName, + Dispatch.serviceNames); + } else if (implementation.equals(Provider.implementationName)) { + return Factory.createComponentFactory( + Provider.class, Provider.implementationName, + Provider.serviceNames); + } else { + return null; + } + } + + public static boolean __writeRegistryServiceInfo(XRegistryKey key) { + if (!(Factory.writeRegistryServiceInfo( + Dispatch.implementationName, Dispatch.serviceNames, key) && + Factory.writeRegistryServiceInfo( + Provider.implementationName, Provider.serviceNames, key))) + { + return false; + } + try { + key. + createKey( + "/" + Dispatch.implementationName + + "/UNO/SINGLETONS/" + + "com.sun.star.test.deployment.active_java_singleton"). + setStringValue(Dispatch.implementationName); + } catch (InvalidRegistryException e) { + return false; + } + return true; + } +} diff --git a/desktop/test/deployment/active/description.xml b/desktop/test/deployment/active/description.xml new file mode 100644 index 000000000..685d72132 --- /dev/null +++ b/desktop/test/deployment/active/description.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/crashextension/Addons.xcu b/desktop/test/deployment/crashextension/Addons.xcu new file mode 100644 index 000000000..019a068e7 --- /dev/null +++ b/desktop/test/deployment/crashextension/Addons.xcu @@ -0,0 +1,62 @@ + + + + + + + + + + vnd.org.libreoffice.test.desktop.deployment.crashextension: + + + + %origin%/crash.png + + + %origin%/crash.png + + + + + + + + + standardbar + + + .uno:HelpIndex + + + AddAfter + + + AddLast + + + + + + + + vnd.org.libreoffice.test.desktop.deployment.crashextension: + + + Crash LibreOffice + + + + + + + + + diff --git a/desktop/test/deployment/crashextension/META-INF/manifest.xml b/desktop/test/deployment/crashextension/META-INF/manifest.xml new file mode 100644 index 000000000..cbb801947 --- /dev/null +++ b/desktop/test/deployment/crashextension/META-INF/manifest.xml @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/desktop/test/deployment/crashextension/ProtocolHandler.xcu b/desktop/test/deployment/crashextension/ProtocolHandler.xcu new file mode 100644 index 000000000..f4011743b --- /dev/null +++ b/desktop/test/deployment/crashextension/ProtocolHandler.xcu @@ -0,0 +1,20 @@ + + + + + + + + vnd.org.libreoffice.test.desktop.deployment.crashextension:* + + + + diff --git a/desktop/test/deployment/crashextension/crash.png b/desktop/test/deployment/crashextension/crash.png new file mode 100644 index 000000000..693df038c Binary files /dev/null and b/desktop/test/deployment/crashextension/crash.png differ diff --git a/desktop/test/deployment/crashextension/crashextension.component b/desktop/test/deployment/crashextension/crashextension.component new file mode 100644 index 000000000..2597e444a --- /dev/null +++ b/desktop/test/deployment/crashextension/crashextension.component @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/desktop/test/deployment/crashextension/crashextension.cxx b/desktop/test/deployment/crashextension/crashextension.cxx new file mode 100644 index 000000000..2e64f3af0 --- /dev/null +++ b/desktop/test/deployment/crashextension/crashextension.cxx @@ -0,0 +1,152 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace +{ +class Provider : public cppu::WeakImplHelper3 +{ +public: + Provider(const Provider&) = delete; + const Provider& operator=(const Provider&) = delete; + + static css::uno::Reference + SAL_CALL static_create(css::uno::Reference const& xContext) + { + return static_cast(new Provider(xContext)); + } + + static rtl::OUString SAL_CALL static_getImplementationName(); + + static css::uno::Sequence SAL_CALL static_getSupportedServiceNames(); + +private: + explicit Provider(css::uno::Reference const& context) + : context_(context) + { + assert(context.is()); + } + + virtual ~Provider() {} + + virtual rtl::OUString SAL_CALL getImplementationName() override + { + return static_getImplementationName(); + } + + virtual sal_Bool SAL_CALL supportsService(rtl::OUString const& ServiceName) override + { + return cppu::supportsService(this, ServiceName); + } + + virtual css::uno::Sequence SAL_CALL getSupportedServiceNames() override + { + return static_getSupportedServiceNames(); + } + + virtual css::uno::Reference + SAL_CALL queryDispatch(css::util::URL const&, rtl::OUString const&, sal_Int32) override; + + virtual css::uno::Sequence> SAL_CALL + queryDispatches(css::uno::Sequence const& Requests) override; + + virtual void SAL_CALL dispatch(css::util::URL const&, + css::uno::Sequence const&) override; + + virtual void SAL_CALL addStatusListener(css::uno::Reference const&, + css::util::URL const&) override + { + } + + virtual void SAL_CALL removeStatusListener( + css::uno::Reference const&, css::util::URL const&) override + { + } + + css::uno::Reference context_; +}; + +rtl::OUString Provider::static_getImplementationName() +{ + return rtl::OUString("org.libreoffice.test.desktop.deployment.crashextension.impl"); +} + +css::uno::Sequence Provider::static_getSupportedServiceNames() +{ + rtl::OUString name("org.libreoffice.test.desktop.deployment.crashextension"); + return css::uno::Sequence(&name, 1); +} + +css::uno::Reference Provider::queryDispatch(css::util::URL const&, + rtl::OUString const&, sal_Int32) +{ + return this; +} + +css::uno::Sequence> +Provider::queryDispatches(css::uno::Sequence const& Requests) +{ + css::uno::Sequence> s(Requests.getLength()); + for (sal_Int32 i = 0; i < s.getLength(); ++i) + { + s[i] + = queryDispatch(Requests[i].FeatureURL, Requests[i].FrameName, Requests[i].SearchFlags); + } + return s; +} + +void Provider::dispatch(css::util::URL const&, css::uno::Sequence const&) +{ + // Crash LibreOffice + *((char*)NULL) = 0; +} + +cppu::ImplementationEntry const services[] + = { { &Provider::static_create, &Provider::static_getImplementationName, + &Provider::static_getSupportedServiceNames, &cppu::createSingleComponentFactory, NULL, + 0 }, + { NULL, NULL, NULL, NULL, NULL, 0 } }; +} + +extern "C" SAL_DLLPUBLIC_EXPORT void* +component_getFactory(char const* pImplName, void* pServiceManager, void* pRegistryKey) +{ + return cppu::component_getFactoryHelper(pImplName, pServiceManager, pRegistryKey, services); +} + +extern "C" SAL_DLLPUBLIC_EXPORT void +component_getImplementationEnvironment(char const** ppEnvTypeName, uno_Environment**) +{ + *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/desktop/test/deployment/crashextension/description.xml b/desktop/test/deployment/crashextension/description.xml new file mode 100644 index 000000000..3084b17ae --- /dev/null +++ b/desktop/test/deployment/crashextension/description.xml @@ -0,0 +1,21 @@ + + + + + + + + Crash LibreOffice + + + + + diff --git a/desktop/test/deployment/dependencies/broken-dependency.oxt b/desktop/test/deployment/dependencies/broken-dependency.oxt new file mode 100644 index 000000000..11bab0a95 Binary files /dev/null and b/desktop/test/deployment/dependencies/broken-dependency.oxt differ diff --git a/desktop/test/deployment/dependencies/double-dependencies.oxt b/desktop/test/deployment/dependencies/double-dependencies.oxt new file mode 100644 index 000000000..055c27ea5 Binary files /dev/null and b/desktop/test/deployment/dependencies/double-dependencies.oxt differ diff --git a/desktop/test/deployment/dependencies/empty-dependencies.oxt b/desktop/test/deployment/dependencies/empty-dependencies.oxt new file mode 100644 index 000000000..ebb18dcbf Binary files /dev/null and b/desktop/test/deployment/dependencies/empty-dependencies.oxt differ diff --git a/desktop/test/deployment/dependencies/funny-dependency.oxt b/desktop/test/deployment/dependencies/funny-dependency.oxt new file mode 100644 index 000000000..9b683e6d1 Binary files /dev/null and b/desktop/test/deployment/dependencies/funny-dependency.oxt differ diff --git a/desktop/test/deployment/dependencies/license-dependency.oxt b/desktop/test/deployment/dependencies/license-dependency.oxt new file mode 100644 index 000000000..b01da4b5c Binary files /dev/null and b/desktop/test/deployment/dependencies/license-dependency.oxt differ diff --git a/desktop/test/deployment/dependencies/loversion35.oxt b/desktop/test/deployment/dependencies/loversion35.oxt new file mode 100644 index 000000000..ecd509cd9 Binary files /dev/null and b/desktop/test/deployment/dependencies/loversion35.oxt differ diff --git a/desktop/test/deployment/dependencies/loversion36.oxt b/desktop/test/deployment/dependencies/loversion36.oxt new file mode 100644 index 000000000..f38630e0c Binary files /dev/null and b/desktop/test/deployment/dependencies/loversion36.oxt differ diff --git a/desktop/test/deployment/dependencies/many-dependencies.oxt b/desktop/test/deployment/dependencies/many-dependencies.oxt new file mode 100644 index 000000000..367568143 Binary files /dev/null and b/desktop/test/deployment/dependencies/many-dependencies.oxt differ diff --git a/desktop/test/deployment/dependencies/maxversion33.oxt b/desktop/test/deployment/dependencies/maxversion33.oxt new file mode 100644 index 000000000..fe0998c81 Binary files /dev/null and b/desktop/test/deployment/dependencies/maxversion33.oxt differ diff --git a/desktop/test/deployment/dependencies/maxversion34.oxt b/desktop/test/deployment/dependencies/maxversion34.oxt new file mode 100644 index 000000000..0a284b388 Binary files /dev/null and b/desktop/test/deployment/dependencies/maxversion34.oxt differ diff --git a/desktop/test/deployment/dependencies/maxversion35.oxt b/desktop/test/deployment/dependencies/maxversion35.oxt new file mode 100644 index 000000000..e95b97cd6 Binary files /dev/null and b/desktop/test/deployment/dependencies/maxversion35.oxt differ diff --git a/desktop/test/deployment/dependencies/maxversion36.oxt b/desktop/test/deployment/dependencies/maxversion36.oxt new file mode 100644 index 000000000..786ed4ce1 Binary files /dev/null and b/desktop/test/deployment/dependencies/maxversion36.oxt differ diff --git a/desktop/test/deployment/dependencies/minattr22.oxt b/desktop/test/deployment/dependencies/minattr22.oxt new file mode 100644 index 000000000..a6c8e3758 Binary files /dev/null and b/desktop/test/deployment/dependencies/minattr22.oxt differ diff --git a/desktop/test/deployment/dependencies/minattr23.oxt b/desktop/test/deployment/dependencies/minattr23.oxt new file mode 100644 index 000000000..83d17938c Binary files /dev/null and b/desktop/test/deployment/dependencies/minattr23.oxt differ diff --git a/desktop/test/deployment/dependencies/minattr24.oxt b/desktop/test/deployment/dependencies/minattr24.oxt new file mode 100644 index 000000000..00f053f48 Binary files /dev/null and b/desktop/test/deployment/dependencies/minattr24.oxt differ diff --git a/desktop/test/deployment/dependencies/no-dependencies.oxt b/desktop/test/deployment/dependencies/no-dependencies.oxt new file mode 100644 index 000000000..6487eb66a Binary files /dev/null and b/desktop/test/deployment/dependencies/no-dependencies.oxt differ diff --git a/desktop/test/deployment/dependencies/no-description.oxt b/desktop/test/deployment/dependencies/no-description.oxt new file mode 100644 index 000000000..1e6579cd7 Binary files /dev/null and b/desktop/test/deployment/dependencies/no-description.oxt differ diff --git a/desktop/test/deployment/dependencies/readme.txt b/desktop/test/deployment/dependencies/readme.txt new file mode 100644 index 000000000..8ba90ce4a --- /dev/null +++ b/desktop/test/deployment/dependencies/readme.txt @@ -0,0 +1,73 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +no-description.oxt, no-dependencies.oxt, empty-dependencies.oxt effectively have +no dependencies and should thus install successfully. + +broken-dependencies.oxt contains a malformed description.xml and should thus +display an error and not install. + +double-dependencies.oxt contains a description.xml with two dependencies +elements. This is not allowed by the spec but behaviour is unspecified. In the +current implementation, it combines the two elements, and thus finds two +unsatisfied dependencies, displays the Unsatisfied Dependencies dialog and does +not install. + +version21.oxt contains a dependency on OOo 2.1 (and should thus only install in +OOo 2.1 or later); version21ns.oxt is the same, but with a different way of +using XML namespaces; version21other.oxt additionally contains an unsatisfied +dependency (and should thus not install in any OOo version). version22.oxt +contains a dependency on OOo 2.2 (and should thus only install in OOo 2.2 or +later). version23.oxt contains a dependency on OOo 2.3 (and should thus only +install in OOo 2.3 or later). version10000.oxt contains a dependency on the +hypothetical OOo version 10000 (and should thus not install in any OOo version). +versionempty.oxt contains an empty value attribute and versionnone.oxt lacks the +value attribute; neither is allowed by the spec, but the current implementation +treats both as pre OOo 2.1 versions (and the extensions should thus install in +OOo 2.1 or later). + +maxversion30.oxt contains a maximal version dependency on OOo 3.0 (and should +thus only install in OOo 3.0 or earlier, back to OOo 2.3, thanks to the +additionally specified OpenOffice.org-minimal-version attribute). +maxversion10000.oxt contains a maximal version dependency on the hypothetical +OOo version 10000 (and should thus install in any OOo version 3.1 or later; +OpenOffice.org-maximal-version was introduced in OOo 3.1, and no OpenOffice.org- +minimal-version attribute is specified). bad-minmaxversion.oxt contains a +minimal version dependency on OOo 3.2 and a maximal version dependency on +OOo 3.1 (and should thus not install in any OOo version). + +minattr22.oxt contains a (hypothetical, most probably never satisfied) +UNSATISFIED dependency with an OpenOffice.org-minimal-version attribute of +"2.2" (and should thus install in OOo 2.3 or later); minattr23.oxt is similar, +but with an OpenOffice.org-minimal-version attribute of "2.3" (and should thus +also install in OOo 2.3 or later); minattr24.oxt is similar, but with an +OpenOffice.org-minimal-version attribute of "2.4" (and should thus only install +in OOo 2.4 or later). + +All of the following testcases should result in the Unsatisfied Dependencies +dialog being displayed and the extension not being installed: + +unknown-dependency.oxt contains a dependency without a name attribute, and +should thus display "Unknown" (localized). + +funny-dependency.oxt, many-dependencies.oxt contain somewhat extreme input. + +license-dependency.oxt contains both a license to be accepted by the user and +dependencies. What is important here is that the Unsatisfied Dependencies +dialog is displayed, but not the license (as installation aborts as soon as +unsatisfied dependencies are found). diff --git a/desktop/test/deployment/dependencies/unknown-dependency.oxt b/desktop/test/deployment/dependencies/unknown-dependency.oxt new file mode 100644 index 000000000..7c2a22c6d Binary files /dev/null and b/desktop/test/deployment/dependencies/unknown-dependency.oxt differ diff --git a/desktop/test/deployment/dependencies/version10000.oxt b/desktop/test/deployment/dependencies/version10000.oxt new file mode 100644 index 000000000..c15b7a117 Binary files /dev/null and b/desktop/test/deployment/dependencies/version10000.oxt differ diff --git a/desktop/test/deployment/dependencies/version21.oxt b/desktop/test/deployment/dependencies/version21.oxt new file mode 100644 index 000000000..922b27955 Binary files /dev/null and b/desktop/test/deployment/dependencies/version21.oxt differ diff --git a/desktop/test/deployment/dependencies/version21ns.oxt b/desktop/test/deployment/dependencies/version21ns.oxt new file mode 100644 index 000000000..5efb2ed90 Binary files /dev/null and b/desktop/test/deployment/dependencies/version21ns.oxt differ diff --git a/desktop/test/deployment/dependencies/version21other.oxt b/desktop/test/deployment/dependencies/version21other.oxt new file mode 100644 index 000000000..d88a8155a Binary files /dev/null and b/desktop/test/deployment/dependencies/version21other.oxt differ diff --git a/desktop/test/deployment/dependencies/version22.oxt b/desktop/test/deployment/dependencies/version22.oxt new file mode 100644 index 000000000..4c8a207b6 Binary files /dev/null and b/desktop/test/deployment/dependencies/version22.oxt differ diff --git a/desktop/test/deployment/dependencies/version23.oxt b/desktop/test/deployment/dependencies/version23.oxt new file mode 100644 index 000000000..6c08d2949 Binary files /dev/null and b/desktop/test/deployment/dependencies/version23.oxt differ diff --git a/desktop/test/deployment/dependencies/version34.oxt b/desktop/test/deployment/dependencies/version34.oxt new file mode 100644 index 000000000..ee2a82d93 Binary files /dev/null and b/desktop/test/deployment/dependencies/version34.oxt differ diff --git a/desktop/test/deployment/dependencies/version35.oxt b/desktop/test/deployment/dependencies/version35.oxt new file mode 100644 index 000000000..6e99cf1b2 Binary files /dev/null and b/desktop/test/deployment/dependencies/version35.oxt differ diff --git a/desktop/test/deployment/dependencies/versionempty.oxt b/desktop/test/deployment/dependencies/versionempty.oxt new file mode 100644 index 000000000..a06bb0129 Binary files /dev/null and b/desktop/test/deployment/dependencies/versionempty.oxt differ diff --git a/desktop/test/deployment/dependencies/versionnone.oxt b/desktop/test/deployment/dependencies/versionnone.oxt new file mode 100644 index 000000000..ace2a1165 Binary files /dev/null and b/desktop/test/deployment/dependencies/versionnone.oxt differ diff --git a/desktop/test/deployment/description/desc1.oxt b/desktop/test/deployment/description/desc1.oxt new file mode 100644 index 000000000..e447fd6ea Binary files /dev/null and b/desktop/test/deployment/description/desc1.oxt differ diff --git a/desktop/test/deployment/description/desc2.oxt b/desktop/test/deployment/description/desc2.oxt new file mode 100644 index 000000000..8df2f33fa Binary files /dev/null and b/desktop/test/deployment/description/desc2.oxt differ diff --git a/desktop/test/deployment/description/desc3.oxt b/desktop/test/deployment/description/desc3.oxt new file mode 100644 index 000000000..fbd1136b0 Binary files /dev/null and b/desktop/test/deployment/description/desc3.oxt differ diff --git a/desktop/test/deployment/description/desc4.oxt b/desktop/test/deployment/description/desc4.oxt new file mode 100644 index 000000000..0c97f5fd4 Binary files /dev/null and b/desktop/test/deployment/description/desc4.oxt differ diff --git a/desktop/test/deployment/description/desc5.oxt b/desktop/test/deployment/description/desc5.oxt new file mode 100644 index 000000000..811007349 Binary files /dev/null and b/desktop/test/deployment/description/desc5.oxt differ diff --git a/desktop/test/deployment/description/readme.txt b/desktop/test/deployment/description/readme.txt new file mode 100644 index 000000000..bb133ba51 --- /dev/null +++ b/desktop/test/deployment/description/readme.txt @@ -0,0 +1,23 @@ +The folder contains extensions which use in the description.xml the following: +-The element The element contains localized child +elements. + +The following table shows what localized item is used, when the Office the locale +en-US uses. The displayed extension description contains the locale. + + +Localization: + +Installed office: en-US + | locale +========================= +desc1.oxt | en-US +------------------------- +desc2.oxt | en-US-region1 +-------------------------- +desc3.oxt | en +-------------------------- +desc4.oxt | en-GB +-------------------------- +desc5.oxt | de + diff --git a/desktop/test/deployment/display_name/name1.oxt b/desktop/test/deployment/display_name/name1.oxt new file mode 100644 index 000000000..5a53690d6 Binary files /dev/null and b/desktop/test/deployment/display_name/name1.oxt differ diff --git a/desktop/test/deployment/display_name/name2.oxt b/desktop/test/deployment/display_name/name2.oxt new file mode 100644 index 000000000..f6cbcae3b Binary files /dev/null and b/desktop/test/deployment/display_name/name2.oxt differ diff --git a/desktop/test/deployment/display_name/name3.oxt b/desktop/test/deployment/display_name/name3.oxt new file mode 100644 index 000000000..8df750ce6 Binary files /dev/null and b/desktop/test/deployment/display_name/name3.oxt differ diff --git a/desktop/test/deployment/display_name/name4.oxt b/desktop/test/deployment/display_name/name4.oxt new file mode 100644 index 000000000..6ce4822e3 Binary files /dev/null and b/desktop/test/deployment/display_name/name4.oxt differ diff --git a/desktop/test/deployment/display_name/name5.oxt b/desktop/test/deployment/display_name/name5.oxt new file mode 100644 index 000000000..56973be78 Binary files /dev/null and b/desktop/test/deployment/display_name/name5.oxt differ diff --git a/desktop/test/deployment/display_name/readme.txt b/desktop/test/deployment/display_name/readme.txt new file mode 100644 index 000000000..23173bde6 --- /dev/null +++ b/desktop/test/deployment/display_name/readme.txt @@ -0,0 +1,26 @@ +The folder contains extensions which use in the description.xml the following: +-The element +The element contains localized child elements. + +To test the display name in the update dialog use the extensions in +desktop/test/deployment/update/simple + + +The following table shows what localized item is used, when the Office the locale +en-US uses. + + +Localization: + +Installed office: en-US + | publisher | release notes +============================================= +name1.oxt | en-US | en-US +--------------------------------------------- +name2.oxt | en-US-region1 | en-US-region1 +--------------------------------------------- +name3.oxt | en | en +--------------------------------------------- +name4.oxt | en-GB | en-GB +--------------------------------------------- +name5.oxt | de | de diff --git a/desktop/test/deployment/executable_content/build/hello.c b/desktop/test/deployment/executable_content/build/hello.c new file mode 100644 index 000000000..d527e7152 --- /dev/null +++ b/desktop/test/deployment/executable_content/build/hello.c @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include + +int main(int argc, char** argv, char** envp) +{ + //prevent warning about unused parameters + //we need to provide parameter names in C + (void)argc; + (void)argv; + (void)envp; + + fprintf(stdout, "Hello world!\n"); + return 0; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/test/deployment/executable_content/build/makefile.mk b/desktop/test/deployment/executable_content/build/makefile.mk new file mode 100644 index 000000000..513d640cf --- /dev/null +++ b/desktop/test/deployment/executable_content/build/makefile.mk @@ -0,0 +1,42 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +PRJ = ..$/..$/..$/.. + +PRJNAME = desktop +TARGET = hello +LIBTARGET=NO +NO_DEFAULT_STL=TRUE +LIBSALCPPRT= + +.INCLUDE : settings.mk + + +APP1NOSAL = TRUE +APP1OBJS = \ + $(OBJ)$/hello.obj + + +APP1TARGET = $(TARGET) + +DEPOBJFILES = \ + $(OBJ)$/hello.obj + + +.INCLUDE : target.mk + diff --git a/desktop/test/deployment/executable_content/build/readme.txt b/desktop/test/deployment/executable_content/build/readme.txt new file mode 100644 index 000000000..4f956e573 --- /dev/null +++ b/desktop/test/deployment/executable_content/build/readme.txt @@ -0,0 +1,2 @@ +This folder contains the sources to build the hello executable which is contained +in the hello.oxt. diff --git a/desktop/test/deployment/executable_content/hello.oxt b/desktop/test/deployment/executable_content/hello.oxt new file mode 100644 index 000000000..97d6d14a3 Binary files /dev/null and b/desktop/test/deployment/executable_content/hello.oxt differ diff --git a/desktop/test/deployment/executable_content/readme.txt b/desktop/test/deployment/executable_content/readme.txt new file mode 100644 index 000000000..2c336de72 --- /dev/null +++ b/desktop/test/deployment/executable_content/readme.txt @@ -0,0 +1,12 @@ +When the executable is installed try to execute the executable "hello". The executable +file attribute (not on Windows) should be set. + +CD into the extension directory in /user|share)/uno_packages/cache/uno_packages/xyz_ +Then there are the directories for different platforms: + +windows, +solaris, +linux + +Each directory contains a hello executable. On linux one should execute it in a +shell with a build environment, so that the C++ runtime is found. diff --git a/desktop/test/deployment/identifier/explicit/identifier.oxt b/desktop/test/deployment/identifier/explicit/identifier.oxt new file mode 100644 index 000000000..3851e291c Binary files /dev/null and b/desktop/test/deployment/identifier/explicit/identifier.oxt differ diff --git a/desktop/test/deployment/identifier/legacy/identifier.oxt b/desktop/test/deployment/identifier/legacy/identifier.oxt new file mode 100644 index 000000000..df8bb8449 Binary files /dev/null and b/desktop/test/deployment/identifier/legacy/identifier.oxt differ diff --git a/desktop/test/deployment/identifier/readme.txt b/desktop/test/deployment/identifier/readme.txt new file mode 100644 index 000000000..c268ca4af --- /dev/null +++ b/desktop/test/deployment/identifier/readme.txt @@ -0,0 +1,24 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +legacy/identifier.oxt and explicit/identifier.oxt are two different extensions +that happen to have the same file name. legacy/identifier.oxt does not have an +explicit extension identifier, so it gets the implicit one "org.openoffice. +legacy.identifier.oxt". explicit/identifier.oxt has the +explicit extension identifier "org.openoffice/framework/desktop/test/deployment/ +identifier/explicit/identifier.oxt". diff --git a/desktop/test/deployment/locationtest/LocationTest.idl b/desktop/test/deployment/locationtest/LocationTest.idl new file mode 100644 index 000000000..9e7881ce1 --- /dev/null +++ b/desktop/test/deployment/locationtest/LocationTest.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_comp_smoketest_LocationTest_idl_ +#define _com_sun_star_comp_smoketest_LocationTest_idl_ + +#include + + +module com { module sun { module star { module comp { module smoketest { + // example service, XServiceInfo is implemented here for demonstration + // issues. XServiceInfo must be implemented by all components. + service TestExtension: ::com::sun::star::lang::XServiceInfo; +};};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/test/deployment/locationtest/LocationTest.java b/desktop/test/deployment/locationtest/LocationTest.java new file mode 100644 index 000000000..ca70b5a1e --- /dev/null +++ b/desktop/test/deployment/locationtest/LocationTest.java @@ -0,0 +1,156 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +package com.sun.star.comp.smoketest; + +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.lang.XInitialization; +import com.sun.star.lang.XTypeProvider; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.uno.Type; + +/** This class capsulates the class, that implements the minimal component, a + * factory for creating the service (__getComponentFactory) and a + * method, that writes the information into the given registry key + * (__writeRegistryServiceInfo). + */ +public class LocationTest { + /** This class implements the component. At least the interfaces XServiceInfo, + * XTypeProvider, and XInitialization should be provided by the service. + */ + public static class _LocationTest extends WeakBase + implements XServiceInfo { + /** The service name, that must be used to get an instance of this service. + */ + private static final String __serviceName = + "com.sun.star.comp.smoketest.LocationTest"; + + /** The initial component contextr, that gives access to + * the service manager, supported singletons, ... + * It's often later used + */ + private XComponentContext m_cmpCtx; + + /** The service manager, that gives access to all registered services. + * It's often later used + */ + private XMultiComponentFactory m_xMCF; + + /** The constructor of the inner class has a XMultiServiceFactory parameter. + * @param xmultiservicefactoryInitialization A special service factory + * could be introduced while initializing. + */ + public _LocationTest(XComponentContext xCompContext) { + try { + m_cmpCtx = xCompContext; + m_xMCF = m_cmpCtx.getServiceManager(); + } + catch( Exception e ) { + e.printStackTrace(); + } + } + + /** This method returns an array of all supported service names. + * @return Array of supported service names. + */ + public String[] getSupportedServiceNames() { + return getServiceNames(); + } + + /** This method is a simple helper function to used in the + * static component initialisation functions as well as in + * getSupportedServiceNames. + */ + public static String[] getServiceNames() { + String[] sSupportedServiceNames = { __serviceName }; + return sSupportedServiceNames; + } + + /** This method returns true, if the given service will be + * supported by the component. + * @param sServiceName Service name. + * @return True, if the given service name will be supported. + */ + public boolean supportsService( String sServiceName ) { + return sServiceName.equals( __serviceName ); + } + + /** Return the class name of the component. + * @return Class name of the component. + */ + public String getImplementationName() { + return _LocationTest.class.getName(); + } + } + + + /** + * Gives a factory for creating the service. + * This method is called by the JavaLoader + *

+ * @return returns a XSingleComponentFactory for creating + * the component + * @param sImplName the name of the implementation for which a + * service is desired + * @see com.sun.star.comp.loader.JavaLoader + */ + public static XSingleComponentFactory __getComponentFactory(String sImplName) + { + XSingleComponentFactory xFactory = null; + + if ( sImplName.equals( _LocationTest.class.getName() ) ) + xFactory = Factory.createComponentFactory(_LocationTest.class, + _LocationTest.getServiceNames()); + + return xFactory; + } + + /** + * Writes the service information into the given registry key. + * This method is called by the JavaLoader + *

+ * @return returns true if the operation succeeded + * @param regKey the registryKey + * @see com.sun.star.comp.loader.JavaLoader + */ + public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { + return Factory.writeRegistryServiceInfo(_LocationTest.class.getName(), + _LocationTest.getServiceNames(), + regKey); + } + + /** This method is a member of the interface for initializing an object + * directly after its creation. + * @param object This array of arbitrary objects will be passed to the + * component after its creation. + * @throws Exception Every exception will not be handled, but will be + * passed to the caller. + */ + public void initialize( Object[] object ) + throws com.sun.star.uno.Exception { + /* The component describes what arguments are expected and in which + * order! At this point you can read the objects and initialize + * your component using these objects. + */ + } +} diff --git a/desktop/test/deployment/locationtest/LocationTest.odt b/desktop/test/deployment/locationtest/LocationTest.odt new file mode 100644 index 000000000..8e1aa7007 Binary files /dev/null and b/desktop/test/deployment/locationtest/LocationTest.odt differ diff --git a/desktop/test/deployment/locationtest/MANIFEST.MF b/desktop/test/deployment/locationtest/MANIFEST.MF new file mode 100644 index 000000000..a2fa8c34b --- /dev/null +++ b/desktop/test/deployment/locationtest/MANIFEST.MF @@ -0,0 +1,2 @@ +RegistrationClassName: com.sun.star.comp.smoketest.LocationTest + diff --git a/desktop/test/deployment/locationtest/description.xml b/desktop/test/deployment/locationtest/description.xml new file mode 100644 index 000000000..0d2b71294 --- /dev/null +++ b/desktop/test/deployment/locationtest/description.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/desktop/test/deployment/locationtest/makefile.mk b/desktop/test/deployment/locationtest/makefile.mk new file mode 100644 index 000000000..de586915e --- /dev/null +++ b/desktop/test/deployment/locationtest/makefile.mk @@ -0,0 +1,76 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +PRJ = ..$/..$/.. +PRJNAME = location_test +PACKAGE = com$/sun$/star$/comp$/smoketest +TARGET = com_sun_star_comp_smoketest + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +JARFILES = ridl.jar jurt.jar unoil.jar juh.jar + +JARTARGET = LocationTest.jar +JARCOMPRESS = TRUE +CUSTOMMANIFESTFILE = MANIFEST.MF + +ZIP1TARGET=locationtest +ZIP1LIST=* +ZIPFLAGS=-r +ZIP1DIR=$(MISC)$/$(TARGET) +ZIP1EXT=.oxt + +# --- Files -------------------------------------------------------- + +COPY_OXT_MANIFEST:= $(MISC)$/$(TARGET)$/META-INF$/manifest.xml +JAVAFILES = LocationTest.java + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + +$(JARTARGETN) : $(MISC)$/$(TARGET).javamaker.done + +$(JAVACLASSFILES) : $(MISC)$/$(TARGET).javamaker.done + +$(MISC)$/$(TARGET).javamaker.done: $(BIN)$/LocationTest.rdb + $(JAVAMAKER) -O$(CLASSDIR) -BUCR -nD -X$(SOLARBINDIR)/types.rdb $< + $(TOUCH) $@ + +$(BIN)$/LocationTest.rdb: LocationTest.idl + $(IDLC) -O$(MISC) -I$(SOLARIDLDIR) -cid -we $< + +-$(RM) $@ + $(REGMERGE) $@ /UCR $(MISC)$/LocationTest.urd + +$(MISC)$/$(ZIP1TARGET).createdir : + +$(MKDIRHIER) $(MISC)$/$(TARGET)$/META-INF >& $(NULLDEV) && $(TOUCH) $@ + +$(MISC)$/$(TARGET)_resort : manifest.xml $(JARTARGETN) $(MISC)$/$(ZIP1TARGET).createdir $(BIN)$/LocationTest.rdb description.xml + $(COPY) manifest.xml $(MISC)$/$(TARGET)$/META-INF$/manifest.xml + $(COPY) $(JARTARGETN) $(MISC)$/$(TARGET)$/$(JARTARGET) + $(COPY) $(BIN)$/LocationTest.rdb $(MISC)$/$(TARGET)$/LocationTest.rdb + $(COPY) description.xml $(MISC)$/$(TARGET)$/description.xml + $(TOUCH) $@ + +.IF "$(ZIP1TARGETN)"!="" +$(ZIP1TARGETN) : $(MISC)$/$(TARGET)_resort $(MISC)$/$(ZIP1TARGET).createdir + +.ENDIF # "$(ZIP1TARGETN)"!="" + diff --git a/desktop/test/deployment/locationtest/manifest.xml b/desktop/test/deployment/locationtest/manifest.xml new file mode 100644 index 000000000..3dd6460fa --- /dev/null +++ b/desktop/test/deployment/locationtest/manifest.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/MANIFEST.MF b/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/MANIFEST.MF new file mode 100644 index 000000000..fba55a6e0 --- /dev/null +++ b/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/MANIFEST.MF @@ -0,0 +1,2 @@ +RegistrationClassName: com.sun.star.comp.extensionoptions.OptionsEventHandler + diff --git a/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/OptionsEventHandler.java b/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/OptionsEventHandler.java new file mode 100644 index 000000000..b360f470b --- /dev/null +++ b/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/OptionsEventHandler.java @@ -0,0 +1,417 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +package com.sun.star.comp.extensionoptions; + +import com.sun.star.configuration.theDefaultProvider; +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.WrappedTargetException; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.AnyConverter; +import com.sun.star.uno.XComponentContext; +import com.sun.star.uno.Exception; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.awt.XContainerWindowEventHandler; +import com.sun.star.awt.XControl; +import com.sun.star.awt.XControlModel; +import com.sun.star.awt.XControlContainer; +import com.sun.star.container.XNameAccess; +import com.sun.star.beans.NamedValue; +import com.sun.star.beans.XPropertySet; +import com.sun.star.util.XChangesBatch; + +/** A handler which supports multiple options pages which all + * have the same controls. + */ +public class OptionsEventHandler { + + public static class _OptionsEventHandler extends WeakBase + implements XServiceInfo, XContainerWindowEventHandler { + + private static final String __serviceName = + "com.sun.star.comp.extensionoptions.OptionsEventHandler"; + + private final XComponentContext m_cmpCtx; + + private XNameAccess m_xAccessLeaves; + + /**Names of supported options pages. + */ + private final String[] m_arWindowNames = { + "Writer1", "Writer2", "Writer3", "Calc1", "Calc2", "Calc3", + "Draw1", "Draw2", "Draw3", "Node1_1", "Node1_2", "Node1_3", + "Node2_1", "Node2_2", "Node2_3", "Node3_1", "Node3_2", "Node3_3"}; + + /**Names of the controls which are supported by this handler. All these + *controls must have a "Text" property. + */ + private final String[] m_arStringControls = { + "String0", "String1", "String2", "String3", "String4"}; + + public _OptionsEventHandler(XComponentContext xCompContext) { + m_cmpCtx = xCompContext; + + //Create the com.sun.star.configuration.ConfigurationUpdateAccess + //for the registry node which contains the data for our option + //pages. + XMultiServiceFactory xConfig = theDefaultProvider.get(m_cmpCtx); + + //One argument for creating the ConfigurationUpdateAccess is the "nodepath". + //Our nodepath point to the node of which the direct subnodes represent the + //different options pages. + Object[] args = new Object[1]; + args[0] = new NamedValue( + "nodepath", + "/org.openoffice.desktop.deployment.options.ExtensionData/Leaves"); + + //We get the com.sun.star.container.XNameAccess from the instance of + //ConfigurationUpdateAccess and save it for later use. + try { + m_xAccessLeaves = UnoRuntime.queryInterface( + XNameAccess.class, xConfig.createInstanceWithArguments( + "com.sun.star.configuration.ConfigurationUpdateAccess", args)); + + } catch (com.sun.star.uno.Exception e) { + e.printStackTrace(); + return; + } + } + + /** This method returns an array of all supported service names. + * @return Array of supported service names. + */ + public String[] getSupportedServiceNames() { + return getServiceNames(); + } + + /** This method is a simple helper function to used in the + * static component initialisation functions as well as in + * getSupportedServiceNames. + */ + private static String[] getServiceNames() { + String[] sSupportedServiceNames = { __serviceName }; + return sSupportedServiceNames; + } + + /** This method returns true, if the given service will be + * supported by the component. + * @param sServiceName Service name. + * @return True, if the given service name will be supported. + */ + public boolean supportsService( String sServiceName ) { + return sServiceName.equals( __serviceName ); + } + + /** Return the class name of the component. + * @return Class name of the component. + */ + public String getImplementationName() { + return _OptionsEventHandler.class.getName(); + } + + //XContainerWindowEventHandler + public boolean callHandlerMethod(com.sun.star.awt.XWindow aWindow, + Object aEventObject, String sMethod) + throws WrappedTargetException { + if (sMethod.equals("external_event") ){ + try { + return handleExternalEvent(aWindow, aEventObject); + } catch (com.sun.star.uno.Exception e) { + throw new WrappedTargetException(e, sMethod, this, e); + } + } + + return true; + } + + //XContainerWindowEventHandler + public String[] getSupportedMethodNames() { + return new String[] {"external_event"}; + } + + private boolean handleExternalEvent(com.sun.star.awt.XWindow aWindow, Object aEventObject) + throws com.sun.star.uno.Exception { + try { + String sMethod = AnyConverter.toString(aEventObject); + if (sMethod.equals("ok")) { + saveData(aWindow); + } else if (sMethod.equals("back") || sMethod.equals("initialize")) { + loadData(aWindow); + } + } catch (com.sun.star.lang.IllegalArgumentException ex) { + throw new com.sun.star.lang.IllegalArgumentException(ex, + "Method external_event requires a string in the event object argument.", + this, (short) -1); + } + + return true; + } + + private void saveData(com.sun.star.awt.XWindow aWindow) + throws com.sun.star.lang.IllegalArgumentException, + com.sun.star.uno.Exception { + + //Determine the name of the options page. This serves two purposes. First, if this + //options page is supported by this handler and second we use the name two locate + //the corresponding data in the registry. + String sWindowName = getWindowName(aWindow); + if (sWindowName == null) + throw new com.sun.star.lang.IllegalArgumentException( + "This window is not supported by this handler", this, (short) -1); + + //To access the separate controls of the window we need to obtain the + //XControlContainer from the window implementation + XControlContainer xContainer = UnoRuntime.queryInterface( + XControlContainer.class, aWindow); + if (xContainer == null) + throw new com.sun.star.uno.Exception( + "Could not get XControlContainer from window.", this); + + //This is an implementation which will be used for several options pages + //which all have the same controls. m_arStringControls is an array which + //contains the names. + for (int i = 0; i < m_arStringControls.length; i++) { + + //To obtain the data from the controls we need to get their model. + //First get the respective control from the XControlContainer. + XControl xControl = xContainer.getControl(m_arStringControls[i]); + + //This generic handler and the corresponding registry schema support + //up to five text controls. However, if an options page does not use all + //five controls then we will not complain here. + if (xControl == null) + continue; + + //From the control we get the model, which in turn supports the + //XPropertySet interface, which we finally use to get the data from + //the control. + XPropertySet xProp = UnoRuntime.queryInterface( + XPropertySet.class, xControl.getModel()); + + if (xProp == null) + throw new com.sun.star.uno.Exception( + "Could not get XPropertySet from control.", this); + //Get the "Text" property. + Object aText = xProp.getPropertyValue("Text"); + String sValue = null; + + //The value is still contained in a com.sun.star.uno.Any - so convert it. + try { + sValue = AnyConverter.toString(aText); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + throw new com.sun.star.lang.IllegalArgumentException(ex, + "Wrong property type.", this, (short) -1); + } + + //Now we have the actual string value of the control. What we need now is + //the XPropertySet of the respective property in the registry, so that we + //can store the value. + //To access the registry we have previously created a service instance + //of com.sun.star.configuration.ConfigurationUpdateAccess which supports + //com.sun.star.container.XNameAccess. The XNameAccess is used to get the + //particular registry node which represents this options page. + //Fortunately the name of the window is the same as the registry node. + XPropertySet xLeaf = UnoRuntime.queryInterface( + XPropertySet.class, m_xAccessLeaves.getByName(sWindowName)); + if (xLeaf == null) + throw new com.sun.star.uno.Exception( + "XPropertySet not supported.", this); + + //Finally we can set the value + xLeaf.setPropertyValue(m_arStringControls[i], sValue); + } + + //Committing the changes will cause or changes to be written to the registry. + XChangesBatch xUpdateCommit = + UnoRuntime.queryInterface(XChangesBatch.class, m_xAccessLeaves); + xUpdateCommit.commitChanges(); + } + + private void loadData(com.sun.star.awt.XWindow aWindow) + throws com.sun.star.uno.Exception { + + //Determine the name of the window. This serves two purposes. First, if this + //window is supported by this handler and second we use the name two locate + //the corresponding data in the registry. + String sWindowName = getWindowName(aWindow); + if (sWindowName == null) + throw new com.sun.star.lang.IllegalArgumentException( + "The window is not supported by this handler", this, (short) -1); + + //To access the separate controls of the window we need to obtain the + //XControlContainer from window implementation + XControlContainer xContainer = UnoRuntime.queryInterface( + XControlContainer.class, aWindow); + if (xContainer == null) + throw new com.sun.star.uno.Exception( + "Could not get XControlContainer from window.", this); + + //This is an implementation which will be used for several options pages + //which all have the same controls. m_arStringControls is an array which + //contains the names. + for (int i = 0; i < m_arStringControls.length; i++) { + + //load the values from the registry + //To access the registry we have previously created a service instance + //of com.sun.star.configuration.ConfigurationUpdateAccess which supports + //com.sun.star.container.XNameAccess. We obtain now the section + //of the registry which is assigned to this options page. + XPropertySet xLeaf = UnoRuntime.queryInterface( + XPropertySet.class, m_xAccessLeaves.getByName(sWindowName)); + if (xLeaf == null) + throw new com.sun.star.uno.Exception( + "XPropertySet not supported.", this); + + //The properties in the registry have the same name as the respective + //controls. We use the names now to obtain the property values. + Object aValue = xLeaf.getPropertyValue(m_arStringControls[i]); + + //Now that we have the value we need to set it at the corresponding + //control in the window. The XControlContainer, which we obtained earlier + //is the means to get hold of all the controls. + XControl xControl = xContainer.getControl(m_arStringControls[i]); + + //This generic handler and the corresponding registry schema support + //up to five text controls. However, if an options page does not use all + //five controls then we will not complain here. + if (xControl == null) + continue; + + //From the control we get the model, which in turn supports the + //XPropertySet interface, which we finally use to set the data at the + //control + XPropertySet xProp = UnoRuntime.queryInterface( + XPropertySet.class, xControl.getModel()); + + if (xProp == null) + throw new com.sun.star.uno.Exception( + "Could not get XPropertySet from control.", this); + + //This handler supports only text controls, which are named "Pattern Field" + //in the dialog editor. We set the "Text" property. + xProp.setPropertyValue("Text", aValue); + } + } + + //Checks if the name property of the window is one of the supported names and returns + //always a valid string or null + private String getWindowName(com.sun.star.awt.XWindow aWindow) + throws com.sun.star.uno.Exception { + + if (aWindow == null) + throw new com.sun.star.lang.IllegalArgumentException( + "Method external_event requires that a window is passed as argument", + this, (short) -1); + + //We need to get the control model of the window. Therefore the first step is + //to query for it. + XControl xControlDlg = UnoRuntime.queryInterface( + XControl.class, aWindow); + + if (xControlDlg == null) + throw new com.sun.star.uno.Exception( + "Cannot obtain XControl from XWindow in method external_event."); + //Now get model + XControlModel xModelDlg = xControlDlg.getModel(); + + if (xModelDlg == null) + throw new com.sun.star.uno.Exception( + "Cannot obtain XControlModel from XWindow in method external_event.", this); + //The model itself does not provide any information except that its + //implementation supports XPropertySet which is used to access the data. + XPropertySet xPropDlg = UnoRuntime.queryInterface( + XPropertySet.class, xModelDlg); + if (xPropDlg == null) + throw new com.sun.star.uno.Exception( + "Cannot obtain XPropertySet from window in method external_event.", this); + + //Get the "Name" property of the window + Object aWindowName = xPropDlg.getPropertyValue("Name"); + + //Get the string from the returned com.sun.star.uno.Any + String sName = null; + try { + sName = AnyConverter.toString(aWindowName); + } catch (com.sun.star.lang.IllegalArgumentException ex) { + throw new com.sun.star.uno.Exception(ex, + "Name - property of window is not a string.", this); + } + + //Eventually we can check if we this handler can "handle" this options page. + //The class has a member m_arWindowNames which contains all names of windows + //for which it is intended + for (int i = 0; i < m_arWindowNames.length; i++) { + if (m_arWindowNames[i].equals(sName)) { + return sName; + } + } + return null; + } + } + + + /** + * Gives a factory for creating the service. + * This method is called by the JavaLoader + *

+ * @return returns a XSingleComponentFactory for creating + * the component + * @param sImplName the name of the implementation for which a + * service is desired + * @see com.sun.star.comp.loader.JavaLoader + */ + public static XSingleComponentFactory __getComponentFactory(String sImplName) + { + XSingleComponentFactory xFactory = null; + + if ( sImplName.equals( _OptionsEventHandler.class.getName() ) ) + xFactory = Factory.createComponentFactory(_OptionsEventHandler.class, + _OptionsEventHandler.getServiceNames()); + + return xFactory; + } + + /** + * Writes the service information into the given registry key. + * This method is called by the JavaLoader + *

+ * @return returns true if the operation succeeded + * @param regKey the registryKey + * @see com.sun.star.comp.loader.JavaLoader + */ + public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { + return Factory.writeRegistryServiceInfo(_OptionsEventHandler.class.getName(), + _OptionsEventHandler.getServiceNames(), + regKey); + } + + /** This method is a member of the interface for initializing an object + * directly after its creation. + * @param object This array of arbitrary objects will be passed to the + * component after its creation. + * @throws Exception Every exception will not be handled, but will be + * passed to the caller. + */ + public void initialize( Object[] object ) + throws com.sun.star.uno.Exception { + } + +} diff --git a/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/makefile.mk b/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/makefile.mk new file mode 100644 index 000000000..4174e3bd7 --- /dev/null +++ b/desktop/test/deployment/options/handler/com/sun/star/comp/extensionoptions/makefile.mk @@ -0,0 +1,44 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +PRJ = ..$/..$/..$/..$/..$/..$/..$/..$/.. +PRJNAME = desktop +PACKAGE = com$/sun$/star$/comp$/extensionoptions +TARGET = options + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +JARFILES = ridl.jar jurt.jar unoil.jar juh.jar + + +JARTARGET = extensionoptions.jar +JARCOMPRESS = TRUE +CUSTOMMANIFESTFILE = MANIFEST.MF +JARCLASSDIRS=com + + +# --- Files -------------------------------------------------------- + +JAVAFILES = OptionsEventHandler.java + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + diff --git a/desktop/test/deployment/options/leaf1.oxt b/desktop/test/deployment/options/leaf1.oxt new file mode 100644 index 000000000..9c3ff8698 Binary files /dev/null and b/desktop/test/deployment/options/leaf1.oxt differ diff --git a/desktop/test/deployment/options/leaf1mod.oxt b/desktop/test/deployment/options/leaf1mod.oxt new file mode 100644 index 000000000..d5d9fe689 Binary files /dev/null and b/desktop/test/deployment/options/leaf1mod.oxt differ diff --git a/desktop/test/deployment/options/leaf2.oxt b/desktop/test/deployment/options/leaf2.oxt new file mode 100644 index 000000000..b95628900 Binary files /dev/null and b/desktop/test/deployment/options/leaf2.oxt differ diff --git a/desktop/test/deployment/options/leaves1.oxt b/desktop/test/deployment/options/leaves1.oxt new file mode 100644 index 000000000..037389a01 Binary files /dev/null and b/desktop/test/deployment/options/leaves1.oxt differ diff --git a/desktop/test/deployment/options/leaves2.oxt b/desktop/test/deployment/options/leaves2.oxt new file mode 100644 index 000000000..531b38566 Binary files /dev/null and b/desktop/test/deployment/options/leaves2.oxt differ diff --git a/desktop/test/deployment/options/leaves3.oxt b/desktop/test/deployment/options/leaves3.oxt new file mode 100644 index 000000000..f5bb0f226 Binary files /dev/null and b/desktop/test/deployment/options/leaves3.oxt differ diff --git a/desktop/test/deployment/options/modules1.oxt b/desktop/test/deployment/options/modules1.oxt new file mode 100644 index 000000000..bae652ffb Binary files /dev/null and b/desktop/test/deployment/options/modules1.oxt differ diff --git a/desktop/test/deployment/options/modules2.oxt b/desktop/test/deployment/options/modules2.oxt new file mode 100644 index 000000000..d6d7956d4 Binary files /dev/null and b/desktop/test/deployment/options/modules2.oxt differ diff --git a/desktop/test/deployment/options/nodes1.oxt b/desktop/test/deployment/options/nodes1.oxt new file mode 100644 index 000000000..b1dfa18d3 Binary files /dev/null and b/desktop/test/deployment/options/nodes1.oxt differ diff --git a/desktop/test/deployment/options/nodes2.oxt b/desktop/test/deployment/options/nodes2.oxt new file mode 100644 index 000000000..a35cfaba9 Binary files /dev/null and b/desktop/test/deployment/options/nodes2.oxt differ diff --git a/desktop/test/deployment/options/nodes3.oxt b/desktop/test/deployment/options/nodes3.oxt new file mode 100644 index 000000000..db0bc49da Binary files /dev/null and b/desktop/test/deployment/options/nodes3.oxt differ diff --git a/desktop/test/deployment/options/nodes4.oxt b/desktop/test/deployment/options/nodes4.oxt new file mode 100644 index 000000000..fe0550fdc Binary files /dev/null and b/desktop/test/deployment/options/nodes4.oxt differ diff --git a/desktop/test/deployment/options/nodes5.oxt b/desktop/test/deployment/options/nodes5.oxt new file mode 100644 index 000000000..893e9ee3e Binary files /dev/null and b/desktop/test/deployment/options/nodes5.oxt differ diff --git a/desktop/test/deployment/options/readme.txt b/desktop/test/deployment/options/readme.txt new file mode 100644 index 000000000..58274ece7 --- /dev/null +++ b/desktop/test/deployment/options/readme.txt @@ -0,0 +1,200 @@ +Important: The handler component extensionoptions.jar in the extensions may not +contain exactly the same sources as the one build in the handler directory. To +make sure that debugging works build the handler directory and put the +extensionoptions.jar into the extension. + + + +leaf1.oxt: Defines a leaf under the node WriterNode +================================================================================ + +leaf1mod.oxt: Defines a leaf under the node WriterNode + +It has a duplicate entry in the manifest.xml (OptionsDialog.xcu). This would cause a DisposedException when uninstalling on OOo 3.0 and prevent the extension from being uninstalled. This is actually a bug of the extensions. However, the error is difficult to investigate. Therefore this was fixed to make OOo more robust (i96690). +================================================================================ + +leaf2.oxt: Defines a leaf under a node that has a name which requires special +"xml encoding". The name is "My Writer's & Settings". The node is not assigned +to a Module and the Node/AllModules property is not true. This is a typical +scenario when a Node had been added to an existing Module and later the Module +was removed. This is a situation which actually should not occur. In this case +DO NOT show the Node in the OOo's options dialog, because it shows only nodes +for a particular module and in this case the Module for the Node is unknown. +In the Extension Manager's +options dialog this Node can be shown because the Module is irrelevant. +See also nodes5.oxt. +================================================================================ + +leaves1.oxt: multiple ordered leaves under available nodes. The leaves Labels are +localized for en-US and de. The following leaves should appear: + +Writer: +-leaves1 Writer 1 en-US +-leaves1 Writer 2 en-US +-leaves1 Writer 3 en-US + +Calc: +-leaves1 Calc 3 en-US +-leaves1 Calc 3 en-US +-leaves1 Calc 3 en-US + +Draw: +-leaves1 Draw 3 en-US +-leaves1 Draw 3 en-US +-leaves1 Draw 3 en-US + +If a german office is used then the strings contain "de" instead of "en-US". +================================================================================ + +leaves2.oxt: Same as leaves1.oxt. Use together with leaves1.oxt to test the +grouping of leaves. +================================================================================ + +leaves3.oxt: Same as leaves1.oxt, but the leaves are not ordered. +================================================================================ + +nodes1.oxt: Defines one node which has AllModules set and which has +no children. Therefore this node should not be displayed. +================================================================================ + +nodes2.oxt: Defines 3 nodes which use AllModules and which form an +ordered group. Every node defines also 3 nodes which have a determined order. + +-nodes2 node 1 en-US + -nodes2 node 1 leaf 1 en-US + -nodes2 node 1 leaf 2 en-US + -nodes2 node 1 leaf 3 en-US + +-nodes2 node 2 en-US + -nodes2 node 2 leaf 1 en-US + -nodes2 node 2 leaf 2 en-US + -nodes2 node 2 leaf 3 en-US + +-nodes2 node 3 en-US + -nodes2 node 3 leaf 1 en-US + -nodes2 node 3 leaf 2 en-US + -nodes2 node 3 leaf 3 en-US + +================================================================================ + +nodes3.oxt: Defines 3 nodes which are placed under different existing Modules. +The nodes and there leaves are ordered. + +Context Writer: +- nodes3 node 1 + nodes3 node 1 leaf 1 en-US + nodes3 node 1 leaf 2 en-US + nodes3 node 1 leaf 3 en-US + +- nodes3 node 2 + nodes3 node 2 leaf 1 en-US + nodes3 node 2 leaf 2 en-US + nodes3 node 2 leaf 3 en-US + +- nodes3 node 3 + nodes3 node 3 leaf 1 en-US + nodes3 node 3 leaf 2 en-US + nodes3 node 3 leaf 3 en-US + +Context Calc: +- nodes3 node 1 + nodes3 node 1 leaf 1 en-US + nodes3 node 1 leaf 2 en-US + nodes3 node 1 leaf 3 en-US + +- nodes3 node 3 + nodes3 node 3 leaf 1 en-US + nodes3 node 3 leaf 2 en-US + nodes3 node 3 leaf 3 en-US + +Context Draw: +- nodes3 node 2 + nodes3 node 2 leaf 1 en-US + nodes3 node 2 leaf 2 en-US + nodes3 node 2 leaf 3 en-US + +================================================================================ + +nodes4.oxt: Same as nodes3.oxt. Use together with nodes3.txt to test the +grouping of nodes. +================================================================================ + +nodes5.oxt: Defines a node which in turn defines 3 leaves. The Node +is not assigned to a Module and the AllModule property is false (which is the +default).This may happen when a node +had been added to an already existing Module and then this Module was removed. For +example, an extension adds a node to the "Writer Module" and the +next office update removes the "Writer Module" (which is rather inconceivable). +Then the node and its leaves MUST NOT be displayed in OOo's options dialog, +because the Module is not known. However, it can be displayed in the +options dialog of the Extension Manager. See also the description for leaf2.oxt. +================================================================================ + +modules1.oxt: Defines two Modules and three Nodes. The Nodes may not +be displayed in OOo's options dialog because there is currently no application +which uses this Module. However the Nodes are displayed in the options dialog +of the Extension Manager. +There are three Nodes defined. The relationship is this: + +-module1 + -node 1 + -leaf 1 + -leaf 2 + -leaf 3 + -node 2 + -leaf 1 + -leaf 2 + -leaf 3 + -node 3 + -leaf 1 + -leaf 2 + -leaf 3 + +-module2 + -node1 + -leaf 1 + -leaf 2 + -leaf 3 + -node3 + -leaf 1 + -leaf 2 + -leaf 3 + +The options dialog of the Extension Manager shall display only three nodes: + + -node 1 + -leaf 1 + -leaf 2 + -leaf 3 + -node 2 + -leaf 1 + -leaf 2 + -leaf 3 + -node 3 + -leaf 1 + -leaf 2 + -leaf 3 + +or + + -node 1 + -leaf 1 + -leaf 2 + -leaf 3 + -node 3 + -leaf 1 + -leaf 2 + -leaf 3 + -node 2 + -leaf 1 + -leaf 2 + -leaf 3 + +Since the order of Module|s is not defined, the dialog may display first the +Nodes from module2 and then from module1. If a node is already displayed then +it is not shown again. + +================================================================================ + +modules2.oxt: Same as modules1, except that the order of nodes and leaves +is not defined. diff --git a/desktop/test/deployment/passive/Addons.xcu b/desktop/test/deployment/passive/Addons.xcu new file mode 100644 index 000000000..3cc7c45ed --- /dev/null +++ b/desktop/test/deployment/passive/Addons.xcu @@ -0,0 +1,74 @@ + + + + + + + + + + passive + + + + + vnd.org.openoffice.test.desktop.deployment.passive_native: + + + native + + + + + vnd.org.openoffice.test.desktop.deployment.passive_java: + + + java + + + + + vnd.org.openoffice.test.desktop.deployment.passive_python: + + + python + + + + + + + + + + vnd.org.openoffice.test.desktop.deployment.passive_native: + + + native + + + + + + + + + + diff --git a/desktop/test/deployment/passive/MANIFEST.MF b/desktop/test/deployment/passive/MANIFEST.MF new file mode 100644 index 000000000..45a04bf26 --- /dev/null +++ b/desktop/test/deployment/passive/MANIFEST.MF @@ -0,0 +1,3 @@ +Sealed: true +RegistrationClassName: com.sun.star.comp.test.deployment.passive_java.Services +UNO-Type-Path: diff --git a/desktop/test/deployment/passive/META-INF/manifest.xml b/desktop/test/deployment/passive/META-INF/manifest.xml new file mode 100644 index 000000000..c387b4be4 --- /dev/null +++ b/desktop/test/deployment/passive/META-INF/manifest.xml @@ -0,0 +1,32 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/passive/ProtocolHandler.xcu b/desktop/test/deployment/passive/ProtocolHandler.xcu new file mode 100644 index 000000000..f546fd119 --- /dev/null +++ b/desktop/test/deployment/passive/ProtocolHandler.xcu @@ -0,0 +1,39 @@ + + + + + + + + vnd.org.openoffice.test.desktop.deployment.passive_native:* + + + + + vnd.org.openoffice.test.desktop.deployment.passive_java:* + + + + + vnd.org.openoffice.test.desktop.deployment.passive_python:* + + + + diff --git a/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Dispatch.java b/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Dispatch.java new file mode 100644 index 000000000..74882bca5 --- /dev/null +++ b/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Dispatch.java @@ -0,0 +1,95 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +package com.sun.star.comp.test.deployment.passive_java; + +import com.sun.star.awt.MessageBoxButtons; +import com.sun.star.awt.MessageBoxType; +import com.sun.star.awt.Rectangle; +import com.sun.star.awt.XMessageBox; +import com.sun.star.awt.XMessageBoxFactory; +import com.sun.star.awt.XWindowPeer; +import com.sun.star.beans.PropertyValue; +import com.sun.star.frame.DispatchDescriptor; +import com.sun.star.frame.XDesktop; +import com.sun.star.frame.XDispatch; +import com.sun.star.frame.XStatusListener; +import com.sun.star.lang.WrappedTargetRuntimeException; +import com.sun.star.lang.XComponent; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.util.URL; + +public final class Dispatch extends WeakBase implements XServiceInfo, XDispatch +{ + public Dispatch(XComponentContext context) { + this.context = context; + } + + public String getImplementationName() { return implementationName; } + + public boolean supportsService(String ServiceName) { + return false; //TODO + } + + public String[] getSupportedServiceNames() { + return serviceNames; + } + + public void dispatch(URL URL, PropertyValue[] Arguments) { + try { + XMultiComponentFactory smgr = UnoRuntime.queryInterface( + XMultiComponentFactory.class, context.getServiceManager()); + XMessageBox box = UnoRuntime.queryInterface( + XMessageBoxFactory.class, + smgr.createInstanceWithContext( + "com.sun.star.awt.Toolkit", context)). + createMessageBox( + UnoRuntime.queryInterface( + XWindowPeer.class, + (UnoRuntime.queryInterface( + XDesktop.class, + smgr.createInstanceWithContext( + "com.sun.star.frame.Desktop", context)). + getCurrentFrame().getComponentWindow())), + MessageBoxType.INFOBOX, MessageBoxButtons.BUTTONS_OK, + "passive", "java"); + box.execute(); + UnoRuntime.queryInterface(XComponent.class, box).dispose(); + } catch (com.sun.star.uno.RuntimeException e) { + throw e; + } catch (com.sun.star.uno.Exception e) { + throw new WrappedTargetRuntimeException(e, + "wrapped: " + e.getMessage(), this, e); + } + } + + public void addStatusListener(XStatusListener Control, URL URL) {} + + public void removeStatusListener(XStatusListener Control, URL URL) {} + + private final XComponentContext context; + + static final String implementationName = + "com.sun.star.comp.test.deployment.passive_java_singleton"; + + static final String[] serviceNames = new String[0]; +} diff --git a/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Provider.java b/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Provider.java new file mode 100644 index 000000000..13d59ecf1 --- /dev/null +++ b/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Provider.java @@ -0,0 +1,74 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +package com.sun.star.comp.test.deployment.passive_java; + +import com.sun.star.frame.DispatchDescriptor; +import com.sun.star.frame.XDispatch; +import com.sun.star.frame.XDispatchProvider; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.util.URL; + +public final class Provider extends WeakBase + implements XServiceInfo, XDispatchProvider +{ + public Provider(XComponentContext context) { + this.context = context; + } + + public String getImplementationName() { return implementationName; } + + public boolean supportsService(String ServiceName) { + return ServiceName.equals(getSupportedServiceNames()[0]); //TODO + } + + public String[] getSupportedServiceNames() { + return serviceNames; + } + + public XDispatch queryDispatch( + URL URL, String TargetFrameName, int SearchFlags) + { + return UnoRuntime.queryInterface( + XDispatch.class, + context.getValueByName( + "/singletons/" + + "com.sun.star.test.deployment.passive_java_singleton")); + } + + public XDispatch[] queryDispatches(DispatchDescriptor[] Requests) { + XDispatch[] s = new XDispatch[Requests.length]; + for (int i = 0; i < s.length; ++i) { + s[i] = queryDispatch( + Requests[i].FeatureURL, Requests[i].FrameName, + Requests[i].SearchFlags); + } + return s; + } + + private final XComponentContext context; + + static final String implementationName = + "com.sun.star.comp.test.deployment.passive_java"; + + static final String[] serviceNames = new String[] { + "com.sun.star.test.deployment.passive_java" }; +} diff --git a/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Services.java b/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Services.java new file mode 100644 index 000000000..b14ba7102 --- /dev/null +++ b/desktop/test/deployment/passive/com/sun/star/comp/test/deployment/Services.java @@ -0,0 +1,42 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +package com.sun.star.comp.test.deployment.passive_java; + +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lib.uno.helper.Factory; + +public final class Services { + private Services() {} + + public static XSingleComponentFactory __getComponentFactory( + String implementation) + { + if (implementation.equals(Dispatch.implementationName)) { + return Factory.createComponentFactory( + Dispatch.class, Dispatch.implementationName, + Dispatch.serviceNames); + } else if (implementation.equals(Provider.implementationName)) { + return Factory.createComponentFactory( + Provider.class, Provider.implementationName, + Provider.serviceNames); + } else { + return null; + } + } +} diff --git a/desktop/test/deployment/passive/description.xml b/desktop/test/deployment/passive/description.xml new file mode 100644 index 000000000..b0fdea19e --- /dev/null +++ b/desktop/test/deployment/passive/description.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/passive/help/en/help.tree b/desktop/test/deployment/passive/help/en/help.tree new file mode 100644 index 000000000..76a07991d --- /dev/null +++ b/desktop/test/deployment/passive/help/en/help.tree @@ -0,0 +1,16 @@ + + + + + The test-passive Extension + + diff --git a/desktop/test/deployment/passive/help/en/main.xhp b/desktop/test/deployment/passive/help/en/main.xhp new file mode 100644 index 000000000..ff62c6b68 --- /dev/null +++ b/desktop/test/deployment/passive/help/en/main.xhp @@ -0,0 +1,35 @@ + + + + + + The test-passive Extension + /org.openoffice%2Fframework%2Fdesktop%2Ftest%2Fdeployment%2Fpassive/main.xhp + + test-passive extension + extensions;test-passive + + + test-passive extension in Calc and Writer + + + + + + + + Show the test-passive extension's native dialog + + + The test-passive Extension + Bla bla bla. + + diff --git a/desktop/test/deployment/passive/passive_java.component b/desktop/test/deployment/passive/passive_java.component new file mode 100644 index 000000000..35ff0fcdf --- /dev/null +++ b/desktop/test/deployment/passive/passive_java.component @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/desktop/test/deployment/passive/passive_native.component b/desktop/test/deployment/passive/passive_native.component new file mode 100644 index 000000000..37d13e53d --- /dev/null +++ b/desktop/test/deployment/passive/passive_native.component @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/desktop/test/deployment/passive/passive_native.cxx b/desktop/test/deployment/passive/passive_native.cxx new file mode 100644 index 000000000..9bfbcb7b1 --- /dev/null +++ b/desktop/test/deployment/passive/passive_native.cxx @@ -0,0 +1,248 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +class Provider: + public cppu::WeakImplHelper2< + css::lang::XServiceInfo, css::frame::XDispatchProvider > +{ +public: + Provider(const Provider&) = delete; + const Provider& operator=(const Provider&) = delete; + + static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create( + css::uno::Reference< css::uno::XComponentContext > const & xContext) + { return static_cast< cppu::OWeakObject * >(new Provider(xContext)); } + + static rtl::OUString SAL_CALL static_getImplementationName(); + + static css::uno::Sequence< rtl::OUString > SAL_CALL + static_getSupportedServiceNames(); + +private: + explicit Provider( + css::uno::Reference< css::uno::XComponentContext > const & context): + context_(context) { assert(context.is()); } + + virtual ~Provider() {} + + virtual rtl::OUString SAL_CALL getImplementationName() override + { return static_getImplementationName(); } + + virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName) override + { return cppu::supportsService(this, ServiceName); } + + virtual css::uno::Sequence< rtl::OUString > SAL_CALL + getSupportedServiceNames() override + { return static_getSupportedServiceNames(); } + + virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch( + css::util::URL const &, rtl::OUString const &, sal_Int32) override; + + virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > + SAL_CALL queryDispatches( + css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests) override; + + css::uno::Reference< css::uno::XComponentContext > context_; +}; + +rtl::OUString Provider::static_getImplementationName() { + return rtl::OUString("com.sun.star.comp.test.deployment.passive_native"); +} + +css::uno::Sequence< rtl::OUString > Provider::static_getSupportedServiceNames() +{ + rtl::OUString name("com.sun.star.test.deployment.passive_native"); + return css::uno::Sequence< rtl::OUString >(&name, 1); +} + +css::uno::Reference< css::frame::XDispatch > Provider::queryDispatch( + css::util::URL const &, rtl::OUString const &, sal_Int32) +{ + css::uno::Reference< css::frame::XDispatch > dispatch; + if (!(context_->getValueByName( + "/singletons/com.sun.star.test.deployment." + "passive_native_singleton") >>= + dispatch) || + !dispatch.is()) + { + throw css::uno::DeploymentException( + "component context fails to supply singleton" + " com.sun.star.test.deployment.passive_native_singleton of type" + " com.sun.star.frame.XDispatch", + context_); + } + return dispatch; +} + +css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > +Provider::queryDispatches( + css::uno::Sequence< css::frame::DispatchDescriptor > const & Requests) +{ + css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > s( + Requests.getLength()); + for (sal_Int32 i = 0; i < s.getLength(); ++i) { + s[i] = queryDispatch( + Requests[i].FeatureURL, Requests[i].FrameName, + Requests[i].SearchFlags); + } + return s; +} + +class Dispatch: + public cppu::WeakImplHelper2< + css::lang::XServiceInfo, css::frame::XDispatch > +{ +public: + Dispatch(const Dispatch&) = delete; + const Dispatch& operator=(const Dispatch&) = delete; + + static css::uno::Reference< css::uno::XInterface > SAL_CALL static_create( + css::uno::Reference< css::uno::XComponentContext > const & xContext) + { return static_cast< cppu::OWeakObject * >(new Dispatch(xContext)); } + + static rtl::OUString SAL_CALL static_getImplementationName(); + + static css::uno::Sequence< rtl::OUString > SAL_CALL + static_getSupportedServiceNames() + { return css::uno::Sequence< rtl::OUString >(); } + +private: + explicit Dispatch( + css::uno::Reference< css::uno::XComponentContext > const & context): + context_(context) { assert(context.is()); } + + virtual ~Dispatch() {} + + virtual rtl::OUString SAL_CALL getImplementationName() override + { return static_getImplementationName(); } + + virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName) override + { return cppu::supportsService(this, ServiceName); } + + virtual css::uno::Sequence< rtl::OUString > SAL_CALL + getSupportedServiceNames() override + { return static_getSupportedServiceNames(); } + + virtual void SAL_CALL dispatch( + css::util::URL const &, + css::uno::Sequence< css::beans::PropertyValue > const &) override; + + virtual void SAL_CALL addStatusListener( + css::uno::Reference< css::frame::XStatusListener > const &, + css::util::URL const &) override + {} + + virtual void SAL_CALL removeStatusListener( + css::uno::Reference< css::frame::XStatusListener > const &, + css::util::URL const &) override + {} + + css::uno::Reference< css::uno::XComponentContext > context_; +}; + +rtl::OUString Dispatch::static_getImplementationName() { + return rtl::OUString( + "com.sun.star.comp.test.deployment.passive_native_singleton"); +} + +void Dispatch::dispatch( + css::util::URL const &, + css::uno::Sequence< css::beans::PropertyValue > const &) +{ + css::uno::Reference< css::frame::XDesktop2 > xDesktop = css::frame::Desktop::create(context_); + css::uno::Reference< css::frame::XFrame > xFrame = xDesktop->getCurrentFrame(); + css::uno::Reference< css::awt::XWindowPeer > xWindowPeer( xFrame->getComponentWindow(), css::uno::UNO_QUERY_THROW ); + css::uno::Reference< css::awt::XToolkit2 > xToolkit = css::awt::Toolkit::create(context_); + css::uno::Reference< css::awt::XMessageBox > box( + xToolkit->createMessageBox( + xWindowPeer, + css::awt::MessageBoxType_INFOBOX, + css::awt::MessageBoxButtons::BUTTONS_OK, "passive", "native"), + css::uno::UNO_SET_THROW); + + box->execute(); + + css::uno::Reference< css::lang::XComponent > xComponent(box, css::uno::UNO_QUERY_THROW); + xComponent->dispose(); +} + +cppu::ImplementationEntry const services[] = { + { &Provider::static_create, &Provider::static_getImplementationName, + &Provider::static_getSupportedServiceNames, + &cppu::createSingleComponentFactory, nullptr, 0 }, + { &Dispatch::static_create, &Dispatch::static_getImplementationName, + &Dispatch::static_getSupportedServiceNames, + &cppu::createSingleComponentFactory, nullptr, 0 }, + { nullptr, nullptr, nullptr, nullptr, nullptr, 0 } +}; + +} + +extern "C" SAL_DLLPUBLIC_EXPORT void * component_getFactory( + char const * pImplName, void * pServiceManager, void * pRegistryKey) +{ + return cppu::component_getFactoryHelper( + pImplName, pServiceManager, pRegistryKey, services); +} + +extern "C" SAL_DLLPUBLIC_EXPORT void +component_getImplementationEnvironment( + char const ** ppEnvTypeName, uno_Environment **) +{ + *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/test/deployment/passive/passive_python.component b/desktop/test/deployment/passive/passive_python.component new file mode 100644 index 000000000..6007f9fcf --- /dev/null +++ b/desktop/test/deployment/passive/passive_python.component @@ -0,0 +1,29 @@ + + + + + + + + + + + diff --git a/desktop/test/deployment/passive/passive_python.py b/desktop/test/deployment/passive/passive_python.py new file mode 100644 index 000000000..f16797e50 --- /dev/null +++ b/desktop/test/deployment/passive/passive_python.py @@ -0,0 +1,93 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +import uno +import unohelper + +from com.sun.star.awt import Rectangle +from com.sun.star.awt.MessageBoxButtons import BUTTONS_OK +from com.sun.star.awt.MessageBoxType import INFOBOX +from com.sun.star.frame import XDispatch, XDispatchProvider +from com.sun.star.lang import XServiceInfo + +class Provider(unohelper.Base, XServiceInfo, XDispatchProvider): + implementationName = "com.sun.star.comp.test.deployment.passive_python" + + serviceNames = ("com.sun.star.test.deployment.passive_python",) + + def __init__(self, context): + self.context = context + + def getImplementationName(self): + return self.implementationName + + def supportsService(self, ServiceName): + return ServiceName in self.serviceNames + + def getSupportedServiceNames(self): + return self.serviceNames + + def queryDispatch(self, URL, TargetFrame, SearchFlags): + return self.context.getValueByName( \ + "/singletons/com.sun.star.test.deployment.passive_python_singleton") + + def queryDispatches(self, Requests): + tuple( \ + self.queryDispatch(i.FeatureURL, i.FrameName, i.SearchFlags) \ + for i in Requests) + +class Dispatch(unohelper.Base, XServiceInfo, XDispatch): + implementationName = \ + "com.sun.star.comp.test.deployment.passive_python_singleton" + + serviceNames = () + + def __init__(self, context): + self.context = context + + def getImplementationName(self): + return self.implementationName + + def supportsService(self, ServiceName): + return ServiceName in self.serviceNames + + def getSupportedServiceNames(self): + return self.serviceNames + + def dispatch(self, URL, Arguments): + smgr = self.context.getServiceManager() + box = smgr.createInstanceWithContext( \ + "com.sun.star.awt.Toolkit", self.context).createMessageBox( \ + smgr.createInstanceWithContext( \ + "com.sun.star.frame.Desktop", self.context). \ + getCurrentFrame().getComponentWindow(), \ + INFOBOX, BUTTONS_OK, "passive", "python") + box.execute(); + box.dispose(); + + def addStatusListener(self, Control, URL): + pass + + def removeStatusListener(self, Control, URL): + pass + +g_ImplementationHelper = unohelper.ImplementationHelper() +g_ImplementationHelper.addImplementation( \ + Provider, Provider.implementationName, Provider.serviceNames) +g_ImplementationHelper.addImplementation( \ + Dispatch, Dispatch.implementationName, Dispatch.serviceNames) diff --git a/desktop/test/deployment/simple_license/BadDesc.oxt b/desktop/test/deployment/simple_license/BadDesc.oxt new file mode 100644 index 000000000..436778d54 Binary files /dev/null and b/desktop/test/deployment/simple_license/BadDesc.oxt differ diff --git a/desktop/test/deployment/simple_license/BadNamespace.oxt b/desktop/test/deployment/simple_license/BadNamespace.oxt new file mode 100644 index 000000000..e439c9e17 Binary files /dev/null and b/desktop/test/deployment/simple_license/BadNamespace.oxt differ diff --git a/desktop/test/deployment/simple_license/BadRoot.oxt b/desktop/test/deployment/simple_license/BadRoot.oxt new file mode 100644 index 000000000..1f6c60c99 Binary files /dev/null and b/desktop/test/deployment/simple_license/BadRoot.oxt differ diff --git a/desktop/test/deployment/simple_license/Locale1.oxt b/desktop/test/deployment/simple_license/Locale1.oxt new file mode 100644 index 000000000..51ecb5c75 Binary files /dev/null and b/desktop/test/deployment/simple_license/Locale1.oxt differ diff --git a/desktop/test/deployment/simple_license/Locale2.oxt b/desktop/test/deployment/simple_license/Locale2.oxt new file mode 100644 index 000000000..bb6b236a5 Binary files /dev/null and b/desktop/test/deployment/simple_license/Locale2.oxt differ diff --git a/desktop/test/deployment/simple_license/Locale3.oxt b/desktop/test/deployment/simple_license/Locale3.oxt new file mode 100644 index 000000000..56bfedc24 Binary files /dev/null and b/desktop/test/deployment/simple_license/Locale3.oxt differ diff --git a/desktop/test/deployment/simple_license/Locale4.oxt b/desktop/test/deployment/simple_license/Locale4.oxt new file mode 100644 index 000000000..9a465bc7c Binary files /dev/null and b/desktop/test/deployment/simple_license/Locale4.oxt differ diff --git a/desktop/test/deployment/simple_license/Locale5.oxt b/desktop/test/deployment/simple_license/Locale5.oxt new file mode 100644 index 000000000..ce16830c1 Binary files /dev/null and b/desktop/test/deployment/simple_license/Locale5.oxt differ diff --git a/desktop/test/deployment/simple_license/Locale6.oxt b/desktop/test/deployment/simple_license/Locale6.oxt new file mode 100644 index 000000000..770d32506 Binary files /dev/null and b/desktop/test/deployment/simple_license/Locale6.oxt differ diff --git a/desktop/test/deployment/simple_license/LongLic.oxt b/desktop/test/deployment/simple_license/LongLic.oxt new file mode 100644 index 000000000..a0a49daeb Binary files /dev/null and b/desktop/test/deployment/simple_license/LongLic.oxt differ diff --git a/desktop/test/deployment/simple_license/MissingLic.oxt b/desktop/test/deployment/simple_license/MissingLic.oxt new file mode 100644 index 000000000..04d58fd11 Binary files /dev/null and b/desktop/test/deployment/simple_license/MissingLic.oxt differ diff --git a/desktop/test/deployment/simple_license/MissingLicRef.oxt b/desktop/test/deployment/simple_license/MissingLicRef.oxt new file mode 100644 index 000000000..01c9d19a2 Binary files /dev/null and b/desktop/test/deployment/simple_license/MissingLicRef.oxt differ diff --git a/desktop/test/deployment/simple_license/NoDefLang.oxt b/desktop/test/deployment/simple_license/NoDefLang.oxt new file mode 100644 index 000000000..3eadd5254 Binary files /dev/null and b/desktop/test/deployment/simple_license/NoDefLang.oxt differ diff --git a/desktop/test/deployment/simple_license/NoDesc.oxt b/desktop/test/deployment/simple_license/NoDesc.oxt new file mode 100644 index 000000000..ac83dac97 Binary files /dev/null and b/desktop/test/deployment/simple_license/NoDesc.oxt differ diff --git a/desktop/test/deployment/simple_license/NoLang.oxt b/desktop/test/deployment/simple_license/NoLang.oxt new file mode 100644 index 000000000..a4f3dd43a Binary files /dev/null and b/desktop/test/deployment/simple_license/NoLang.oxt differ diff --git a/desktop/test/deployment/simple_license/Prefix.oxt b/desktop/test/deployment/simple_license/Prefix.oxt new file mode 100644 index 000000000..3e09b8d80 Binary files /dev/null and b/desktop/test/deployment/simple_license/Prefix.oxt differ diff --git a/desktop/test/deployment/simple_license/ShortLicense.oxt b/desktop/test/deployment/simple_license/ShortLicense.oxt new file mode 100644 index 000000000..efcfdc98e Binary files /dev/null and b/desktop/test/deployment/simple_license/ShortLicense.oxt differ diff --git a/desktop/test/deployment/simple_license/ShortLicenseShared.oxt b/desktop/test/deployment/simple_license/ShortLicenseShared.oxt new file mode 100644 index 000000000..775559a2c Binary files /dev/null and b/desktop/test/deployment/simple_license/ShortLicenseShared.oxt differ diff --git a/desktop/test/deployment/simple_license/suppress_license.oxt b/desktop/test/deployment/simple_license/suppress_license.oxt new file mode 100644 index 000000000..2bacd6aa3 Binary files /dev/null and b/desktop/test/deployment/simple_license/suppress_license.oxt differ diff --git a/desktop/test/deployment/simple_license/tests_simple_license.odt b/desktop/test/deployment/simple_license/tests_simple_license.odt new file mode 100644 index 000000000..b0c86e11c Binary files /dev/null and b/desktop/test/deployment/simple_license/tests_simple_license.odt differ diff --git a/desktop/test/deployment/update/changing_display_name/change1.oxt b/desktop/test/deployment/update/changing_display_name/change1.oxt new file mode 100644 index 000000000..c919129ab Binary files /dev/null and b/desktop/test/deployment/update/changing_display_name/change1.oxt differ diff --git a/desktop/test/deployment/update/changing_display_name/change1_mod.oxt b/desktop/test/deployment/update/changing_display_name/change1_mod.oxt new file mode 100644 index 000000000..5ab99d7bf Binary files /dev/null and b/desktop/test/deployment/update/changing_display_name/change1_mod.oxt differ diff --git a/desktop/test/deployment/update/changing_display_name/readme.txt b/desktop/test/deployment/update/changing_display_name/readme.txt new file mode 100644 index 000000000..905f0be9a --- /dev/null +++ b/desktop/test/deployment/update/changing_display_name/readme.txt @@ -0,0 +1,13 @@ + +The default display name, if nothing is provided by the extension, is the file name. +The display name could be changed in different versions. There are three versions +of change1.oxt available: + +v1: no display name +v2: change1 de +v3: change1 de - changed display name - + +change1_mod.oxt is the same as change1.oxt version 1 except that is has a display name. +This situation should actually never arise, because the version should always be +changed when the extension is changed - and be it only the display name. + diff --git a/desktop/test/deployment/update/changing_display_name/update1/change1.oxt b/desktop/test/deployment/update/changing_display_name/update1/change1.oxt new file mode 100644 index 000000000..ef034f944 Binary files /dev/null and b/desktop/test/deployment/update/changing_display_name/update1/change1.oxt differ diff --git a/desktop/test/deployment/update/changing_display_name/update1/change1.update.xml b/desktop/test/deployment/update/changing_display_name/update1/change1.update.xml new file mode 100644 index 000000000..a7010d13d --- /dev/null +++ b/desktop/test/deployment/update/changing_display_name/update1/change1.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/changing_display_name/update2/change1.oxt b/desktop/test/deployment/update/changing_display_name/update2/change1.oxt new file mode 100644 index 000000000..551f5a3f4 Binary files /dev/null and b/desktop/test/deployment/update/changing_display_name/update2/change1.oxt differ diff --git a/desktop/test/deployment/update/changing_display_name/update2/change1.update.xml b/desktop/test/deployment/update/changing_display_name/update2/change1.update.xml new file mode 100644 index 000000000..88458d670 --- /dev/null +++ b/desktop/test/deployment/update/changing_display_name/update2/change1.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/default_url/default1.oxt b/desktop/test/deployment/update/default_url/default1.oxt new file mode 100644 index 000000000..3fa8c9f08 Binary files /dev/null and b/desktop/test/deployment/update/default_url/default1.oxt differ diff --git a/desktop/test/deployment/update/default_url/default2.oxt b/desktop/test/deployment/update/default_url/default2.oxt new file mode 100644 index 000000000..d54ce88c5 Binary files /dev/null and b/desktop/test/deployment/update/default_url/default2.oxt differ diff --git a/desktop/test/deployment/update/default_url/readme.txt b/desktop/test/deployment/update/default_url/readme.txt new file mode 100644 index 000000000..a34c77cea --- /dev/null +++ b/desktop/test/deployment/update/default_url/readme.txt @@ -0,0 +1,9 @@ +Tests for using the default URL for update information. This URL is currently contained in +the version.ini (ExtensionUpdateURL) and is used to obtain update information for extensions which do not provide +a URL themselves. + +The extensions default1.oxt and default2.oxt do not have a URL for update information. + +To test this one has to put this entry into the version.ini: + +ExtensionUpdateURL=http://extensions.openoffice.org/testarea/desktop/default_url/update/feed1.xml diff --git a/desktop/test/deployment/update/default_url/update/default1.oxt b/desktop/test/deployment/update/default_url/update/default1.oxt new file mode 100644 index 000000000..198395c76 Binary files /dev/null and b/desktop/test/deployment/update/default_url/update/default1.oxt differ diff --git a/desktop/test/deployment/update/default_url/update/default1.update.xml b/desktop/test/deployment/update/default_url/update/default1.update.xml new file mode 100644 index 000000000..5c240d6d5 --- /dev/null +++ b/desktop/test/deployment/update/default_url/update/default1.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/default_url/update/default2.oxt b/desktop/test/deployment/update/default_url/update/default2.oxt new file mode 100644 index 000000000..198395c76 Binary files /dev/null and b/desktop/test/deployment/update/default_url/update/default2.oxt differ diff --git a/desktop/test/deployment/update/default_url/update/default2.update.xml b/desktop/test/deployment/update/default_url/update/default2.update.xml new file mode 100644 index 000000000..9e7e5db1a --- /dev/null +++ b/desktop/test/deployment/update/default_url/update/default2.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/default_url/update/feed1.xml b/desktop/test/deployment/update/default_url/update/feed1.xml new file mode 100644 index 000000000..3f9a2e1d2 --- /dev/null +++ b/desktop/test/deployment/update/default_url/update/feed1.xml @@ -0,0 +1,50 @@ + + + + + OpenOffice.org Update Feed + + 2006-11-06T18:30:02Z + + The OpenOffice.org Project + http://openoffice.org + updatefeed@openoffice.org + + urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d + + default1.oxt version 2.0 available + + urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9f + + 2006-11-06T18:30:02Z +

Click here to go to the download page. + + + + default2.oxt version 2.0 available + + urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566eaf + + 2006-11-06T18:30:02Z + Click here to go to the download page. + + + diff --git a/desktop/test/deployment/update/defect/fail1.oxt b/desktop/test/deployment/update/defect/fail1.oxt new file mode 100644 index 000000000..5b5cdba2c Binary files /dev/null and b/desktop/test/deployment/update/defect/fail1.oxt differ diff --git a/desktop/test/deployment/update/defect/fail2.oxt b/desktop/test/deployment/update/defect/fail2.oxt new file mode 100644 index 000000000..61b0306f0 Binary files /dev/null and b/desktop/test/deployment/update/defect/fail2.oxt differ diff --git a/desktop/test/deployment/update/defect/fail3.oxt b/desktop/test/deployment/update/defect/fail3.oxt new file mode 100644 index 000000000..9da26d48a Binary files /dev/null and b/desktop/test/deployment/update/defect/fail3.oxt differ diff --git a/desktop/test/deployment/update/defect/fail4.oxt b/desktop/test/deployment/update/defect/fail4.oxt new file mode 100644 index 000000000..66b87caa1 Binary files /dev/null and b/desktop/test/deployment/update/defect/fail4.oxt differ diff --git a/desktop/test/deployment/update/defect/info1.oxt b/desktop/test/deployment/update/defect/info1.oxt new file mode 100644 index 000000000..9ffd373fa Binary files /dev/null and b/desktop/test/deployment/update/defect/info1.oxt differ diff --git a/desktop/test/deployment/update/defect/info2.oxt b/desktop/test/deployment/update/defect/info2.oxt new file mode 100644 index 000000000..229a52c3b Binary files /dev/null and b/desktop/test/deployment/update/defect/info2.oxt differ diff --git a/desktop/test/deployment/update/defect/info3.oxt b/desktop/test/deployment/update/defect/info3.oxt new file mode 100644 index 000000000..b702f3e00 Binary files /dev/null and b/desktop/test/deployment/update/defect/info3.oxt differ diff --git a/desktop/test/deployment/update/defect/readme.txt b/desktop/test/deployment/update/defect/readme.txt new file mode 100644 index 000000000..5e8322f5c --- /dev/null +++ b/desktop/test/deployment/update/defect/readme.txt @@ -0,0 +1,15 @@ +The updates, that is the newer versions, are defect. However, only fail2.oxt fails to install. The other extensions can be installed directly and through an update. + +fail1.oxt: in version2 the contained t.rdb was renamed so that it is not found (t.rdb is referenced in the manifest.xml). + +fail2.oxt: in version 2 the contained t.rdb is corrupted. It is a renamed .txt file which contains some text. + +fail3.oxt: in version 2 the contained t.rdb is corrupted. It is a renamed .txt file which does not contain any text. + +fail4.oxt: the version 2 references by fail4.update.xml is empty. + +info1.oxt: The update information file has length null. + +info2.oxt: The update information does not contain xml. + +info3.oxt: The update information contain an error: the tag update information contains two opening brackets (<) \ No newline at end of file diff --git a/desktop/test/deployment/update/defect/update/fail1.oxt b/desktop/test/deployment/update/defect/update/fail1.oxt new file mode 100644 index 000000000..dbcc7cd73 Binary files /dev/null and b/desktop/test/deployment/update/defect/update/fail1.oxt differ diff --git a/desktop/test/deployment/update/defect/update/fail1.update.xml b/desktop/test/deployment/update/defect/update/fail1.update.xml new file mode 100644 index 000000000..87de4a25a --- /dev/null +++ b/desktop/test/deployment/update/defect/update/fail1.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/defect/update/fail2.oxt b/desktop/test/deployment/update/defect/update/fail2.oxt new file mode 100644 index 000000000..6df0c3cf9 Binary files /dev/null and b/desktop/test/deployment/update/defect/update/fail2.oxt differ diff --git a/desktop/test/deployment/update/defect/update/fail2.update.xml b/desktop/test/deployment/update/defect/update/fail2.update.xml new file mode 100644 index 000000000..254f61f34 --- /dev/null +++ b/desktop/test/deployment/update/defect/update/fail2.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/defect/update/fail3.oxt b/desktop/test/deployment/update/defect/update/fail3.oxt new file mode 100644 index 000000000..2d340f414 Binary files /dev/null and b/desktop/test/deployment/update/defect/update/fail3.oxt differ diff --git a/desktop/test/deployment/update/defect/update/fail3.update.xml b/desktop/test/deployment/update/defect/update/fail3.update.xml new file mode 100644 index 000000000..ff7f82db0 --- /dev/null +++ b/desktop/test/deployment/update/defect/update/fail3.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/defect/update/fail4.oxt b/desktop/test/deployment/update/defect/update/fail4.oxt new file mode 100644 index 000000000..e69de29bb diff --git a/desktop/test/deployment/update/defect/update/fail4.update.xml b/desktop/test/deployment/update/defect/update/fail4.update.xml new file mode 100644 index 000000000..b321b16ba --- /dev/null +++ b/desktop/test/deployment/update/defect/update/fail4.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/defect/update/info1.update.xml b/desktop/test/deployment/update/defect/update/info1.update.xml new file mode 100644 index 000000000..e69de29bb diff --git a/desktop/test/deployment/update/defect/update/info2.update.xml b/desktop/test/deployment/update/defect/update/info2.update.xml new file mode 100644 index 000000000..7e26b0b17 --- /dev/null +++ b/desktop/test/deployment/update/defect/update/info2.update.xml @@ -0,0 +1 @@ +This is an invalid update information file!!! diff --git a/desktop/test/deployment/update/defect/update/info3.oxt b/desktop/test/deployment/update/defect/update/info3.oxt new file mode 100644 index 000000000..60debac57 Binary files /dev/null and b/desktop/test/deployment/update/defect/update/info3.oxt differ diff --git a/desktop/test/deployment/update/defect/update/info3.update.xml b/desktop/test/deployment/update/defect/update/info3.update.xml new file mode 100644 index 000000000..69b54c259 --- /dev/null +++ b/desktop/test/deployment/update/defect/update/info3.update.xml @@ -0,0 +1,27 @@ + + + + + + < + + + + diff --git a/desktop/test/deployment/update/dependencies/publisher_en.html b/desktop/test/deployment/update/dependencies/publisher_en.html new file mode 100644 index 000000000..37dbc2b9d --- /dev/null +++ b/desktop/test/deployment/update/dependencies/publisher_en.html @@ -0,0 +1,9 @@ + + + + + +

My Extension Company

+ + + diff --git a/desktop/test/deployment/update/dependencies/readme.txt b/desktop/test/deployment/update/dependencies/readme.txt new file mode 100644 index 000000000..a64f749b1 --- /dev/null +++ b/desktop/test/deployment/update/dependencies/readme.txt @@ -0,0 +1,23 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +update-dependencies.oxt is an extension that itself has no dependencies, but +whose update has unsatisfied dependencies (and also uses update-website). + +The update information contain also publisher and release notes information, +which should be displayed in the update dialog. diff --git a/desktop/test/deployment/update/dependencies/release-notes_en.html b/desktop/test/deployment/update/dependencies/release-notes_en.html new file mode 100644 index 000000000..0971f78d1 --- /dev/null +++ b/desktop/test/deployment/update/dependencies/release-notes_en.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes

+ + diff --git a/desktop/test/deployment/update/dependencies/update-dependencies.oxt b/desktop/test/deployment/update/dependencies/update-dependencies.oxt new file mode 100644 index 000000000..513b25d20 Binary files /dev/null and b/desktop/test/deployment/update/dependencies/update-dependencies.oxt differ diff --git a/desktop/test/deployment/update/dependencies/update/update-dependencies.update.xml b/desktop/test/deployment/update/dependencies/update/update-dependencies.update.xml new file mode 100644 index 000000000..7f9d0606f --- /dev/null +++ b/desktop/test/deployment/update/dependencies/update/update-dependencies.update.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + My Extension Company + + + + + + + diff --git a/desktop/test/deployment/update/license/lic1.oxt b/desktop/test/deployment/update/license/lic1.oxt new file mode 100644 index 000000000..43bfe3b77 Binary files /dev/null and b/desktop/test/deployment/update/license/lic1.oxt differ diff --git a/desktop/test/deployment/update/license/lic2.oxt b/desktop/test/deployment/update/license/lic2.oxt new file mode 100644 index 000000000..266a45e9a Binary files /dev/null and b/desktop/test/deployment/update/license/lic2.oxt differ diff --git a/desktop/test/deployment/update/license/lic3.oxt b/desktop/test/deployment/update/license/lic3.oxt new file mode 100644 index 000000000..3f1b98960 Binary files /dev/null and b/desktop/test/deployment/update/license/lic3.oxt differ diff --git a/desktop/test/deployment/update/license/readme.txt b/desktop/test/deployment/update/license/readme.txt new file mode 100644 index 000000000..6040da04c --- /dev/null +++ b/desktop/test/deployment/update/license/readme.txt @@ -0,0 +1,9 @@ +The extensions contain a license which is displayed during installation. If the license is displayed during an update can be determined by the attribute +/description/registration/simple-license/@suppress-on-update + +The default value is false, which means that the attribute is not set, then the license is displayed during an update. + +lic1.oxt: attribute not set +lic2.oxt: attribute set to false +lic3.oxt: attribute set to true + diff --git a/desktop/test/deployment/update/license/update/lic1.oxt b/desktop/test/deployment/update/license/update/lic1.oxt new file mode 100644 index 000000000..cc91e1ff1 Binary files /dev/null and b/desktop/test/deployment/update/license/update/lic1.oxt differ diff --git a/desktop/test/deployment/update/license/update/lic1.update.xml b/desktop/test/deployment/update/license/update/lic1.update.xml new file mode 100644 index 000000000..2a2761aa9 --- /dev/null +++ b/desktop/test/deployment/update/license/update/lic1.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/license/update/lic2.oxt b/desktop/test/deployment/update/license/update/lic2.oxt new file mode 100644 index 000000000..351000792 Binary files /dev/null and b/desktop/test/deployment/update/license/update/lic2.oxt differ diff --git a/desktop/test/deployment/update/license/update/lic2.update.xml b/desktop/test/deployment/update/license/update/lic2.update.xml new file mode 100644 index 000000000..7dc57ca0e --- /dev/null +++ b/desktop/test/deployment/update/license/update/lic2.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/license/update/lic3.oxt b/desktop/test/deployment/update/license/update/lic3.oxt new file mode 100644 index 000000000..6ac6e0fd0 Binary files /dev/null and b/desktop/test/deployment/update/license/update/lic3.oxt differ diff --git a/desktop/test/deployment/update/license/update/lic3.update.xml b/desktop/test/deployment/update/license/update/lic3.update.xml new file mode 100644 index 000000000..55f5556b6 --- /dev/null +++ b/desktop/test/deployment/update/license/update/lic3.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/platform/all1.oxt b/desktop/test/deployment/update/platform/all1.oxt new file mode 100644 index 000000000..ad9662a7c Binary files /dev/null and b/desktop/test/deployment/update/platform/all1.oxt differ diff --git a/desktop/test/deployment/update/platform/all2.oxt b/desktop/test/deployment/update/platform/all2.oxt new file mode 100644 index 000000000..632d11b42 Binary files /dev/null and b/desktop/test/deployment/update/platform/all2.oxt differ diff --git a/desktop/test/deployment/update/platform/all3.oxt b/desktop/test/deployment/update/platform/all3.oxt new file mode 100644 index 000000000..ab781552a Binary files /dev/null and b/desktop/test/deployment/update/platform/all3.oxt differ diff --git a/desktop/test/deployment/update/platform/freebsd_x86.oxt b/desktop/test/deployment/update/platform/freebsd_x86.oxt new file mode 100644 index 000000000..338f5761d Binary files /dev/null and b/desktop/test/deployment/update/platform/freebsd_x86.oxt differ diff --git a/desktop/test/deployment/update/platform/freebsd_x86_64.oxt b/desktop/test/deployment/update/platform/freebsd_x86_64.oxt new file mode 100644 index 000000000..39fee6de1 Binary files /dev/null and b/desktop/test/deployment/update/platform/freebsd_x86_64.oxt differ diff --git a/desktop/test/deployment/update/platform/invalid1.oxt b/desktop/test/deployment/update/platform/invalid1.oxt new file mode 100644 index 000000000..13d709f43 Binary files /dev/null and b/desktop/test/deployment/update/platform/invalid1.oxt differ diff --git a/desktop/test/deployment/update/platform/invalid2.oxt b/desktop/test/deployment/update/platform/invalid2.oxt new file mode 100644 index 000000000..f14257191 Binary files /dev/null and b/desktop/test/deployment/update/platform/invalid2.oxt differ diff --git a/desktop/test/deployment/update/platform/invalid3.oxt b/desktop/test/deployment/update/platform/invalid3.oxt new file mode 100644 index 000000000..cadffa4f2 Binary files /dev/null and b/desktop/test/deployment/update/platform/invalid3.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_arm_eabi.oxt b/desktop/test/deployment/update/platform/linux_arm_eabi.oxt new file mode 100644 index 000000000..9c504e841 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_arm_eabi.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_arm_oabi.oxt b/desktop/test/deployment/update/platform/linux_arm_oabi.oxt new file mode 100644 index 000000000..f2c987f64 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_arm_oabi.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_ia64.oxt b/desktop/test/deployment/update/platform/linux_ia64.oxt new file mode 100644 index 000000000..f579a18ab Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_ia64.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_mips64_eb.oxt b/desktop/test/deployment/update/platform/linux_mips64_eb.oxt new file mode 100644 index 000000000..544121694 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_mips64_eb.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_mips64_el.oxt b/desktop/test/deployment/update/platform/linux_mips64_el.oxt new file mode 100644 index 000000000..17499092f Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_mips64_el.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_mips_eb.oxt b/desktop/test/deployment/update/platform/linux_mips_eb.oxt new file mode 100644 index 000000000..bf0bd9423 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_mips_eb.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_mips_el.oxt b/desktop/test/deployment/update/platform/linux_mips_el.oxt new file mode 100644 index 000000000..6bd564468 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_mips_el.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_powerpc.oxt b/desktop/test/deployment/update/platform/linux_powerpc.oxt new file mode 100644 index 000000000..e301a3fb3 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_powerpc.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_powerpc64.oxt b/desktop/test/deployment/update/platform/linux_powerpc64.oxt new file mode 100644 index 000000000..e5f3ae063 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_powerpc64.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_s390.oxt b/desktop/test/deployment/update/platform/linux_s390.oxt new file mode 100644 index 000000000..199702ebf Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_s390.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_s390x.oxt b/desktop/test/deployment/update/platform/linux_s390x.oxt new file mode 100644 index 000000000..2ed250833 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_s390x.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_sparc.oxt b/desktop/test/deployment/update/platform/linux_sparc.oxt new file mode 100644 index 000000000..53dfc71e0 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_sparc.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_x86.oxt b/desktop/test/deployment/update/platform/linux_x86.oxt new file mode 100644 index 000000000..8379539ca Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_x86.oxt differ diff --git a/desktop/test/deployment/update/platform/linux_x86_64.oxt b/desktop/test/deployment/update/platform/linux_x86_64.oxt new file mode 100644 index 000000000..0fb182275 Binary files /dev/null and b/desktop/test/deployment/update/platform/linux_x86_64.oxt differ diff --git a/desktop/test/deployment/update/platform/macosx_powerpc.oxt b/desktop/test/deployment/update/platform/macosx_powerpc.oxt new file mode 100644 index 000000000..7c1463471 Binary files /dev/null and b/desktop/test/deployment/update/platform/macosx_powerpc.oxt differ diff --git a/desktop/test/deployment/update/platform/macosx_x86.oxt b/desktop/test/deployment/update/platform/macosx_x86.oxt new file mode 100644 index 000000000..a20aadfef Binary files /dev/null and b/desktop/test/deployment/update/platform/macosx_x86.oxt differ diff --git a/desktop/test/deployment/update/platform/mul1.oxt b/desktop/test/deployment/update/platform/mul1.oxt new file mode 100644 index 000000000..b3b555969 Binary files /dev/null and b/desktop/test/deployment/update/platform/mul1.oxt differ diff --git a/desktop/test/deployment/update/platform/os2_x86.oxt b/desktop/test/deployment/update/platform/os2_x86.oxt new file mode 100644 index 000000000..1c7fd40be Binary files /dev/null and b/desktop/test/deployment/update/platform/os2_x86.oxt differ diff --git a/desktop/test/deployment/update/platform/readme.txt b/desktop/test/deployment/update/platform/readme.txt new file mode 100644 index 000000000..30c028f99 --- /dev/null +++ b/desktop/test/deployment/update/platform/readme.txt @@ -0,0 +1,51 @@ +Extension which only support one platform +======================================================== + +freebsd_x86.oxt: freebsd_x86 +freebsd_x86_86.oxt: freebsd_x86_64 +linux_arm_eabi.oxt: linux_arm_eabi +linux_arm_oabi.oxt: linux_arm_oabi +linux_ia64.oxt: linux_ia64 +linux_mips_eb.oxt: linux_mips_eb +linux_mips64_eb.oxt: linux_mips64_eb +linux_mips_el.oxt: linux_mips_el +linux_mips64_el.oxt: linux_mips64_el +linux_powerpc64.oxt: linux_powerpc64 +linux_powerpc.oxt: linux_powerpc +linux_s390.oxt: linux_s390 +linux_s390x.oxt: linux_s390x +linux_sparc.oxt: linux_sparc +linux_x86.oxt: linux_x86 +linux_x86_64.oxt: linux_x86_64 +macos_powerpc.oxt: macos_powerpc +macos_x86.oxt: macos_x86 +solaris_sparc.oxt: solaris_sparc +solaris_x86.oxt: solaris_x86 +windows_x86.oxt: windows_x86 +os2_x86.oxt: os/2_x86 + +Extensions which support multiple platforms +======================================================= +mul1.oxt: windows_x86, linux_x86, solaris_x86 + + +All platforms +========================================================= +all1.oxt: all, The element is missing. Default is "all". + +all2.oxt: all, + +all3.oxt: all, no description.xml + + + +Invalid platforms +========================================================= +The following extensions cannot be installed because the platform element +is not correct. We assume that no valid platform is defined. + +invalid1.oxt: + +invalid2.oxt: + +invalid3.oxt: diff --git a/desktop/test/deployment/update/platform/solaris_sparc.oxt b/desktop/test/deployment/update/platform/solaris_sparc.oxt new file mode 100644 index 000000000..a61f81f43 Binary files /dev/null and b/desktop/test/deployment/update/platform/solaris_sparc.oxt differ diff --git a/desktop/test/deployment/update/platform/solaris_x86.oxt b/desktop/test/deployment/update/platform/solaris_x86.oxt new file mode 100644 index 000000000..44d43df69 Binary files /dev/null and b/desktop/test/deployment/update/platform/solaris_x86.oxt differ diff --git a/desktop/test/deployment/update/platform/windows_x86.oxt b/desktop/test/deployment/update/platform/windows_x86.oxt new file mode 100644 index 000000000..c66a9b141 Binary files /dev/null and b/desktop/test/deployment/update/platform/windows_x86.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub1.oxt b/desktop/test/deployment/update/publisher/pub1.oxt new file mode 100644 index 000000000..c44ee9f3b Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub1.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub10.oxt b/desktop/test/deployment/update/publisher/pub10.oxt new file mode 100644 index 000000000..1e7410ec1 Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub10.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub11.oxt b/desktop/test/deployment/update/publisher/pub11.oxt new file mode 100644 index 000000000..ef7fbca5e Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub11.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub2.oxt b/desktop/test/deployment/update/publisher/pub2.oxt new file mode 100644 index 000000000..438bcae83 Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub2.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub3.oxt b/desktop/test/deployment/update/publisher/pub3.oxt new file mode 100644 index 000000000..62fd69f55 Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub3.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub4.oxt b/desktop/test/deployment/update/publisher/pub4.oxt new file mode 100644 index 000000000..4f6224f78 Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub4.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub5.oxt b/desktop/test/deployment/update/publisher/pub5.oxt new file mode 100644 index 000000000..1774e6cd3 Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub5.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub6.oxt b/desktop/test/deployment/update/publisher/pub6.oxt new file mode 100644 index 000000000..791a37f8e Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub6.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub7.oxt b/desktop/test/deployment/update/publisher/pub7.oxt new file mode 100644 index 000000000..96e96887d Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub7.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub8.oxt b/desktop/test/deployment/update/publisher/pub8.oxt new file mode 100644 index 000000000..dc9f0ce34 Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub8.oxt differ diff --git a/desktop/test/deployment/update/publisher/pub9.oxt b/desktop/test/deployment/update/publisher/pub9.oxt new file mode 100644 index 000000000..5e8ba9ebc Binary files /dev/null and b/desktop/test/deployment/update/publisher/pub9.oxt differ diff --git a/desktop/test/deployment/update/publisher/publisher_de-DE-altmark.html b/desktop/test/deployment/update/publisher/publisher_de-DE-altmark.html new file mode 100644 index 000000000..c770b914a --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_de-DE-altmark.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice en-DE-altmark

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_de-DE.html b/desktop/test/deployment/update/publisher/publisher_de-DE.html new file mode 100644 index 000000000..b06ed7088 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_de-DE.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice de-DE

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_de.html b/desktop/test/deployment/update/publisher/publisher_de.html new file mode 100644 index 000000000..4cba9f423 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_de.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice de

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_en-GB.html b/desktop/test/deployment/update/publisher/publisher_en-GB.html new file mode 100644 index 000000000..c73cf6219 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_en-GB.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice en-GB

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_en-US-region1.html b/desktop/test/deployment/update/publisher/publisher_en-US-region1.html new file mode 100644 index 000000000..68beac724 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_en-US-region1.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice en-US-region1

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_en-US-region2.html b/desktop/test/deployment/update/publisher/publisher_en-US-region2.html new file mode 100644 index 000000000..501adb659 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_en-US-region2.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice en-US-region2

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_en-US.html b/desktop/test/deployment/update/publisher/publisher_en-US.html new file mode 100644 index 000000000..fd2575150 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_en-US.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice en-US

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_en-region3.html b/desktop/test/deployment/update/publisher/publisher_en-region3.html new file mode 100644 index 000000000..b9fdc9d65 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_en-region3.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice en-region3

+ + + diff --git a/desktop/test/deployment/update/publisher/publisher_en.html b/desktop/test/deployment/update/publisher/publisher_en.html new file mode 100644 index 000000000..416ab8124 --- /dev/null +++ b/desktop/test/deployment/update/publisher/publisher_en.html @@ -0,0 +1,9 @@ + + + + + +

My OpenOffice en

+ + + diff --git a/desktop/test/deployment/update/publisher/readme.txt b/desktop/test/deployment/update/publisher/readme.txt new file mode 100644 index 000000000..148dab776 --- /dev/null +++ b/desktop/test/deployment/update/publisher/readme.txt @@ -0,0 +1,212 @@ +--The folder contains extensions which use in the description.xml the following: + +-The element +-The element + +Both element contain localized child elements. + +The following table shows what localized item is used, when the Office the locale +en-US uses. + + +Localization: + +Installed office en-US + | publisher | release notes +============================================= +pub1.oxt | en-US | en-US +--------------------------------------------- +pub2.oxt | en-US-region1 | en-US-region1 +--------------------------------------------- +pub3.oxt | en | en +--------------------------------------------- +pub4.oxt | en-GB | en-GB +--------------------------------------------- +pub5.oxt | de | de + + +================================================================================ +pub6.oxt +================================================================================ +like pub1 but without release notes. + + +================================================================================ +pub7.oxt +================================================================================ +like pub1 but without publisher name. + +================================================================================ +pub8.oxt +================================================================================ +Need not be committed in extensions/www/testarea/desktop. + +pub8.oxt is intended for tests with extensions.services.openoffice.org. +It does not contain . That is, the Extension Manager will obtain +the update information from the repository as feed: + +http://updateext.services.openoffice.org/ProductUpdateService/check.Update + +pub8.oxt provides and . This information should be transferred +in the update feed and not those entered in the repository. + +Test +---- +Repository: + +-Create the new extension in the repository. +-Provide a company name and a URL to the company website. This setting should be ignored + when generating the update feed. Instead the publisher name from the extension is used. + Enter "Publisher Title" : some arbitrary company + "Publisher URL": any arbitrary URL but not: + http://extensions.openoffice.org/testarea/desktop/publisher/publisher_en-US.html + +-Create a new release for the extension. Upload the version 2.0 (update/pub8.oxt). + Provide release notes. These release notes should later not be seen when clicking on + the release notes link. + + +Office: +-Install version 1.0 of the extension: + desktop/test/deployment/update/publisher/pub8.oxt + +-Run the update in the Extension Manager + + +Result: +The Update Dialog should show the publisher name as provided in the description.xml. For example, +when lang=en-US was selected: My OpenOffice en-US + +A release notes link is displayed with a URL to the release notes as provided in +the description.xml. For example, when lang=en-US was selected: +"http://extensions.openoffice.org/testarea/desktop/publisher/publisher_en-US.html + + +================================================================================ +pub9.oxt +================================================================================ +Need not be committed in extensions/www/testarea/desktop. + +pub9.oxt is intended for tests with extensions.services.openoffice.org. +It does not contain . That is, the Extension Manager will obtain +the update information from the repository as feed: + +http://updateext.services.openoffice.org/ProductUpdateService/check.Update + +pub9.oxt provides . That means the update feed should +contain the as provided by the extension and the release notes as entered +in the repository. + +Test +---- +Repository: + +-Create the new extension in the repository. +-Provide a company name and a URL to the company website. This setting should be ignored + when generating the update feed. Instead the publisher name from the extension is used. + Enter "Publisher Title" : some arbitrary company name + "Publisher URL": any arbitrary URL but not: + http://extensions.openoffice.org/testarea/desktop/publisher/publisher_en-US.html + +-Create a new release for the extension. Upload the version 2.0 (update/pub9.oxt). + Provide release notes. These release notes should later be displayed when clicking on + the release notes link. + + +Office: +-Install version 1.0 of the extension: + desktop/test/deployment/update/publisher/pub9.oxt + +-Run the update in the Extension Manager + + +Result: +The Update Dialog should show the publisher name as provided in the description.xml. For example, +when lang=en-US was selected: My OpenOffice en-US + +A release notes link is displayed with a URL to the release notes as provided in the release notes +field on the edit page for the extension in the repository. + +================================================================================ +pub10.oxt +================================================================================ +Need not be committed in extensions/www/testarea/desktop. + +pub10.oxt is intended for tests with extensions.services.openoffice.org. +It does not contain . That is, the Extension Manager will obtain +the update information from the repository as feed: + +http://updateext.services.openoffice.org/ProductUpdateService/check.Update + +pub10.oxt provides . That means the update feed should +contain the as provided by the extension and the publisher name/URLs as entered +in the repository. + +Test +---- +Repository: + +-Create the new extension in the repository. +-Provide a company name and a URL to the company website. They should then be in the update + feed. + +-Create a new release for the extension. Upload the version 2.0 (update/pub10.oxt). + Provide release notes. These release notes should NOT be displayed when clicking on + the release notes link. Instead the release notes provided by pub10.oxt should be displayed. + + +Office: +-Install version 1.0 of the extension: + desktop/test/deployment/update/publisher/pub10.oxt + +-Run the update in the Extension Manager + + +Result: +The Update Dialog should show the publisher name as provided in the repository. + +A release notes link is displayed with a URL to the release notes as provided in the +pub10.oxt. For example, when the locale of the office is en-US then this page will be +displayed: +For example, +when lang=en-US was selected: My OpenOffice en-US + +================================================================================ +pub11.oxt +================================================================================ +Need not be committed in extensions/www/testarea/desktop. + +pub11.oxt is intended for tests with extensions.services.openoffice.org. +It does not contain . That is, the Extension Manager will obtain +the update information from the repository as feed: + +http://updateext.services.openoffice.org/ProductUpdateService/check.Update + +pub10.oxt neither provides nor . That means the update feed should +contain these data as provided by the user on the repository web site. + +Test +---- +Repository: + +-Create the new extension in the repository. +-Provide a company name and a URL to the company website. They should then be in the update + feed. + +-Create a new release for the extension. Upload the version 2.0 (update/pub11.oxt). + Provide release notes. These release notes should be displayed when clicking on + the release notes link. + + +Office: +-Install version 1.0 of the extension: + desktop/test/deployment/update/publisher/pub11.oxt + +-Run the update in the Extension Manager + + +Result: +The Update Dialog should show the publisher name as provided in the repository. + +A release notes link is displayed which leads to the release notes kept in the repository. + diff --git a/desktop/test/deployment/update/publisher/release-notes_de-DE-altmark.html b/desktop/test/deployment/update/publisher/release-notes_de-DE-altmark.html new file mode 100644 index 000000000..81b38a9f5 --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_de-DE-altmark.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes de-DE-altmark

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_de-DE.html b/desktop/test/deployment/update/publisher/release-notes_de-DE.html new file mode 100644 index 000000000..f8f0121f0 --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_de-DE.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes de-DE

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_de.html b/desktop/test/deployment/update/publisher/release-notes_de.html new file mode 100644 index 000000000..a9e1dc364 --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_de.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes de

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_en-GB.html b/desktop/test/deployment/update/publisher/release-notes_en-GB.html new file mode 100644 index 000000000..ca72ec1b9 --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_en-GB.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes en-GB

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_en-US-region1.html b/desktop/test/deployment/update/publisher/release-notes_en-US-region1.html new file mode 100644 index 000000000..0e6f99ce4 --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_en-US-region1.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes en-US-region1

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_en-US-region2.html b/desktop/test/deployment/update/publisher/release-notes_en-US-region2.html new file mode 100644 index 000000000..597bca0eb --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_en-US-region2.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes en-US-region2

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_en-US.html b/desktop/test/deployment/update/publisher/release-notes_en-US.html new file mode 100644 index 000000000..7f9d73e33 --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_en-US.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes en-US

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_en-region3.html b/desktop/test/deployment/update/publisher/release-notes_en-region3.html new file mode 100644 index 000000000..5d62c7bcb --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_en-region3.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes en-region3

+ + diff --git a/desktop/test/deployment/update/publisher/release-notes_en.html b/desktop/test/deployment/update/publisher/release-notes_en.html new file mode 100644 index 000000000..d02e4f333 --- /dev/null +++ b/desktop/test/deployment/update/publisher/release-notes_en.html @@ -0,0 +1,8 @@ + + + + + +

Release Notes en

+ + diff --git a/desktop/test/deployment/update/publisher/update/pub1.oxt b/desktop/test/deployment/update/publisher/update/pub1.oxt new file mode 100644 index 000000000..cd04a58d5 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub1.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub1.update.xml b/desktop/test/deployment/update/publisher/update/pub1.update.xml new file mode 100644 index 000000000..14a35d798 --- /dev/null +++ b/desktop/test/deployment/update/publisher/update/pub1.update.xml @@ -0,0 +1,53 @@ + + + + + + + + + My OpenOffice de + My OpenOffice en + My OpenOffice de-DE + My OpenOffice de-DE-altmark + My OpenOffice en-GB + My OpenOffice en-US + My OpenOffice en-US-region1 + My OpenOffice en-US-region2 + My OpenOffice en-region3 + + + + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/publisher/update/pub10.oxt b/desktop/test/deployment/update/publisher/update/pub10.oxt new file mode 100644 index 000000000..501a84338 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub10.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub11.oxt b/desktop/test/deployment/update/publisher/update/pub11.oxt new file mode 100644 index 000000000..692c0401f Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub11.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub2.oxt b/desktop/test/deployment/update/publisher/update/pub2.oxt new file mode 100644 index 000000000..2a0bd6c21 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub2.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub2.update.xml b/desktop/test/deployment/update/publisher/update/pub2.update.xml new file mode 100644 index 000000000..675ce484d --- /dev/null +++ b/desktop/test/deployment/update/publisher/update/pub2.update.xml @@ -0,0 +1,51 @@ + + + + + + + + + My OpenOffice de + My OpenOffice en + My OpenOffice de-DE + My OpenOffice de-DE-altmark + My OpenOffice en-GB + My OpenOffice en-US-region1 + My OpenOffice en-US-region2 + My OpenOffice en-region3 + + + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/publisher/update/pub3.oxt b/desktop/test/deployment/update/publisher/update/pub3.oxt new file mode 100644 index 000000000..60675fc4d Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub3.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub3.update.xml b/desktop/test/deployment/update/publisher/update/pub3.update.xml new file mode 100644 index 000000000..13199e375 --- /dev/null +++ b/desktop/test/deployment/update/publisher/update/pub3.update.xml @@ -0,0 +1,47 @@ + + + + + + + + + My OpenOffice de + My OpenOffice en + My OpenOffice de-DE + My OpenOffice de-DE-altmark + My OpenOffice en-GB + My OpenOffice en-region3 + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/publisher/update/pub4.oxt b/desktop/test/deployment/update/publisher/update/pub4.oxt new file mode 100644 index 000000000..19f7b7991 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub4.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub4.update.xml b/desktop/test/deployment/update/publisher/update/pub4.update.xml new file mode 100644 index 000000000..800b68821 --- /dev/null +++ b/desktop/test/deployment/update/publisher/update/pub4.update.xml @@ -0,0 +1,45 @@ + + + + + + + + + My OpenOffice de + My OpenOffice de-DE + My OpenOffice de-DE-altmark + My OpenOffice en-GB + My OpenOffice en-region3 + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/publisher/update/pub5.oxt b/desktop/test/deployment/update/publisher/update/pub5.oxt new file mode 100644 index 000000000..afc632d57 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub5.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub5.update.xml b/desktop/test/deployment/update/publisher/update/pub5.update.xml new file mode 100644 index 000000000..70bc7194f --- /dev/null +++ b/desktop/test/deployment/update/publisher/update/pub5.update.xml @@ -0,0 +1,41 @@ + + + + + + + + + My OpenOffice de + My OpenOffice de-DE + My OpenOffice de-DE-altmark + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/publisher/update/pub6.oxt b/desktop/test/deployment/update/publisher/update/pub6.oxt new file mode 100644 index 000000000..a68b445b8 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub6.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub6.update.xml b/desktop/test/deployment/update/publisher/update/pub6.update.xml new file mode 100644 index 000000000..69ac58b28 --- /dev/null +++ b/desktop/test/deployment/update/publisher/update/pub6.update.xml @@ -0,0 +1,41 @@ + + + + + + + + + My OpenOffice de + My OpenOffice en + My OpenOffice de-DE + My OpenOffice de-DE-altmark + My OpenOffice en-GB + My OpenOffice en-US + My OpenOffice en-US-region1 + My OpenOffice en-US-region2 + My OpenOffice en-region3 + + + + + + + diff --git a/desktop/test/deployment/update/publisher/update/pub7.oxt b/desktop/test/deployment/update/publisher/update/pub7.oxt new file mode 100644 index 000000000..1b4bee044 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub7.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub7.update.xml b/desktop/test/deployment/update/publisher/update/pub7.update.xml new file mode 100644 index 000000000..7ca456e95 --- /dev/null +++ b/desktop/test/deployment/update/publisher/update/pub7.update.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/publisher/update/pub8.oxt b/desktop/test/deployment/update/publisher/update/pub8.oxt new file mode 100644 index 000000000..5688ab9d2 Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub8.oxt differ diff --git a/desktop/test/deployment/update/publisher/update/pub9.oxt b/desktop/test/deployment/update/publisher/update/pub9.oxt new file mode 100644 index 000000000..752cfbbcf Binary files /dev/null and b/desktop/test/deployment/update/publisher/update/pub9.oxt differ diff --git a/desktop/test/deployment/update/readme.txt b/desktop/test/deployment/update/readme.txt new file mode 100644 index 000000000..fa1778308 --- /dev/null +++ b/desktop/test/deployment/update/readme.txt @@ -0,0 +1,58 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +The extensions in the subdirectories of the update folder are used for +testing the online update feature of extensions. The folder such as +simple, +license, +defect, etc. contain extensions which can be installed in OOo. The +corresponding update information file and the update are located on +the extensions.openoffice.org website (cvs: extensions/www/testarea). For example: + +desktop/test/deployment/update/simple/plain1.oxt + +is version 1 of this extension and it references + +http://extensions.openoffice.org/testarea/desktop/simple/update/plain1.update.xml + +which in turn references version 2 at + +http://extensions.openoffice.org/testarea/desktop/simple/update/plain1.oxt + + +To have all in one place the update information file and the update are also contained +in the desktop project. They are in the update subfolder of the different test folders. +For example + +.../update/simple/update +.../update/license/update +.../update/updatefeed/update + + +The different test folders for the update are also committed in project extensions/www +so that the files can be obtain via a URL. The structure and the contents is about the +same as the content +of desktop/test/deployment/update +For example in + +extensions/www/testarea/desktop + +are the subfolder defect, simple, updatefeed, wrong_url, etc. +they contain the extensions which are installed directly by the Extension Manager. +These folders contain also the update subfolder which contains the update information +and the actual updates. diff --git a/desktop/test/deployment/update/simple/plain1.oxt b/desktop/test/deployment/update/simple/plain1.oxt new file mode 100644 index 000000000..6256f99d5 Binary files /dev/null and b/desktop/test/deployment/update/simple/plain1.oxt differ diff --git a/desktop/test/deployment/update/simple/plain2.oxt b/desktop/test/deployment/update/simple/plain2.oxt new file mode 100644 index 000000000..03249c277 Binary files /dev/null and b/desktop/test/deployment/update/simple/plain2.oxt differ diff --git a/desktop/test/deployment/update/simple/plain3.oxt b/desktop/test/deployment/update/simple/plain3.oxt new file mode 100644 index 000000000..64838932d Binary files /dev/null and b/desktop/test/deployment/update/simple/plain3.oxt differ diff --git a/desktop/test/deployment/update/simple/readme.txt b/desktop/test/deployment/update/simple/readme.txt new file mode 100644 index 000000000..34ad6beda --- /dev/null +++ b/desktop/test/deployment/update/simple/readme.txt @@ -0,0 +1,31 @@ +The folder contains only simple extension. That is, they only contain +- META-INF +-t.rdb +-description.xml + +The description.xml contains a version, a display name, and one URL to the update data + +For example: + + + + + + + + plain1 de + + + + + + + +There is only one language as display name available, which will therefore always be displayed. + +The update information which is referenced in the update-information and the update is committed in the extensions/www project. To modify them get the project: + +cvs co extensions/wwww + +the files can be found under extensions/www/testarea/desktop diff --git a/desktop/test/deployment/update/simple/update/plain1.oxt b/desktop/test/deployment/update/simple/update/plain1.oxt new file mode 100644 index 000000000..d73362e87 Binary files /dev/null and b/desktop/test/deployment/update/simple/update/plain1.oxt differ diff --git a/desktop/test/deployment/update/simple/update/plain1.update.xml b/desktop/test/deployment/update/simple/update/plain1.update.xml new file mode 100644 index 000000000..741fcf774 --- /dev/null +++ b/desktop/test/deployment/update/simple/update/plain1.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/simple/update/plain2.oxt b/desktop/test/deployment/update/simple/update/plain2.oxt new file mode 100644 index 000000000..3dc02aa97 Binary files /dev/null and b/desktop/test/deployment/update/simple/update/plain2.oxt differ diff --git a/desktop/test/deployment/update/simple/update/plain2.update.xml b/desktop/test/deployment/update/simple/update/plain2.update.xml new file mode 100644 index 000000000..883a82e62 --- /dev/null +++ b/desktop/test/deployment/update/simple/update/plain2.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/simple/update/plain3.oxt b/desktop/test/deployment/update/simple/update/plain3.oxt new file mode 100644 index 000000000..575152403 Binary files /dev/null and b/desktop/test/deployment/update/simple/update/plain3.oxt differ diff --git a/desktop/test/deployment/update/simple/update/plain3.update.xml b/desktop/test/deployment/update/simple/update/plain3.update.xml new file mode 100644 index 000000000..e6b3f383a --- /dev/null +++ b/desktop/test/deployment/update/simple/update/plain3.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/updatefeed/feed1.oxt b/desktop/test/deployment/update/updatefeed/feed1.oxt new file mode 100644 index 000000000..b1b11ecce Binary files /dev/null and b/desktop/test/deployment/update/updatefeed/feed1.oxt differ diff --git a/desktop/test/deployment/update/updatefeed/feed2.oxt b/desktop/test/deployment/update/updatefeed/feed2.oxt new file mode 100644 index 000000000..47dca1676 Binary files /dev/null and b/desktop/test/deployment/update/updatefeed/feed2.oxt differ diff --git a/desktop/test/deployment/update/updatefeed/update/feed1.oxt b/desktop/test/deployment/update/updatefeed/update/feed1.oxt new file mode 100644 index 000000000..82bb9665a Binary files /dev/null and b/desktop/test/deployment/update/updatefeed/update/feed1.oxt differ diff --git a/desktop/test/deployment/update/updatefeed/update/feed1.update.xml b/desktop/test/deployment/update/updatefeed/update/feed1.update.xml new file mode 100644 index 000000000..90a7c23c9 --- /dev/null +++ b/desktop/test/deployment/update/updatefeed/update/feed1.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/updatefeed/update/feed1.xml b/desktop/test/deployment/update/updatefeed/update/feed1.xml new file mode 100644 index 000000000..ed53012a4 --- /dev/null +++ b/desktop/test/deployment/update/updatefeed/update/feed1.xml @@ -0,0 +1,50 @@ + + + + + OpenOffice.org Update Feed + + 2006-11-06T18:30:02Z + + The OpenOffice.org Project + http://openoffice.org + updatefeed@openoffice.org + + urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9d + + feed1.oxt version 2.0 available + + urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566e9f + + 2006-11-06T18:30:02Z + Click here to go to the download page. + + + + feed2.oxt version 2.0 available + + urn:uuid:a4ccd383-1dd1-11b2-a95c-0003ba566eaf + + 2006-11-06T18:30:02Z + Click here to go to the download page. + + + diff --git a/desktop/test/deployment/update/updatefeed/update/feed2.oxt b/desktop/test/deployment/update/updatefeed/update/feed2.oxt new file mode 100644 index 000000000..9c867ae4a Binary files /dev/null and b/desktop/test/deployment/update/updatefeed/update/feed2.oxt differ diff --git a/desktop/test/deployment/update/updatefeed/update/feed2.update.xml b/desktop/test/deployment/update/updatefeed/update/feed2.update.xml new file mode 100644 index 000000000..e37c692b0 --- /dev/null +++ b/desktop/test/deployment/update/updatefeed/update/feed2.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/updateinfocreation/build/MANIFEST.MF b/desktop/test/deployment/update/updateinfocreation/build/MANIFEST.MF new file mode 100644 index 000000000..09e2f42ca --- /dev/null +++ b/desktop/test/deployment/update/updateinfocreation/build/MANIFEST.MF @@ -0,0 +1,2 @@ +RegistrationClassName: com.sun.star.comp.smoketest.TestExtension + diff --git a/desktop/test/deployment/update/updateinfocreation/build/TestExtension.idl b/desktop/test/deployment/update/updateinfocreation/build/TestExtension.idl new file mode 100644 index 000000000..87b2540e4 --- /dev/null +++ b/desktop/test/deployment/update/updateinfocreation/build/TestExtension.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _com_sun_star_comp_smoketest_TestExtension_idl_ +#define _com_sun_star_comp_smoketest_TestExtension_idl_ + +#include + + +module com { module sun { module star { module comp { module smoketest { + // example service, XServiceInfo is implemented here for demonstration + // issues. XServiceInfo must be implemented by all components. + service TestExtension: css::lang::XServiceInfo; +};};};};}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/desktop/test/deployment/update/updateinfocreation/build/TestExtension.java b/desktop/test/deployment/update/updateinfocreation/build/TestExtension.java new file mode 100644 index 000000000..8d48a30c8 --- /dev/null +++ b/desktop/test/deployment/update/updateinfocreation/build/TestExtension.java @@ -0,0 +1,156 @@ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +package com.sun.star.comp.smoketest; + +import com.sun.star.lib.uno.helper.Factory; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.lang.XSingleComponentFactory; +import com.sun.star.lib.uno.helper.WeakBase; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XComponentContext; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.lang.XInitialization; +import com.sun.star.lang.XTypeProvider; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.uno.Type; + +/** This class capsulates the class, that implements the minimal component, a + * factory for creating the service (__getComponentFactory) and a + * method, that writes the information into the given registry key + * (__writeRegistryServiceInfo). + */ +public class TestExtension { + /** This class implements the component. At least the interfaces XServiceInfo, + * XTypeProvider, and XInitialization should be provided by the service. + */ + public static class _TestExtension extends WeakBase + implements XServiceInfo { + /** The service name, that must be used to get an instance of this service. + */ + private static final String __serviceName = + "com.sun.star.comp.smoketest.TestExtension"; + + /** The initial component contextr, that gives access to + * the service manager, supported singletons, ... + * It's often later used + */ + private XComponentContext m_cmpCtx; + + /** The service manager, that gives access to all registered services. + * It's often later used + */ + private XMultiComponentFactory m_xMCF; + + /** The constructor of the inner class has a XMultiServiceFactory parameter. + * @param xmultiservicefactoryInitialization A special service factory + * could be introduced while initializing. + */ + public _TestExtension(XComponentContext xCompContext) { + try { + m_cmpCtx = xCompContext; + m_xMCF = m_cmpCtx.getServiceManager(); + } + catch( Exception e ) { + e.printStackTrace(); + } + } + + /** This method returns an array of all supported service names. + * @return Array of supported service names. + */ + public String[] getSupportedServiceNames() { + return getServiceNames(); + } + + /** This method is a simple helper function to used in the + * static component initialisation functions as well as in + * getSupportedServiceNames. + */ + public static String[] getServiceNames() { + String[] sSupportedServiceNames = { __serviceName }; + return sSupportedServiceNames; + } + + /** This method returns true, if the given service will be + * supported by the component. + * @param sServiceName Service name. + * @return True, if the given service name will be supported. + */ + public boolean supportsService( String sServiceName ) { + return sServiceName.equals( __serviceName ); + } + + /** Return the class name of the component. + * @return Class name of the component. + */ + public String getImplementationName() { + return _TestExtension.class.getName(); + } + } + + + /** + * Gives a factory for creating the service. + * This method is called by the JavaLoader + *

+ * @return returns a XSingleComponentFactory for creating + * the component + * @param sImplName the name of the implementation for which a + * service is desired + * @see com.sun.star.comp.loader.JavaLoader + */ + public static XSingleComponentFactory __getComponentFactory(String sImplName) + { + XSingleComponentFactory xFactory = null; + + if ( sImplName.equals( _TestExtension.class.getName() ) ) + xFactory = Factory.createComponentFactory(_TestExtension.class, + _TestExtension.getServiceNames()); + + return xFactory; + } + + /** + * Writes the service information into the given registry key. + * This method is called by the JavaLoader + *

+ * @return returns true if the operation succeeded + * @param regKey the registryKey + * @see com.sun.star.comp.loader.JavaLoader + */ + public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { + return Factory.writeRegistryServiceInfo(_TestExtension.class.getName(), + _TestExtension.getServiceNames(), + regKey); + } + /** This method is a member of the interface for initializing an object + * directly after its creation. + * @param object This array of arbitrary objects will be passed to the + * component after its creation. + * @throws Exception Every exception will not be handled, but will be + * passed to the caller. + */ + public void initialize( Object[] object ) + throws com.sun.star.uno.Exception { + /* The component describes what arguments are expected and in which + * order! At this point you can read the objects and initialize + * your component using these objects. + */ + } + +} diff --git a/desktop/test/deployment/update/updateinfocreation/build/description.xml b/desktop/test/deployment/update/updateinfocreation/build/description.xml new file mode 100644 index 000000000..283fb1cca --- /dev/null +++ b/desktop/test/deployment/update/updateinfocreation/build/description.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/updateinfocreation/build/makefile.mk b/desktop/test/deployment/update/updateinfocreation/build/makefile.mk new file mode 100644 index 000000000..1cb59985e --- /dev/null +++ b/desktop/test/deployment/update/updateinfocreation/build/makefile.mk @@ -0,0 +1,80 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +PRJ = ..$/..$/..$/..$/.. +PRJNAME = updateinfo +PACKAGE = com$/sun$/star$/comp$/smoketest +TARGET = com_sun_star_comp_smoketest + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +JARFILES = ridl.jar jurt.jar unoil.jar juh.jar + + +JARTARGET = TestExtension.jar +JARCOMPRESS = TRUE +CUSTOMMANIFESTFILE = MANIFEST.MF + +ZIP1TARGET=updateinfo +ZIP1LIST=* +ZIPFLAGS=-r +ZIP1DIR=$(MISC)$/$(TARGET) +ZIP1EXT=.oxt + +EXTUPDATEINFO_NAME=org.openoffice.extensions.testarea.desktop.updateinfo.update.xml +EXTUPDATEINFO_SOURCE=description.xml +EXTUPDATEINFO_URLS = http://extensions.openoffice.org/testarea/desktop/updateinfocreation/update/updateinfo.oxt +# --- Files -------------------------------------------------------- + +COPY_OXT_MANIFEST:= $(MISC)$/$(TARGET)$/META-INF$/manifest.xml +JAVAFILES = TestExtension.java + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk + +$(JARTARGETN) : $(MISC)$/$(TARGET).javamaker.done + +$(JAVACLASSFILES) : $(MISC)$/$(TARGET).javamaker.done + +$(MISC)$/$(TARGET).javamaker.done: $(BIN)$/TestExtension.rdb + $(JAVAMAKER) -O$(CLASSDIR) -BUCR -nD -X$(SOLARBINDIR)/types.rdb $< + $(TOUCH) $@ + +$(BIN)$/TestExtension.rdb: TestExtension.idl + $(IDLC) -O$(MISC) -I$(SOLARIDLDIR) -cid -we $< + +-$(RM) $@ + $(REGMERGE) $@ /UCR $(MISC)$/TestExtension.urd + +$(MISC)$/$(ZIP1TARGET).createdir : + +$(MKDIRHIER) $(MISC)$/$(TARGET)$/META-INF >& $(NULLDEV) && $(TOUCH) $@ + +$(MISC)$/$(TARGET)_resort : manifest.xml $(JARTARGETN) $(MISC)$/$(ZIP1TARGET).createdir $(BIN)$/TestExtension.rdb description.xml + $(GNUCOPY) -u manifest.xml $(MISC)$/$(TARGET)$/META-INF$/manifest.xml + $(GNUCOPY) -u $(JARTARGETN) $(MISC)$/$(TARGET)$/$(JARTARGET) + $(GNUCOPY) -u $(BIN)$/TestExtension.rdb $(MISC)$/$(TARGET)$/TestExtension.rdb + $(GNUCOPY) -u description.xml $(MISC)$/$(TARGET)$/description.xml + $(TOUCH) $@ + +.IF "$(ZIP1TARGETN)"!="" +$(ZIP1TARGETN) : $(MISC)$/$(TARGET)_resort $(MISC)$/$(ZIP1TARGET).createdir + +.ENDIF # "$(ZIP1TARGETN)"!="" + diff --git a/desktop/test/deployment/update/updateinfocreation/build/manifest.xml b/desktop/test/deployment/update/updateinfocreation/build/manifest.xml new file mode 100644 index 000000000..fcedabf96 --- /dev/null +++ b/desktop/test/deployment/update/updateinfocreation/build/manifest.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/desktop/test/deployment/update/updateinfocreation/readme.txt b/desktop/test/deployment/update/updateinfocreation/readme.txt new file mode 100644 index 000000000..20819bb70 --- /dev/null +++ b/desktop/test/deployment/update/updateinfocreation/readme.txt @@ -0,0 +1,38 @@ +The extension build in this test uses an update information which is obtained +through a http get request. That is the URL does not reference an update +information file. Instead it invokes code on a webserver which returns the +update information. The URL used in this example is: + +http://update.services.openoffice.org/ProductUpdateService/check.Update?product=extension&extensionid=org.openoffice.extensions.testarea.desktop.updateinfo&refresh=true + +The updateinfo.oxt in this directory has the version 1.0 and in the sub-directory "update is the version 2 of this extension. Version 1.0 is also available here +/extensions/www/testarea/desktop/updateinfocreation/updateinfo.oxt +and version 2.0 here +/extensions/www/testarea/desktop/updateinfocreation/update/updateinfo.oxt + +Therefore they can be accessed through + +http://extensions.openoffice.org/testarea/desktop/updateinfocreation/updateinfo.oxt +and +http://extensions.openoffice.org/testarea/desktop/updateinfocreation/update/updateinfo.oxt + +The latter location (version 2.0) will also be referenced by the update information +which are returned by the webserver. + +The build sub-directory contains the code of the extension (version 2.0) and can +be build by calling dmake in this directory. The makefile uses the special macros: + +EXTUPDATEINFO_NAME=org.openoffice.extensions.testarea.desktop.updateinfo.update.xml +EXTUPDATEINFO_SOURCE=description.xml +EXTUPDATEINFO_URLS = http://extensions.openoffice.org/testarea/desktop/updateinfocreation/update/updateinfo.oxt + +This causes the generation of the update information file. This file could be +directly references by the URL in the of the description.xml. +See also the Wiki entry at: +http://wiki.openoffice.org/wiki/Creating_update_information_for_extensions +This generated update information file can then be used by the webserver, when it +sends back the requested update information. The update information file will be +generated in the misc directory of the output directory. + +The update information file needs to be copied into common.pro/pus.mxyz directory. +The project mwsfinish will process the files in the pus directory. diff --git a/desktop/test/deployment/update/updateinfocreation/update/updateinfo.oxt b/desktop/test/deployment/update/updateinfocreation/update/updateinfo.oxt new file mode 100644 index 000000000..52ddd3158 Binary files /dev/null and b/desktop/test/deployment/update/updateinfocreation/update/updateinfo.oxt differ diff --git a/desktop/test/deployment/update/updateinfocreation/updateinfo.oxt b/desktop/test/deployment/update/updateinfocreation/updateinfo.oxt new file mode 100644 index 000000000..43ac7003b Binary files /dev/null and b/desktop/test/deployment/update/updateinfocreation/updateinfo.oxt differ diff --git a/desktop/test/deployment/update/website_update/readme.txt b/desktop/test/deployment/update/website_update/readme.txt new file mode 100644 index 000000000..b888bba70 --- /dev/null +++ b/desktop/test/deployment/update/website_update/readme.txt @@ -0,0 +1,133 @@ +The folder contains extensions which need to be updated through a web site. +The "Updates dialog" of the Extension Manager will mark the updates for these +extensions as "browser based update". The Extension Manager will open a browser +for each of the extensions and navigate to the respective website. + +================================================================================ +web1.oxt - web5.oxt: +================================================================================ +They contain . That is they reference directly the respective +webX.update.xml (for example, web1.update.xml) files which are available at +http://extensions.openoffice.org/testarea/desktop/website_update/update/... +For example: +http://extensions.openoffice.org/testarea/desktop/website_update/update/web2.update.xml + +The update information contain multiple URLs to "localized" web sites. Each URL is +assigned to a particular local. For example: + + + +The Extension Manager will choose the URLs where the lang attribute matches most +closely the locale of the office. + +The following table shows what localized web site is used, when the office uses the locale +en-US. The web page will display the locale used. See update/web1_de.html, etc. + + +Localization: + +Installed office en-US + | publisher | release notes +============================================= +web1.oxt | en-US | en-US +--------------------------------------------- +web2.oxt | en-US-region1 | en-US-region1 +--------------------------------------------- +web3.oxt | en | en +--------------------------------------------- +web4.oxt | en-GB | en-GB +--------------------------------------------- +web5.oxt | de | de + + +================================================================================ +web6.oxt +================================================================================ +Need not be committed in extensions/www/testarea/desktop. + +web6.oxt is intended for tests with extensions.services.openoffice.org. +It does not contain . That is, the Extension Manager will obtain +the update information from the repository as feed: + +http://updateext.services.openoffice.org/ProductUpdateService/check.Update + +Test +---- +Repository: + +-Create the new extension in the repository. +-Provide a company name and a URL to the company website. In our case this should be + http://extensions.openoffice.org/testarea/desktop/website_update/update/web1_en-US.html + +-Create a new release for the extension. Upload the description.xml of version 2.0 +(update/web6/description.xml). Provide a download URL for the web site (field + "Download from page / Open follow up page URL", which should be + http://extensions.openoffice.org/testarea/desktop/website_update/update/web1_en-US.html + Provide release notes. + + +Office: +-Install version 1.0 of the extension: + desktop/test/deployment/update/website_update/web6.oxt + +-Run the update in the Extension Manager + + +Result: +The Update Dialog should show the publisher name as provided in "Provider URL" field +of the extension edit page (not release). + +A release notes link is displayed with a URL to the release notes as provided in +the "Provider Title" field of the extension release edit page. + +When running the update then the web browser should navigate to +http://extensions.openoffice.org/testarea/desktop/website_update/update/web1_en-US.html + + +================================================================================ +web7.oxt +================================================================================ +Need not be committed in extensions/www/testarea/desktop + +web7.oxt is intended for tests with extensions.services.openoffice.org. +It does not contain . That is, the Extension Manager will obtain +the update information from the repository as feed: + +http://updateext.services.openoffice.org/ProductUpdateService/check.Update + +The description.xml which will be uploaded contains URLs for release notes and publisher +names/ URLs. That is, this information is not generated from the information of the +repository web site. + +Test +----------- +Repository: + +-Create the new extension in the repository. +-Provide a company name and a URL to the company website. In our case these should be different + to those provided in the description.xml. These should NOT go into the update feed. + Choose for example as "Provider Title": FOO and as "Provider URL" some valid URL but NOT + http://extensions.openoffice.org/testarea/desktop/website_update/update/web1_en-US.html + +-Create a new release for the extension. Upload the description.xml of version 2.0 +(update/web7/description.xml). Provide a download URL for the web site (field + "Download from page / Open follow up page URL", which should be + http://extensions.openoffice.org/testarea/desktop/website_update/update/web1_en-US.html + Provide release notes. + +Office: +-Install version 1.0 of the extension: + desktop/test/deployment/update/website_update/web7.oxt + +-Run the update in the Extension Manager + +Result: +The Update Dialog should show the publisher name as provided in the description.xml. +That is: My OpenOffice en-US and NOT "FOO". + +A release notes link is displayed with a URL to the release notes as provided in +the description.xml. That is: +http://extensions.openoffice.org/testarea/desktop/publisher/release-notes_xxx.html + +When running the update then the web browser should navigate to +http://extensions.openoffice.org/testarea/desktop/website_update/update/web1_en-US.html diff --git a/desktop/test/deployment/update/website_update/update/web1.oxt b/desktop/test/deployment/update/website_update/update/web1.oxt new file mode 100644 index 000000000..157d5d952 Binary files /dev/null and b/desktop/test/deployment/update/website_update/update/web1.oxt differ diff --git a/desktop/test/deployment/update/website_update/update/web1.update.xml b/desktop/test/deployment/update/website_update/update/web1.update.xml new file mode 100644 index 000000000..860c8ebc9 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1.update.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_de-DE-altmark.html b/desktop/test/deployment/update/website_update/update/web1_de-DE-altmark.html new file mode 100644 index 000000000..ffed5a52e --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_de-DE-altmark.html @@ -0,0 +1,18 @@ + + + + + +

Update Extensions

+

de-DE-altmark

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_de-DE.html b/desktop/test/deployment/update/website_update/update/web1_de-DE.html new file mode 100644 index 000000000..33fb7f2ec --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_de-DE.html @@ -0,0 +1,18 @@ + + + + + +

Update Extensions

+

de-DE

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_de.html b/desktop/test/deployment/update/website_update/update/web1_de.html new file mode 100644 index 000000000..31a53b91d --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_de.html @@ -0,0 +1,19 @@ + + + + + +

Update Extensions

+

de

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_en-GB.html b/desktop/test/deployment/update/website_update/update/web1_en-GB.html new file mode 100644 index 000000000..c46328a82 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_en-GB.html @@ -0,0 +1,19 @@ + + + + + +

Update Extensions

+

en-GB

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_en-US-region1.html b/desktop/test/deployment/update/website_update/update/web1_en-US-region1.html new file mode 100644 index 000000000..80b41823b --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_en-US-region1.html @@ -0,0 +1,19 @@ + + + + + +

Update Extensions

+

en-US-region1

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_en-US-region2.html b/desktop/test/deployment/update/website_update/update/web1_en-US-region2.html new file mode 100644 index 000000000..1a501f520 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_en-US-region2.html @@ -0,0 +1,19 @@ + + + + + +

Update Extensions

+

en-US-region2

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_en-US.html b/desktop/test/deployment/update/website_update/update/web1_en-US.html new file mode 100644 index 000000000..f861b09c0 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_en-US.html @@ -0,0 +1,20 @@ + + + + + +

Update Extensions

+

en-US

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_en-region3.html b/desktop/test/deployment/update/website_update/update/web1_en-region3.html new file mode 100644 index 000000000..f55bcbe38 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_en-region3.html @@ -0,0 +1,19 @@ + + + + + +

Update Extensions

+

en-region3

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + + diff --git a/desktop/test/deployment/update/website_update/update/web1_en.html b/desktop/test/deployment/update/website_update/update/web1_en.html new file mode 100644 index 000000000..a0b422ebf --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web1_en.html @@ -0,0 +1,19 @@ + + + + + +

Update Extensions

+

en

+

web1.oxt

+

web2.oxt

+

web3.oxt

+

web4.oxt

+

web5.oxt

+

web6.oxt

+

web7.oxt

+ + + + + diff --git a/desktop/test/deployment/update/website_update/update/web2.oxt b/desktop/test/deployment/update/website_update/update/web2.oxt new file mode 100644 index 000000000..3a13e8114 Binary files /dev/null and b/desktop/test/deployment/update/website_update/update/web2.oxt differ diff --git a/desktop/test/deployment/update/website_update/update/web2.update.xml b/desktop/test/deployment/update/website_update/update/web2.update.xml new file mode 100644 index 000000000..18c871eab --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web2.update.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/website_update/update/web3.oxt b/desktop/test/deployment/update/website_update/update/web3.oxt new file mode 100644 index 000000000..b3214a4e6 Binary files /dev/null and b/desktop/test/deployment/update/website_update/update/web3.oxt differ diff --git a/desktop/test/deployment/update/website_update/update/web3.update.xml b/desktop/test/deployment/update/website_update/update/web3.update.xml new file mode 100644 index 000000000..5d7711def --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web3.update.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/website_update/update/web4.oxt b/desktop/test/deployment/update/website_update/update/web4.oxt new file mode 100644 index 000000000..93766fd44 Binary files /dev/null and b/desktop/test/deployment/update/website_update/update/web4.oxt differ diff --git a/desktop/test/deployment/update/website_update/update/web4.update.xml b/desktop/test/deployment/update/website_update/update/web4.update.xml new file mode 100644 index 000000000..e016ae3cb --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web4.update.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/website_update/update/web5.oxt b/desktop/test/deployment/update/website_update/update/web5.oxt new file mode 100644 index 000000000..1ae8f01b1 Binary files /dev/null and b/desktop/test/deployment/update/website_update/update/web5.oxt differ diff --git a/desktop/test/deployment/update/website_update/update/web5.update.xml b/desktop/test/deployment/update/website_update/update/web5.update.xml new file mode 100644 index 000000000..951ef95a9 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web5.update.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/website_update/update/web6.oxt b/desktop/test/deployment/update/website_update/update/web6.oxt new file mode 100644 index 000000000..8bc16fb2c Binary files /dev/null and b/desktop/test/deployment/update/website_update/update/web6.oxt differ diff --git a/desktop/test/deployment/update/website_update/update/web6/description.xml b/desktop/test/deployment/update/website_update/update/web6/description.xml new file mode 100644 index 000000000..47a32a287 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web6/description.xml @@ -0,0 +1,28 @@ + + + + + + + web-based update test 1 + + + + diff --git a/desktop/test/deployment/update/website_update/update/web6/readme.txt b/desktop/test/deployment/update/website_update/update/web6/readme.txt new file mode 100644 index 000000000..6756b8ef9 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web6/readme.txt @@ -0,0 +1,5 @@ +This folder contains the description.xml from update/web6.oxt +When creating the release 2.0 on the repository then this description.xml can be uploaded. + + +This folder is not needed on extensions.openoffice.org/testarea/desktop/... diff --git a/desktop/test/deployment/update/website_update/update/web7.oxt b/desktop/test/deployment/update/website_update/update/web7.oxt new file mode 100644 index 000000000..4d6220a48 Binary files /dev/null and b/desktop/test/deployment/update/website_update/update/web7.oxt differ diff --git a/desktop/test/deployment/update/website_update/update/web7/description.xml b/desktop/test/deployment/update/website_update/update/web7/description.xml new file mode 100644 index 000000000..9d5e4569d --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web7/description.xml @@ -0,0 +1,53 @@ + + + + + + + web-based update test 1 + + + + My OpenOffice de + My OpenOffice en + My OpenOffice de-DE + My OpenOffice de-DE-altmark + My OpenOffice en-GB + My OpenOffice en-US + My OpenOffice en-US-region1 + My OpenOffice en-US-region2 + My OpenOffice en-region3 + + + + + + + + + + + + + + + + + diff --git a/desktop/test/deployment/update/website_update/update/web7/readme.txt b/desktop/test/deployment/update/website_update/update/web7/readme.txt new file mode 100644 index 000000000..45b2e2374 --- /dev/null +++ b/desktop/test/deployment/update/website_update/update/web7/readme.txt @@ -0,0 +1,5 @@ +This folder contains the description.xml from update/web7.oxt +When creating the release 2.0 on the repository then this description.xml can be uploaded. + + +This folder is not needed on extensions.openoffice.org/testarea/desktop/... diff --git a/desktop/test/deployment/update/website_update/web1.oxt b/desktop/test/deployment/update/website_update/web1.oxt new file mode 100644 index 000000000..7c17586e0 Binary files /dev/null and b/desktop/test/deployment/update/website_update/web1.oxt differ diff --git a/desktop/test/deployment/update/website_update/web2.oxt b/desktop/test/deployment/update/website_update/web2.oxt new file mode 100644 index 000000000..705e70a75 Binary files /dev/null and b/desktop/test/deployment/update/website_update/web2.oxt differ diff --git a/desktop/test/deployment/update/website_update/web3.oxt b/desktop/test/deployment/update/website_update/web3.oxt new file mode 100644 index 000000000..4e63a75f0 Binary files /dev/null and b/desktop/test/deployment/update/website_update/web3.oxt differ diff --git a/desktop/test/deployment/update/website_update/web4.oxt b/desktop/test/deployment/update/website_update/web4.oxt new file mode 100644 index 000000000..e66513e68 Binary files /dev/null and b/desktop/test/deployment/update/website_update/web4.oxt differ diff --git a/desktop/test/deployment/update/website_update/web5.oxt b/desktop/test/deployment/update/website_update/web5.oxt new file mode 100644 index 000000000..65b02db93 Binary files /dev/null and b/desktop/test/deployment/update/website_update/web5.oxt differ diff --git a/desktop/test/deployment/update/website_update/web6.oxt b/desktop/test/deployment/update/website_update/web6.oxt new file mode 100644 index 000000000..98416edfa Binary files /dev/null and b/desktop/test/deployment/update/website_update/web6.oxt differ diff --git a/desktop/test/deployment/update/website_update/web7.oxt b/desktop/test/deployment/update/website_update/web7.oxt new file mode 100644 index 000000000..31ba45f03 Binary files /dev/null and b/desktop/test/deployment/update/website_update/web7.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/readme.txt b/desktop/test/deployment/update/wrong_url/readme.txt new file mode 100644 index 000000000..9e3bf8b96 --- /dev/null +++ b/desktop/test/deployment/update/wrong_url/readme.txt @@ -0,0 +1,18 @@ +The extensions use either multiple urls to the update information file, or the update information file contains multiple urls. Some of those URLs point to locations which do not exist. + +url1.oxt: The corresponding url1.update.xml contains two download urls. The first Url points to a location that is not available. The second points to the new version. + +url2.oxt: Contains to URLs to update information files. The first URL in url2.oxt is wrong and the second is +correct. + +url3.oxt: contains to URLs to update information files which point to locations which do not exist. + +wrongdownload1.oxt: The corresponding wrongdownload1.update.xml contains two download URLs which point to locations which are not available. + +wrongdownload2.oxt: same as wrongdownload1.oxt + +wrongdownload3.oxt: same as wrongdownload1.oxt + + +Use the wrongdownload extensions to check the automatic scrolling of the text area that contains the results. + diff --git a/desktop/test/deployment/update/wrong_url/update/url1.oxt b/desktop/test/deployment/update/wrong_url/update/url1.oxt new file mode 100644 index 000000000..479b546c8 Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/update/url1.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/update/url1.update.xml b/desktop/test/deployment/update/wrong_url/update/url1.update.xml new file mode 100644 index 000000000..e6980d558 --- /dev/null +++ b/desktop/test/deployment/update/wrong_url/update/url1.update.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/desktop/test/deployment/update/wrong_url/update/url2.oxt b/desktop/test/deployment/update/wrong_url/update/url2.oxt new file mode 100644 index 000000000..ec2c5c652 Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/update/url2.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/update/url2.update.xml b/desktop/test/deployment/update/wrong_url/update/url2.update.xml new file mode 100644 index 000000000..3ced2f9d2 --- /dev/null +++ b/desktop/test/deployment/update/wrong_url/update/url2.update.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/desktop/test/deployment/update/wrong_url/update/wrongdownload1.update.xml b/desktop/test/deployment/update/wrong_url/update/wrongdownload1.update.xml new file mode 100644 index 000000000..916036e03 --- /dev/null +++ b/desktop/test/deployment/update/wrong_url/update/wrongdownload1.update.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/desktop/test/deployment/update/wrong_url/update/wrongdownload2.update.xml b/desktop/test/deployment/update/wrong_url/update/wrongdownload2.update.xml new file mode 100644 index 000000000..36b24ed19 --- /dev/null +++ b/desktop/test/deployment/update/wrong_url/update/wrongdownload2.update.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/desktop/test/deployment/update/wrong_url/update/wrongdownload3.update.xml b/desktop/test/deployment/update/wrong_url/update/wrongdownload3.update.xml new file mode 100644 index 000000000..f5a2bb8b1 --- /dev/null +++ b/desktop/test/deployment/update/wrong_url/update/wrongdownload3.update.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/desktop/test/deployment/update/wrong_url/url1.oxt b/desktop/test/deployment/update/wrong_url/url1.oxt new file mode 100644 index 000000000..41d8522fb Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/url1.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/url2.oxt b/desktop/test/deployment/update/wrong_url/url2.oxt new file mode 100644 index 000000000..d68e45e5e Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/url2.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/url3.oxt b/desktop/test/deployment/update/wrong_url/url3.oxt new file mode 100644 index 000000000..80f93b74d Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/url3.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/wrongdownload1.oxt b/desktop/test/deployment/update/wrong_url/wrongdownload1.oxt new file mode 100644 index 000000000..535ae331a Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/wrongdownload1.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/wrongdownload2.oxt b/desktop/test/deployment/update/wrong_url/wrongdownload2.oxt new file mode 100644 index 000000000..aafe2c246 Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/wrongdownload2.oxt differ diff --git a/desktop/test/deployment/update/wrong_url/wrongdownload3.oxt b/desktop/test/deployment/update/wrong_url/wrongdownload3.oxt new file mode 100644 index 000000000..fbdac925a Binary files /dev/null and b/desktop/test/deployment/update/wrong_url/wrongdownload3.oxt differ diff --git a/desktop/test/deployment/version/readme.txt b/desktop/test/deployment/version/readme.txt new file mode 100644 index 000000000..6135d08a2 --- /dev/null +++ b/desktop/test/deployment/version/readme.txt @@ -0,0 +1,76 @@ +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +There are three extensions in various versions: + +1 version_XXX/plain.oxt has no dependencies and no license. +2a version_XXX/dependency.oxt has an unsatisfied dependency and no license. +2b version_nodependencies_XXX/dependency.oxt is identical to 2a but without the + dependency. +3 version_XXX/license.oxt has no dependencies and a license. + +The different versions are: + +A version_none contains no version element (treated as version "0"). +B version_badelement contains a bad (not allowed by the + specification, but treated by the current implementation as version "0"). +C version_badvalue contains a bad (not allowed by the + specification, but treated by the current implementation as version "1"). +D version_0.0 contains (same as version "0"). +E version_1.2.3 contains . +F version_1.2.4.7 contains . +G version_1.02.4.7.0 contains (same as version + "1.2.4.7"). +H version_1.2.15.3 contains . + +The total order among the various versions is thus + + A = B = D < C < E < F = G < H. + +Things to watch for: + +- If version y of extension e is to be installed and version x < y of + extension e is already installed, then + unopkg add e + will replace x with y. + +- If version y of extension e is to be installed and version x >= y of + extension e is already installed, then + unopkg add e + will fail with an error message. + +- If version y of extension e is to be installed and any version x of + extension e is already installed, then + unopkg add -f e + will replace x with y. + +- If version y of extension e is to be installed and any version x of + extension e is already installed, then + unopkg gui "Add..." + and + soffice "Tools - Package Manager... - Add..." + will query with a dialog whether to replace x with y. The dialog will have + "OK" (replace) preselected if x < y, and "Cancel" otherwise. + +- If replacing an installed version x of an extension e with a version y fails + because y has unsatisfied dependencies, or because y has a license to which the + user does not agree, version x is left installed afterwards. + +- Checking for already installed versions of an extension is only done within a + single layer (unopkg versus unopkg --shared; "My Packages" versus + "OpenOffice Packages" in unopkg gui/soffice), not across layers. diff --git a/desktop/test/deployment/version/version_0.0/dependency.oxt b/desktop/test/deployment/version/version_0.0/dependency.oxt new file mode 100644 index 000000000..30c843225 Binary files /dev/null and b/desktop/test/deployment/version/version_0.0/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_0.0/license.oxt b/desktop/test/deployment/version/version_0.0/license.oxt new file mode 100644 index 000000000..b994ff71b Binary files /dev/null and b/desktop/test/deployment/version/version_0.0/license.oxt differ diff --git a/desktop/test/deployment/version/version_0.0/plain.oxt b/desktop/test/deployment/version/version_0.0/plain.oxt new file mode 100644 index 000000000..f156014eb Binary files /dev/null and b/desktop/test/deployment/version/version_0.0/plain.oxt differ diff --git a/desktop/test/deployment/version/version_1.02.4.7.0/dependency.oxt b/desktop/test/deployment/version/version_1.02.4.7.0/dependency.oxt new file mode 100644 index 000000000..4d75f7076 Binary files /dev/null and b/desktop/test/deployment/version/version_1.02.4.7.0/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_1.02.4.7.0/license.oxt b/desktop/test/deployment/version/version_1.02.4.7.0/license.oxt new file mode 100644 index 000000000..40938b754 Binary files /dev/null and b/desktop/test/deployment/version/version_1.02.4.7.0/license.oxt differ diff --git a/desktop/test/deployment/version/version_1.02.4.7.0/plain.oxt b/desktop/test/deployment/version/version_1.02.4.7.0/plain.oxt new file mode 100644 index 000000000..521a2b6c7 Binary files /dev/null and b/desktop/test/deployment/version/version_1.02.4.7.0/plain.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.15.3/dependency.oxt b/desktop/test/deployment/version/version_1.2.15.3/dependency.oxt new file mode 100644 index 000000000..6f2a301f3 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.15.3/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.15.3/license.oxt b/desktop/test/deployment/version/version_1.2.15.3/license.oxt new file mode 100644 index 000000000..2e2a87575 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.15.3/license.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.15.3/plain.oxt b/desktop/test/deployment/version/version_1.2.15.3/plain.oxt new file mode 100644 index 000000000..000f3a144 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.15.3/plain.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.3/dependency.oxt b/desktop/test/deployment/version/version_1.2.3/dependency.oxt new file mode 100644 index 000000000..c29663458 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.3/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.3/license.oxt b/desktop/test/deployment/version/version_1.2.3/license.oxt new file mode 100644 index 000000000..9cd80e991 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.3/license.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.3/plain.oxt b/desktop/test/deployment/version/version_1.2.3/plain.oxt new file mode 100644 index 000000000..e34264591 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.3/plain.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.4.7/dependency.oxt b/desktop/test/deployment/version/version_1.2.4.7/dependency.oxt new file mode 100644 index 000000000..53089e76b Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.4.7/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.4.7/license.oxt b/desktop/test/deployment/version/version_1.2.4.7/license.oxt new file mode 100644 index 000000000..e283508d3 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.4.7/license.oxt differ diff --git a/desktop/test/deployment/version/version_1.2.4.7/plain.oxt b/desktop/test/deployment/version/version_1.2.4.7/plain.oxt new file mode 100644 index 000000000..d63c79a73 Binary files /dev/null and b/desktop/test/deployment/version/version_1.2.4.7/plain.oxt differ diff --git a/desktop/test/deployment/version/version_badelement/dependency.oxt b/desktop/test/deployment/version/version_badelement/dependency.oxt new file mode 100644 index 000000000..3cb8faa2e Binary files /dev/null and b/desktop/test/deployment/version/version_badelement/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_badelement/license.oxt b/desktop/test/deployment/version/version_badelement/license.oxt new file mode 100644 index 000000000..7b2b7730e Binary files /dev/null and b/desktop/test/deployment/version/version_badelement/license.oxt differ diff --git a/desktop/test/deployment/version/version_badelement/plain.oxt b/desktop/test/deployment/version/version_badelement/plain.oxt new file mode 100644 index 000000000..62267c212 Binary files /dev/null and b/desktop/test/deployment/version/version_badelement/plain.oxt differ diff --git a/desktop/test/deployment/version/version_badvalue/dependency.oxt b/desktop/test/deployment/version/version_badvalue/dependency.oxt new file mode 100644 index 000000000..7d8103365 Binary files /dev/null and b/desktop/test/deployment/version/version_badvalue/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_badvalue/license.oxt b/desktop/test/deployment/version/version_badvalue/license.oxt new file mode 100644 index 000000000..b97723ebb Binary files /dev/null and b/desktop/test/deployment/version/version_badvalue/license.oxt differ diff --git a/desktop/test/deployment/version/version_badvalue/plain.oxt b/desktop/test/deployment/version/version_badvalue/plain.oxt new file mode 100644 index 000000000..f9964ed8f Binary files /dev/null and b/desktop/test/deployment/version/version_badvalue/plain.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_0.0/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_0.0/dependency.oxt new file mode 100644 index 000000000..f156014eb Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_0.0/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_1.02.4.7.0/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_1.02.4.7.0/dependency.oxt new file mode 100644 index 000000000..521a2b6c7 Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_1.02.4.7.0/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_1.2.15.3/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_1.2.15.3/dependency.oxt new file mode 100644 index 000000000..000f3a144 Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_1.2.15.3/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_1.2.3/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_1.2.3/dependency.oxt new file mode 100644 index 000000000..e34264591 Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_1.2.3/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_1.2.4.7/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_1.2.4.7/dependency.oxt new file mode 100644 index 000000000..d63c79a73 Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_1.2.4.7/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_badelement/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_badelement/dependency.oxt new file mode 100644 index 000000000..62267c212 Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_badelement/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_badvalue/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_badvalue/dependency.oxt new file mode 100644 index 000000000..f9964ed8f Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_badvalue/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_nodependencies_none/dependency.oxt b/desktop/test/deployment/version/version_nodependencies_none/dependency.oxt new file mode 100644 index 000000000..fc227b099 Binary files /dev/null and b/desktop/test/deployment/version/version_nodependencies_none/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_none/dependency.oxt b/desktop/test/deployment/version/version_none/dependency.oxt new file mode 100644 index 000000000..36a1854bf Binary files /dev/null and b/desktop/test/deployment/version/version_none/dependency.oxt differ diff --git a/desktop/test/deployment/version/version_none/license.oxt b/desktop/test/deployment/version/version_none/license.oxt new file mode 100644 index 000000000..1564c089b Binary files /dev/null and b/desktop/test/deployment/version/version_none/license.oxt differ diff --git a/desktop/test/deployment/version/version_none/plain.oxt b/desktop/test/deployment/version/version_none/plain.oxt new file mode 100644 index 000000000..fc227b099 Binary files /dev/null and b/desktop/test/deployment/version/version_none/plain.oxt differ -- cgit v1.2.3