在WCT测试中禁用就绪事件或dom更改事件?

时间:2018-05-31 22:39:04

标签: polymer polymer-1.0 web-component web-component-tester wct

在聚合物1. *中,我正在写一个测试。我的原始元素有一个就绪处理程序,它可以作用于dom-change。

WCT没有提供在ready处理程序中存根任何东西的方法。它也不允许我在元素标记的确切时间在主机属性上存根数据,就绪处理程序立即使用它。

在测试中标记元素后,就绪处理程序中的任何内容都会调用。

要解决这个问题,我正在尝试压制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',

0 个答案:

没有答案