blob: 2d46372a0934d3c11941418d382ff3389290fbce [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright 2015 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="/ui/brushing_state_controller.html">
<link rel="import" href="/ui/view_specific_brushing_state.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
var BrushingStateController = tr.c.BrushingStateController;
function setStateElement(containerEl, viewId) {
var stateElement = document.createElement(
'tr-ui-b-view-specific-brushing-state');
stateElement.viewId = viewId;
containerEl.appendChild(stateElement);
return stateElement;
}
function addChildDiv(element) {
var child = element.ownerDocument.createElement('div');
element.appendChild(child);
return child;
}
function addShadowChildDiv(element) {
var shadowRoot = element.createShadowRoot();
return addChildDiv(shadowRoot);
}
test('instantiate_withoutBrushingStateController', function() {
var containerEl = document.createElement('div');
var stateElement1 = setStateElement(containerEl, 'test-view');
assert.isUndefined(stateElement1.get());
stateElement1.set({e: 2.71828});
assert.isUndefined(stateElement1.get());
});
test('instantiate_withBrushingStateController', function() {
var rootEl = document.createElement('div');
var containerEl = addChildDiv(addShadowChildDiv(addChildDiv(rootEl)));
rootEl.brushingStateController = new BrushingStateController(undefined);
var stateElement1 = setStateElement(containerEl, 'test-view');
assert.isUndefined(stateElement1.get());
stateElement1.set({e: 2.71828});
assert.deepEqual(stateElement1.get(), {e: 2.71828});
var stateElement2 = setStateElement(containerEl, 'test-view-2');
assert.isUndefined(stateElement2.get());
stateElement2.set({pi: 3.14159});
assert.deepEqual(stateElement2.get(), {pi: 3.14159});
var stateElement3 = setStateElement(containerEl, 'test-view');
assert.deepEqual(stateElement3.get(), {e: 2.71828});
var stateElement4 = setStateElement(containerEl, 'test-view-2');
assert.deepEqual(stateElement4.get(), {pi: 3.14159});
});
});
</script>