| <!DOCTYPE html> |
| <!-- |
| Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <link rel="import" href="/core/analysis/generic_object_view.html"> |
| <link rel="import" href="/core/trace_model/object_instance.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tv.b.unittest.testSuite(function() { // @suppress longLineCheck |
| test('undefinedValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = undefined; |
| assert.equal(view.shadowRoot.textContent, 'undefined'); |
| }); |
| |
| test('nullValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = null; |
| assert.equal(view.shadowRoot.textContent, 'null'); |
| }); |
| |
| test('stringValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = 'string value'; |
| assert.equal(view.shadowRoot.textContent, '"string value"'); |
| }); |
| |
| test('jsonObjectStringValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = '{"x": 1}'; |
| assert.equal(view.shadowRoot.children.length, 1); |
| assert.equal(view.shadowRoot.children[0].children.length, 4); |
| }); |
| |
| test('jsonArraStringValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = '[1,2,3]'; |
| assert.equal(view.shadowRoot.children.length, 3); |
| }); |
| |
| test('booleanValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = false; |
| assert.equal(view.shadowRoot.textContent, 'false'); |
| }); |
| |
| test('numberValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = 3.14159; |
| assert.equal(view.shadowRoot.textContent, '3.14159'); |
| }); |
| |
| test('objectSnapshotValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| |
| var i10 = new tv.c.trace_model.ObjectInstance( |
| {}, '0x1000', 'cat', 'name', 10); |
| var s10 = i10.addSnapshot(10, {foo: 1}); |
| |
| view.object = s10; |
| this.addHTMLOutput(view); |
| assert.strictEqual(view.shadowRoot.children[0].dataElement.tagName, |
| 'TV-C-ANALYSIS-LINK'); |
| }); |
| |
| test('objectInstanceValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| |
| var i10 = new tv.c.trace_model.ObjectInstance( |
| {}, '0x1000', 'cat', 'name', 10); |
| var s10 = i10.addSnapshot(10, {foo: 1}); |
| |
| view.object = i10; |
| assert.strictEqual(view.shadowRoot.children[0].dataElement.tagName, |
| 'TV-C-ANALYSIS-LINK'); |
| }); |
| |
| test('instantiate_emptyArrayValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = []; |
| this.addHTMLOutput(view); |
| }); |
| |
| test('instantiate_twoValueArrayValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = [1, 2]; |
| this.addHTMLOutput(view); |
| }); |
| |
| test('instantiate_twoValueBArrayValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = [1, {x: 1}]; |
| this.addHTMLOutput(view); |
| }); |
| |
| test('instantiate_arrayValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = [1, 2, 'three']; |
| this.addHTMLOutput(view); |
| }); |
| |
| test('instantiate_arrayWithSimpleObjectValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = [{simple: 'object'}]; |
| this.addHTMLOutput(view); |
| }); |
| |
| test('instantiate_arrayWithComplexObjectValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = [{complex: 'object', field: 'two'}]; |
| this.addHTMLOutput(view); |
| }); |
| |
| test('instantiate_objectValue', function() { |
| var view = document.createElement('tv-c-analysis-generic-object-view'); |
| view.object = { |
| 'entry_one': 'entry_one_value', |
| 'entry_two': 2, |
| 'entry_three': [3, 4, 5] |
| }; |
| this.addHTMLOutput(view); |
| }); |
| }); |
| </script> |