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.
8 <link rel="import" href="/tracing/analysis/generic_object_view.html">
9 <link rel="import" href="/tracing/trace_model/object_instance.html">
14 tv.unittest.testSuite(function() { // @suppress longLineCheck
15 var GenericObjectView = tracing.analysis.GenericObjectView;
17 test('undefinedValue', function() {
18 var view = new GenericObjectView();
19 view.object = undefined;
20 assertEquals('undefined', view.children[0].dataElement.textContent);
23 test('nullValue', function() {
24 var view = new GenericObjectView();
26 assertEquals('null', view.children[0].dataElement.textContent);
29 test('stringValue', function() {
30 var view = new GenericObjectView();
31 view.object = 'string value';
32 assertEquals('"string value"', view.children[0].textContent);
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);
42 test('jsonArraStringValue', function() {
43 var view = new GenericObjectView();
44 view.object = '[1,2,3]';
45 assertEquals(3, view.children.length);
48 test('booleanValue', function() {
49 var view = new GenericObjectView();
51 assertEquals('false', view.children[0].dataElement.textContent);
54 test('numberValue', function() {
55 var view = new GenericObjectView();
56 view.object = 3.14159;
57 assertEquals('3.14159', view.children[0].textContent);
60 test('objectSnapshotValue', function() {
61 var view = new GenericObjectView();
63 var i10 = new tracing.trace_model.ObjectInstance(
64 {}, '0x1000', 'cat', 'name', 10);
65 var s10 = i10.addSnapshot(10, {foo: 1});
68 assertTrue(view.children[0].dataElement instanceof
69 tracing.analysis.ObjectSnapshotLink);
72 test('objectInstanceValue', function() {
73 var view = new GenericObjectView();
75 var i10 = new tracing.trace_model.ObjectInstance(
76 {}, '0x1000', 'cat', 'name', 10);
77 var s10 = i10.addSnapshot(10, {foo: 1});
80 assertTrue(view.children[0].dataElement instanceof
81 tracing.analysis.ObjectInstanceLink);
84 test('instantiate_emptyArrayValue', function() {
85 var view = new GenericObjectView();
87 this.addHTMLOutput(view);
90 test('instantiate_twoValueArrayValue', function() {
91 var view = new GenericObjectView();
93 this.addHTMLOutput(view);
96 test('instantiate_twoValueBArrayValue', function() {
97 var view = new GenericObjectView();
98 view.object = [1, {x: 1}];
99 this.addHTMLOutput(view);
102 test('instantiate_arrayValue', function() {
103 var view = new GenericObjectView();
104 view.object = [1, 2, 'three'];
105 this.addHTMLOutput(view);
108 test('instantiate_arrayWithSimpleObjectValue', function() {
109 var view = new GenericObjectView();
110 view.object = [{simple: 'object'}];
111 this.addHTMLOutput(view);
114 test('instantiate_arrayWithComplexObjectValue', function() {
115 var view = new GenericObjectView();
116 view.object = [{complex: 'object', field: 'two'}];
117 this.addHTMLOutput(view);
120 test('instantiate_objectValue', function() {
121 var view = new GenericObjectView();
123 'entry_one': 'entry_one_value',
125 'entry_three': [3, 4, 5]
127 this.addHTMLOutput(view);