Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / analysis / generic_object_view_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import" href="/tracing/analysis/generic_object_view.html">
9 <link rel="import" href="/tracing/trace_model/object_instance.html">
10
11 <script>
12 'use strict';
13
14 tv.unittest.testSuite(function() { // @suppress longLineCheck
15   var GenericObjectView = tracing.analysis.GenericObjectView;
16
17   test('undefinedValue', function() {
18     var view = new GenericObjectView();
19     view.object = undefined;
20     assertEquals('undefined', view.children[0].dataElement.textContent);
21   });
22
23   test('nullValue', function() {
24     var view = new GenericObjectView();
25     view.object = null;
26     assertEquals('null', view.children[0].dataElement.textContent);
27   });
28
29   test('stringValue', function() {
30     var view = new GenericObjectView();
31     view.object = 'string value';
32     assertEquals('"string value"', view.children[0].textContent);
33   });
34
35   test('jsonObjectStringValue', function() {
36     var view = new GenericObjectView();
37     view.object = '{"x": 1}';
38     assertEquals(1, view.children.length);
39     assertEquals(4, view.children[0].children.length);
40   });
41
42   test('jsonArraStringValue', function() {
43     var view = new GenericObjectView();
44     view.object = '[1,2,3]';
45     assertEquals(3, view.children.length);
46   });
47
48   test('booleanValue', function() {
49     var view = new GenericObjectView();
50     view.object = false;
51     assertEquals('false', view.children[0].dataElement.textContent);
52   });
53
54   test('numberValue', function() {
55     var view = new GenericObjectView();
56     view.object = 3.14159;
57     assertEquals('3.14159', view.children[0].textContent);
58   });
59
60   test('objectSnapshotValue', function() {
61     var view = new GenericObjectView();
62
63     var i10 = new tracing.trace_model.ObjectInstance(
64         {}, '0x1000', 'cat', 'name', 10);
65     var s10 = i10.addSnapshot(10, {foo: 1});
66
67     view.object = s10;
68     assertTrue(view.children[0].dataElement instanceof
69                tracing.analysis.ObjectSnapshotLink);
70   });
71
72   test('objectInstanceValue', function() {
73     var view = new GenericObjectView();
74
75     var i10 = new tracing.trace_model.ObjectInstance(
76         {}, '0x1000', 'cat', 'name', 10);
77     var s10 = i10.addSnapshot(10, {foo: 1});
78
79     view.object = i10;
80     assertTrue(view.children[0].dataElement instanceof
81                tracing.analysis.ObjectInstanceLink);
82   });
83
84   test('instantiate_emptyArrayValue', function() {
85     var view = new GenericObjectView();
86     view.object = [];
87     this.addHTMLOutput(view);
88   });
89
90   test('instantiate_twoValueArrayValue', function() {
91     var view = new GenericObjectView();
92     view.object = [1, 2];
93     this.addHTMLOutput(view);
94   });
95
96   test('instantiate_twoValueBArrayValue', function() {
97     var view = new GenericObjectView();
98     view.object = [1, {x: 1}];
99     this.addHTMLOutput(view);
100   });
101
102   test('instantiate_arrayValue', function() {
103     var view = new GenericObjectView();
104     view.object = [1, 2, 'three'];
105     this.addHTMLOutput(view);
106   });
107
108   test('instantiate_arrayWithSimpleObjectValue', function() {
109     var view = new GenericObjectView();
110     view.object = [{simple: 'object'}];
111     this.addHTMLOutput(view);
112   });
113
114   test('instantiate_arrayWithComplexObjectValue', function() {
115     var view = new GenericObjectView();
116     view.object = [{complex: 'object', field: 'two'}];
117     this.addHTMLOutput(view);
118   });
119
120   test('instantiate_objectValue', function() {
121     var view = new GenericObjectView();
122     view.object = {
123       'entry_one': 'entry_one_value',
124       'entry_two': 2,
125       'entry_three': [3, 4, 5]
126     };
127     this.addHTMLOutput(view);
128   });
129 });
130 </script>