= Indicator Tests = Manual testing for the indicators and dependencies == Packages: == * ido * dbusmenu * libindicate * libindicator * libappindicator * appmenu-gtk * indicator-appmenu * indicator-session * indicator-datetime * indicator-sound * indicator-application * indicator-messages All packages require passing unit tests as well as manual tests. There are inter-dependencies to consider in testing, for example a dbusmenu release means we need to test the indicators and appmenu. To test the indicators, you'll need libindicator3-tools installed. ---- === ido === Test by performing the following tests: * indicator-datetime * indicator-sound Build the examples in the ido source, in the examples directory. Run ./menus and perform these tests: * FIXME ---- === dbusmenu === Test by performing the following tests: * indicator-appmenu * indicator-session * indicator-datetime * indicator-sound * indicator-application * indicator-power ---- === libindicator === Test by performing the following tests: * indicator-appmenu * indicator-session * indicator-datetime * indicator-sound * indicator-application * indicator-power * libindicate ---- === libindicate === Test by performing the indicator-messages tests ---- === libappindicator === Test by peforming the indicator-application tests ---- === appmenu-gtk === Test by performing the indicator-appmenu tests ---- === indicator-appmenu === Load the indicator: {{{/usr/lib/libindicator/indicator-loader3 /usr/lib/indicators3/6/libappmenu.so}}} * Clicking on the File menu and verify the menu opens * Hold Alt and press "f", verify the menu opens Test the HUD service with hud-cli: * Open a terminal and run {{{echo "Open Terminal" | hud-cli}}} * Confirm the top result is "File > Open Terminal" ---- === indicator-session === Load the indicator: {{{/usr/lib/libindicator/indicator-loader3 /usr/lib/indicators3/6/libsession.so}}} * Verify there are two menus, one for session management and one with the logged in users name as the label * Users menu * Verify there is a Guest account menu item * Verify there are menu items for each user account on the system * Verify clicking on the Guest menu item starts a guest session * Verify the currently logged in account is identified with a check * User switching: * FIXME * Session menu * Lock screen, verify activating it locks the screen * Log out, verify activating it prompts you to Cancel or Log Out * Suspend, verify activating it performs a suspend * Shutdown, verify activating it prompts you to Restart, Cancel or Shut Down ---- === indicator-sound === Load the indicator: {{{/usr/lib/libindicator/indicator-loader3 /usr/lib/indicators3/6/libsoundmenu.so}}} * Drag slider left and right, verify that it slides and stops where it is released * With mouse over the slider, scroll mouse wheel and verify the slider moves with scroll and stops when scrolling stops * Mute menu, verify it toggles once per click and state changes * Media controls: * Launcher, ensure rhythmbox isn't running, activate the Rhythmbox launcher in the indicator and verify it starts rhythmbox * Raising rhythmbox, minimize rhythmbox and verify that activating the Rhythmbox launcher in the indicator raises rhythmbox * Play/Pause, verify that clicking play/pause control toggles playback and the icon state changes * Next/Prev, verify that clicking Next and Prev controls changes the song in the proper direction * Playlists: * FIXME ---- === indicator-application === Load the indicator: {{{/usr/lib/libindicator/indicator-loader3 /usr/lib/indicators3/6/libapplication.so}}} Run sample-appindicator.py found at FIXME * Verify the indicator loaded, look for the ubuntu logo * Menu items: * Navigate to the submenu and verify it is displayed * Check item, verify on toggle the check state appears to change and only changes once per toggle * Activate "Quit" in the menu and verify the indicator goes away ---- === indicator-power === Load the indicator: {{{/usr/lib/libindicator/indicator-loader3 /usr/lib/indicators3/6/libpower.so}}} * Power state * With power plugged in verify the icon is charging * Unplug power and verify the icon changes to discharging * Plug power in and verify the icon changes to charging * With power unplugged, toggle the "Show Time in Menu bar" menu item and verify the time is displayed and hidden appropriately on toggle * Multiple batteries: * FIXME ---- === indicator-messages === Load the indicator: {{{/usr/lib/libindicator/indicator-loader3 /usr/lib/indicators3/6/libmessages.so}}} Run sample-messages.py found at FIXME * Verify there are menus for "Test" in the messaging indicator * Verify there is a count of 10 next to "Messages" * Click on "Messages" and verify the count goes to 0 * Verify there is a time (delta) next to the entry for "Bugs Bunny" * Verify draw-attention is set on the indicator * Click on the message from Bugs Bunny and verify draw-attention gets unset ---- === indicator-datetime === Load the indicator: {{{/usr/lib/libindicator/indicator-loader3 /usr/lib/indicators3/6/libdatetime.so}}} FIXME ----