В полимере 1. *, я пишу тест.У моего оригинального элемента есть готовый обработчик, который действует на dom-change.
WCT не предоставляет возможности заглушить что-либо в готовом обработчике.Это также не позволяет мне заглушить данные в свойстве хоста в то время, когда точная отметка элемента помечена, что обработчик готовности мгновенно использует.
Как только элемент отмечен в тесте, все в обработчике готовности вызывается.
Чтобы обойти это, я пытаюсь подавить событие dom change, но оно неэффективно.
Какие-нибудь идеи, как я могу остановить готовый обработчик вызывать в тесте?
Оригинальный код:
_setAnswers: function(answers) {
var radioGroups =
Polymer.dom(this.root).querySelectorAll('paper-radio-group');
var radioGroupsArray = Array.prototype.slice.call(radioGroups);
answers.forEach(this._setAnswer.bind(this, radioGroupsArray));
},
_setRadioDefaults: function() {
this._setAnswers(this.answers.answers);
this._setParentFieldAnswer(this.answers.answers[0].value);
},
ready: function() {
this.$$('#fields').addEventListener('dom-change',
this._setRadioDefaults.bind(this), {once: true});
},
оригинальный тест:
<test-fixture id="sp-non-cash-benefits-form-edit">
<template>
<h2>sp non cash benefits edit form</h2>
<sp-non-cash-benefits-form-edit></sp-non-cash-benefits-form-edit>
</template>
</test-fixture>
тест, в котором изменен dom отключен
'sp-static-forms/sp-non-cash-benefits/sp-non-cash-benefits-form-edit.html?dom=shady&suppressDomChange=true',