javascript - sinon 假 xhr 服务器和 polymer appLocalizeBehavior 语言环境

标签 javascript json polymer sinon iron-ajax

我正在使用 Polymer 开发一个 Web 前端。我有一个使用其他 Web 组件的 Web 组件,例如纸张输入或一些自定义 Web 组件。出于演示目的,我使用 sinon fake xhr 服务器来模拟一些 elasticsearch 请求,这非常适合测试。 在 Web 组件中,我使用 polymer appLocalizeBehavior 从 json 文件加载一些语言环境。 AppLocalizeBehavior 使用iron-request 通过 url 加载文件。我将 sinon 配置为过滤并排除包括“locales.json”在内的所有 url,如下所示:

this._server = sinon.fakeServer.create();
this._server.autoRespond = true;
this._server.xhr.useFilters = true;
this._server.xhr.addFilter(function(method, url) {
    return url.includes("locales.json");
});

如果我禁用 xhr fake 服务器,所有组件的语言环境都会正确加载。但如果我启用 sinon ,似乎正在加载语言环境,但 sinon 不知何故以错误的编码返回它们。

有人面临类似的问题吗?

最佳答案

有一个正在等待解决此问题的拉取请求:https://github.com/sinonjs/nise/pull/45

如果您想在本地解决该问题,则必须在 Bower_components 文件夹中的 sinon.js 文件中替换以下代码行:

copyAttrs(["responseText", "response"]);

这个:

copyAttrs(["responseText", "response", "responseType"]);

关于javascript - sinon 假 xhr 服务器和 polymer appLocalizeBehavior 语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48075333/

相关文章:

jquery读取嵌套的json

java - 如何仅将类的某些属性作为 JSON 返回

jquery - 在一天中的某些时间自动用 json 更新 html

javascript - 切换自定义元素 Polymer 中的纸张对话框

polymer - 纸张对话框中的自动对焦纸张输入只能工作一次?

javascript - 图像加载检查并不总是有效

.jspx 中的 Javascript

javascript - Javascript 中的递归函数返回未定义

带有纸张输入 float 标签动画的 polymer 纸对话框

Javascript刷新另一个页面