1 /* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.messaging.util; 18 19 import android.test.suitebuilder.annotation.SmallTest; 20 21 import com.android.messaging.BugleTestCase; 22 23 /* 24 * Class for testing YouTubeUtil. 25 */ 26 @SmallTest 27 public class YouTubeUtilTest extends BugleTestCase { testGetYoutubePreviewImageLink()28 public void testGetYoutubePreviewImageLink() { 29 final String videoId = "dQw4w9WgXcQ"; 30 final String videoThumbnailUrl = YouTubeUtil.YOUTUBE_STATIC_THUMBNAIL_PREFIX + videoId 31 + YouTubeUtil.YOUTUBE_STATIC_THUMBNAIL_END; 32 33 // Check known valid youtube links to videos 34 assertEquals( 35 YouTubeUtil.getYoutubePreviewImageLink("http://www.youtube.com/watch?v=" + videoId), 36 videoThumbnailUrl); 37 assertEquals( 38 YouTubeUtil.getYoutubePreviewImageLink("https://www.youtube.com/watch?v=" + videoId 39 + "&feature=youtu.be"), videoThumbnailUrl); 40 assertEquals( 41 YouTubeUtil.getYoutubePreviewImageLink("www.youtube.com/watch?v=" + videoId), 42 videoThumbnailUrl); 43 assertEquals( 44 YouTubeUtil.getYoutubePreviewImageLink("http://www.youtube.com/embed/" + videoId), 45 videoThumbnailUrl); 46 assertEquals(YouTubeUtil.getYoutubePreviewImageLink("http://www.youtube.com/v/" + videoId), 47 videoThumbnailUrl); 48 assertEquals( 49 YouTubeUtil.getYoutubePreviewImageLink("https://youtube.googleapis.com/v/" 50 + videoId), videoThumbnailUrl); 51 assertEquals( 52 YouTubeUtil.getYoutubePreviewImageLink("http://www.youtube.com/apiplayer?video_id=" 53 + videoId), videoThumbnailUrl); 54 // This is the type of links that are used as shares from YouTube and will be the most 55 // likely case that we see 56 assertEquals(YouTubeUtil.getYoutubePreviewImageLink("http://youtu.be/" + videoId), 57 videoThumbnailUrl); 58 59 // Try links that shouldn't work 60 assertNull(YouTubeUtil.getYoutubePreviewImageLink("http://www.youtube.com")); 61 } 62 }