localmediascopes

Dependents/Clients

music-app

Test Plan

  • Run all unit tests for mediascanner and unity-scope-mediascanner

  • Install MPs on an updated image on phone or tablet. Ensure that wifi is set up on the device.
  • Reboot phone and ensure that media scanner service is running:
    • $ adb shell
      $ status mediascanner-2.0
      mediascanner-2.0 start/running, process 1234

Local music scope

  • Copy some music in Vorbis and MP3 format to the Music folder of the device via MTP. The files inside testsongs.zip provide some synthetic example files that can be used here.

  • On the dash, swipe up to bring up the "Manage dash" screen, click "All" and then pick "My Music" to bring up the local music scope.
  • Verify that results are shown for each artist you copied over music for.
    • If 7digital has art for the artist, check that it is displayed correctly in this view.
    • The "John Butler Trio/April Uprising" track from testsongs.zip should have artwork.

  • Click on an artist result, and verify that results are displayed for that artist's albums and tracks.
    • If the song/album has embedded cover art, check that it is displayed for those song/album results.
    • If the song/album has no embedded cover art but is a commercial release, check that art from the online service is displayed.
  • Click on an album result to bring up a preview.
    • Check that the same album art is displayed in the preview.
    • Check that a track list is displayed at the bottom of the preview in the expected track order (assuming the files have been tagged with track numbers).
    • Click the small play icon next to one of the tracks and verify that the expected song starts playing inside the preview.
    • Click the pause button next to that track and verify that the song stops playing.
    • Click the "Play in music app" action button, and verify that the music app is launched and starts playing the chosen album.
    • Pause playback in the music app and then switch back to the dash.
    • Click the back arrow in the top left to return to the results screen.
  • Click on a Tracks result to bring up a preview.
    • Check that the same album art is displayed in the preview.
    • Check that the chosen song is shown in a track list at the bottom of the preview.
    • Click the small play icon next to the track and verify that the song starts playing inside the preview.
    • Click the pause button next to the track and verify that the song stops playing.
    • Click the "Play in music app" action button, and verify that the music app is launched and starts playing the chosen song.
    • Pause playback in the music app and then switch back to the dash.
    • Click the back arrow in the top left to return to the results screen.
  • Click the back arrow in the top left to return to the scope's main surfacing page.
  • From the departments list, choose "Albums" and verify that results are shown for the albums copied to the device with cover art displayed as before.
  • Click on a result and verify that an album preview is displayed with the previously described behaviours. Click the back arrow to return to the results.
  • From the departments list, choose "Tracks" and verify that songs copied to the device are displayed in the results list.
  • Verify that 'play' button is imposed on the track icon (inline-playback functionality). NOTE: this feature hasn't landed yet, it's in silo 4

    • Check that tapping the 'play' button starts the playback and progress bar is displayed right to the track icon
    • Check that playback can be paused/resumed by tapping track icon again or via sound indicator.
    • Check that next/previous buttons in sound indicator advance to next/previous song of the same album (note: this assumes your mp3 files are correctly tagged).
    • Check that when a song finishes, the next one from same album starts playing (note: this assumes your mp3 files are correctly tagged)
  • Long-press on a result and verify that an song preview is displayed with the previously described behaviours. Click the back arrow to return to the results.
  • From the departments list, choose "Genres" and then a genre of music that was copied to the device. Verify that album results are displayed for music in that genre.
  • Click on a result and verify that an album preview is displayed with the previously described behaviours. Click the back arrow to return to the results.
  • Click the search button and type a word from a song title
    • Check that results are displayed for that song's artist, album and track.
    • Check that the album and track results show previews, and the artist result shows the artist results page.
  • Search for a word in an album name
    • Check that results are displayed for the song's artist, the album and some tracks from that album.
    • Check that the album and track results show previews, and the artist result shows the artist results page.
  • Search for a word in an artist name
    • Check that results are displayed for the artist, and albums and tracks by that artist.
    • Check that the album and track results show previews, and the artist result shows the artist results page.

Music aggregator scope

  • From the main dash screen, swipe to the "Music" page.
  • Verify that the first category is "My Music" and displays two songs previously copied to the device.
    • Check that result icons in that category have 'play' button imposed on them. Follow the test for inline-playback with My Music scope above to test its behavior.
  • Click on the "My Music" category header and verify that the local music scope is displayed. Click the back button to return to the music aggregator.
  • Verify that subsequent categories display results from 7digital, Soundcloud and Youtube.
  • Perform a search and verify that the appropriate results are displayed for local music, Soundcloud, 7digital and Youtube.
  • Install Songkick scope (if not already installed) and enable it in Music scope settings.
  • Install Soundcloud scope (if not already installed) and enable it in Music scope settings.
  • Perform a search and verify that the appropriate results are displayed for local music, 7digital, Youtube, Songkick and Soundcloud.
  • Clear the search string and verify that surfacing results are displayed for local music, 7digital, Youtube, Songkick and Soundcloud.
  • Verify that results obtained from Youtube are only based on music content.

Local video scope

  • Copy a video in H264 format to the Videos folder of the device via MTP (videos can be found e.g. at http://samplemedia.linaro.org/).

    • Perform a search for the video via its file name on the videos page of the dash.
    • Check that incremental results are returned
    • Tap a video in the results to show a preview.
      • Check that the play action button launches the media player.
      • open the preview again, verify that the 'content sharing' icon is shown below the video and that tapping it allows the video to be shared via content-hub.
  • Copy a test file that is known to crash GStreamer (the MPEG4 one below was reliable at some time but may no longer be as crashes get fixed) into the Videos folder and make sure that Mediascanner's blacklisting works and it does not go into a crash loop
  • Record a video file with the camera app. Go to My Videos and verify that a new video file is shown in the "My Roll" and "Everything" departments, but is not shown in "Downloaded" department. (note: it's important to record a new video file - an old video in the filesystem is not enough for this test due to potential changes to filenames from camera app).

SD card

  • Insert an SD card that has video and music files
    • verify that music shows up on the dash
    • verify that videos show up on the dash
  • Remove SD card
    • verify that music and videos on card get removed

Test Data

Video aggregator scope

  • From the main dash screen, swipe to the "Video" page.
  • Verify that the first category is "My Videos" and displays local videos previously copied to the device.
  • Click on the "My Videos" category header and verify that the local videos scope is displayed. Click the back button to return to the video aggregator.
  • Verify that the subsequent category displays results from YouTube.

  • Perform a search and verify that the appropriate results are displayed for local videos and YouTube.

  • Install Vimeo scope (if not already installed) and enable it in Video scope settings.
  • Perform a search and verify that the appropriate results are displayed for local videos, YouTube and Vimeo.

  • Clear the search string and verify that surfacing results are displayed for local videos, YouTube and Vimeo.

Process/Merges/TestPlan/localmediascopes (last edited 2016-06-20 12:59:44 by stolowski)