Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / third_party / tvcm / src / tvcm / tests.html
1 <!DOCTYPE html>
2 <html>
3 <!--
4 Copyright (c) 2013 The Chromium Authors. All rights reserved.
5 Use of this source code is governed by a BSD-style license that can be
6 found in the LICENSE file.
7 -->
8 <head>
9   <title>All Tracing Tests</title>
10   <script src="/tvcm/__init__.js"></script>
11   <link rel="shortcut icon" href="data:image/x-icon;base64," type="image/x-icon">
12   <style>
13     html, body {
14       box-sizing: border-box;
15       width: 100%;
16       height: 100%;
17       overflow: hidden;
18       margin: 0px;
19     }
20     body > x-base-interactive-test-runner {
21       height: 100%;
22       width: 100%;
23     }
24
25   </style>
26 </head>
27 <body>
28   <script>
29     tvcm.require('tvcm.unittest');
30     tvcm.require('tvcm.unittest.interactive_test_runner');
31   </script>
32   <script>
33     'use strict';
34     function loadAndRunTests() {
35       var loader = new tvcm.unittest.SuiteLoader();
36       return loader.allSuitesLoadedPromise.then(function() {
37         var results = new tvcm.unittest.InteractiveTestRunner();
38         results.testLinks = loader.testLinks;
39         results.allTests = loader.getAllTests();
40         document.body.appendChild(results);
41
42         results.setState(stateFromSearchString(
43             window.location.search.substring(1)));
44
45         function stateToSearchString(state) {
46           var parts = [];
47           for (var k in state)
48             parts.push(encodeURI(k) + '=' +
49                        encodeURI(JSON.stringify(state[k])));
50           return parts.join('&');
51         }
52
53         function stateFromSearchString(string) {
54           var state = {};
55           string.split('&').forEach(function(part) {
56             if (part == '')
57               return;
58             var kv = part.split('=');
59             state[decodeURI(kv[0])] = JSON.parse(decodeURI(kv[1]));
60           });
61           return state;
62         }
63
64         results.addEventListener('statechange', function() {
65           var state = results.getState();
66           var stateString = stateToSearchString(state);
67           if (window.location.search == stateString)
68             return;
69           var stateURL = window.location.pathname + '?' + stateString;
70           window.history.pushState(state, document.title, stateURL);
71         });
72
73         window.addEventListener('popstate', function(state) {
74           results.setState(state);
75         });
76
77         results.getHRefForTestCase = function(testCase) {
78           var state = results.getState();
79           state.testFilterString = testCase.fullyQualifiedName;
80           state.shortFormat = false;
81           var stateString = stateToSearchString(state);
82           return window.location.pathname + '?' + stateString;
83         }
84       });
85     }
86
87     window.addEventListener('load', loadAndRunTests);
88
89   </script>
90 </body>
91 </html>