mirror of
https://github.com/Polymer/polymer.git
synced 2025-02-25 18:55:30 -06:00
Updates ported from perf-opt branch
Merging manually from https://github.com/Polymer/polymer/pull/5418.
This commit is contained in:
@@ -93,13 +93,17 @@ Polymer({
|
||||
type: String
|
||||
}
|
||||
},
|
||||
listeners: {
|
||||
foo: 'fooHandler'
|
||||
},
|
||||
created() {
|
||||
this.hasCreated = true;
|
||||
this.prop = 'enabled!';
|
||||
},
|
||||
ready() {
|
||||
this.enabled = true;
|
||||
}
|
||||
},
|
||||
fooHandler() {}
|
||||
});
|
||||
|
||||
Polymer({
|
||||
@@ -241,30 +245,39 @@ suite('disable-upgrade-legacy', function() {
|
||||
assert.ok(el.$.enabledEl.enabled);
|
||||
assert.ok(el.$.enabledEl.$.element);
|
||||
assert.equal(el.$.enabledEl.$.element.textContent, 'enabled!');
|
||||
el.$.enabledEl.fooHandler = sinon.spy();
|
||||
el.$.enabledEl.fire('foo');
|
||||
assert.equal(el.$.enabledEl.fooHandler.callCount, 1);
|
||||
assert.notOk(el.$.disabledEl.hasCreated);
|
||||
assert.notOk(el.$.disabledEl.enabled);
|
||||
assert.notOk(el.$.disabledEl.$);
|
||||
el.$.disabledEl.fooHandler = sinon.spy();
|
||||
el.$.disabledEl.fire('foo');
|
||||
assert.equal(el.$.disabledEl.fooHandler.callCount, 0);
|
||||
assert.notOk(el.$.disabledBoundEl.hasCreated);
|
||||
assert.notOk(el.$.disabledBoundEl.enabled);
|
||||
assert.notOk(el.$.disabledBoundEl.$);
|
||||
el.$.disabledBoundEl.fooHandler = sinon.spy();
|
||||
el.$.disabledBoundEl.fire('foo');
|
||||
assert.equal(el.$.disabledBoundEl.fooHandler.callCount, 0);
|
||||
});
|
||||
|
||||
test('elements upgrade when `disable-upgrade` removed', function() {
|
||||
assert.notOk(el.$.disabledEl.hasCreated);
|
||||
assert.notOk(el.$.disabledEl.enabled);
|
||||
assert.notOk(el.$.disabledEl.$);
|
||||
assert.notOk(el.$.disabledBoundEl.hasCreated);
|
||||
assert.notOk(el.$.disabledBoundEl.enabled);
|
||||
assert.notOk(el.$.disabledBoundEl.$);
|
||||
el.enable();
|
||||
assert.ok(el.$.disabledEl.hasCreated);
|
||||
assert.ok(el.$.disabledEl.enabled);
|
||||
assert.ok(el.$.disabledEl.$.element);
|
||||
assert.equal(el.$.disabledEl.$.element.textContent, 'enabled!');
|
||||
el.$.disabledEl.fooHandler = sinon.spy();
|
||||
el.$.disabledEl.fire('foo');
|
||||
assert.equal(el.$.disabledEl.fooHandler.callCount, 1);
|
||||
assert.ok(el.$.disabledBoundEl.hasCreated);
|
||||
assert.ok(el.$.disabledBoundEl.enabled);
|
||||
assert.ok(el.$.disabledBoundEl.$.element);
|
||||
assert.equal(el.$.disabledBoundEl.$.element.textContent, 'enabled!');
|
||||
el.$.disabledBoundEl.fooHandler = sinon.spy();
|
||||
el.$.disabledBoundEl.fire('foo');
|
||||
assert.equal(el.$.disabledBoundEl.fooHandler.callCount, 1);
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -256,12 +256,12 @@ customElements.define('multi-behaviors',
|
||||
import { mixinBehaviors } from '../../lib/legacy/class.js';
|
||||
import { PolymerElement } from '../../polymer-element.js';
|
||||
customElements.define('nested-behaviors',
|
||||
class extends mixinBehaviors(
|
||||
[
|
||||
[window.BehaviorB, [window.BehaviorC, window.BehaviorB], window.BehaviorA],
|
||||
[window.BehaviorD]
|
||||
], PolymerElement) {
|
||||
});
|
||||
class extends mixinBehaviors([window.BehaviorD, window.LifeCycleBehavior1], mixinBehaviors(
|
||||
[
|
||||
[window.BehaviorB, [window.BehaviorC, window.BehaviorB], window.BehaviorA, window.LifeCycleBehavior2],
|
||||
], PolymerElement)) {
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</dom-module>
|
||||
|
||||
@@ -355,7 +355,7 @@ customElements.define(BehaviorRegisteredExt.is, BehaviorRegisteredExt);
|
||||
|
||||
<test-fixture id="nested">
|
||||
<template>
|
||||
<nested-behaviors></nested-behaviors>
|
||||
<nested-behaviors foo="foo"></nested-behaviors>
|
||||
</template>
|
||||
</test-fixture>
|
||||
|
||||
@@ -554,7 +554,13 @@ suite('nested-behaviors element', function() {
|
||||
});
|
||||
|
||||
test('nested-behavior dedups', function() {
|
||||
assert.equal(el.behaviors.length, 4);
|
||||
assert.equal(el.behaviors.length, 6);
|
||||
});
|
||||
|
||||
test('nested-behavior lifecycle', function() {
|
||||
assert.equal(el._calledCreated, 2, 'created call count wrong');
|
||||
assert.equal(el._calledAttached, 2, 'attached call count wrong');
|
||||
assert.equal(el._calledAttributeChanged, 1, 'attributeChanged call count wrong');
|
||||
});
|
||||
|
||||
test('nested-behavior overrides ordering', function() {
|
||||
|
||||
Reference in New Issue
Block a user