EMMA Coverage Report (generated Fri Aug 23 16:39:17 PDT 2013)
[all classes][org.chromium.android_webview.test.util]

COVERAGE SUMMARY FOR SOURCE FILE [VideoTestWebServer.java]

nameclass, %method, %block, %line, %
VideoTestWebServer.java100% (1/1)88%  (7/8)97%  (100/103)96%  (24/25)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class VideoTestWebServer100% (1/1)88%  (7/8)97%  (100/103)96%  (24/25)
getFullScreenVideoTestURL (): String 0%   (0/1)0%   (0/3)0%   (0/1)
VideoTestWebServer (Context): void 100% (1/1)100% (23/23)100% (6/6)
getHTMLHeaders (boolean): List 100% (1/1)100% (4/4)100% (1/1)
getOnePixelOneFrameWebmURL (): String 100% (1/1)100% (3/3)100% (1/1)
getTestWebServer (): TestWebServer 100% (1/1)100% (3/3)100% (1/1)
getWebmHeaders (boolean): List 100% (1/1)100% (4/4)100% (1/1)
initFullScreenVideoTest (Context): void 100% (1/1)100% (21/21)100% (4/4)
loadAssetData (Context, String): String 100% (1/1)100% (42/42)100% (10/10)

1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4 
5package org.chromium.android_webview.test.util;
6 
7import android.content.Context;
8import android.util.Pair;
9 
10import org.chromium.net.test.util.TestWebServer;
11 
12import java.io.ByteArrayOutputStream;
13import java.io.IOException;
14import java.io.InputStream;
15import java.util.List;
16 
17/**
18 * This class is a WebServer provide video data.
19 */
20public class VideoTestWebServer {
21 
22    public static final String ONE_PIXEL_ONE_FRAME_WEBM_FILENAME = "one_pixel_one_frame.webm";
23    public static final String ONE_PIXEL_ONE_FRAME_WEBM_BASE64 =
24            "GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQN8VSalmQCgq17FAAw9C" +
25            "QE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEAD" +
26            "dW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBlrqBlh9DtnVAdOeBAKNAboEAAIDyCACdASqWAJYA" +
27            "Pk0ci0WD+IBAAJiWlu4XdQTSq2H4MW0+sMO0gz8HMRe+0jRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo" +
28            "0aNGjRo0aNGjRo0VAAD+/729RWRzH4mOZ9/O8Dl319afX4gsgAAA";
29 
30    private String mOnePixelOneFrameWebmURL;
31    private String mFullScreenVideoTestURL;
32    private TestWebServer mTestWebServer;
33 
34    public VideoTestWebServer(Context context) throws Exception {
35        mTestWebServer = new TestWebServer(false);
36        List<Pair<String, String>> headers = getWebmHeaders(true);
37        mOnePixelOneFrameWebmURL = mTestWebServer.setResponseBase64("/" +
38                ONE_PIXEL_ONE_FRAME_WEBM_FILENAME,
39                ONE_PIXEL_ONE_FRAME_WEBM_BASE64, headers);
40        initFullScreenVideoTest(context);
41    }
42 
43    /**
44     * @return the mOnePixelOneFrameWebmURL
45     */
46    public String getOnePixelOneFrameWebmURL() {
47        return mOnePixelOneFrameWebmURL;
48    }
49 
50    public String getFullScreenVideoTestURL() {
51        return mFullScreenVideoTestURL;
52    }
53 
54    public TestWebServer getTestWebServer() {
55        return mTestWebServer;
56    }
57 
58    private static List<Pair<String, String>> getWebmHeaders(boolean disableCache) {
59        return CommonResources.getContentTypeAndCacheHeaders("video/webm", disableCache);
60    }
61 
62    private static List<Pair<String, String>> getHTMLHeaders(boolean disableCache) {
63        return CommonResources.getContentTypeAndCacheHeaders("text/html", disableCache);
64    }
65 
66    private void initFullScreenVideoTest(Context context) throws IOException {
67        final String FULL_SCREEN_VIDEO_PATH = "full_screen_video_test.html";
68        String data = loadAssetData(context, FULL_SCREEN_VIDEO_PATH);
69        mFullScreenVideoTestURL = mTestWebServer.setResponse("/" + FULL_SCREEN_VIDEO_PATH,
70                data.replace("VIDEO_FILE_URL", getOnePixelOneFrameWebmURL()),
71                getHTMLHeaders(false));
72    }
73 
74    private String loadAssetData(Context context, String asset) throws IOException {
75        InputStream in = context.getAssets().open(asset);
76        ByteArrayOutputStream os = new ByteArrayOutputStream();
77        int buflen = 128;
78        byte[] buffer = new byte[buflen];
79        int len = in.read(buffer, 0, buflen);
80        while (len != -1) {
81            os.write(buffer, 0, len);
82            if (len < buflen) break;
83            len = in.read(buffer, 0, buflen);
84        }
85        return os.toString();
86  }
87}

[all classes][org.chromium.android_webview.test.util]
EMMA 2.0.5312 (C) Vladimir Roubtsov