我正在使用Teaspoon-Jasmine,并创建了一个夹具来测试我的Pagy分页导航链接。 我从视图复制了输出HTML,但是我的装置似乎在测试过程中出现以下错误,但是当在没有固定装置的实际页面上运行时,一切正常。我认为创建夹具的方式存在问题。
有人知道为什么初始化解析器无法正确解析json吗?
var custom_html =
`<div id='custom-pagination'>
<nav id="pagy-d132b15ba09f3e4f847de0a869486f19c77e4320" class="pagy-bootstrap-nav-js pagination" role="navigation" aria-label="pager">
</nav>
<script type="application/json" class="pagy-json">["nav","pagy-d132b15ba09f3e4f847de0a869486f19c77e4320",{"before":"\u003cul class=\"pagination\"\u003e\u003cli class=\"page-item prev disabled\"\u003e\u003ca href=\"#\" class=\"page-link\"\u003e\u0026lsaquo;\u0026nbsp;Prev\u003c/a\u003e\u003c/li\u003e","link":"\u003cli class=\"page-item\"\u003e\u003ca href=\"__pagy_page__\" class=\"page-link\" \u003e__pagy_page__\u003c/a\u003e\u003c/li\u003e","active":"\u003cli class=\"page-item active\"\u003e\u003ca href=\"__pagy_page__\" class=\"page-link\" \u003e__pagy_page__\u003c/a\u003e\u003c/li\u003e","gap":"\u003cli class=\"page-item gap disabled\"\u003e\u003ca href=\"#\" class=\"page-link\"\u003e\u0026hellip;\u003c/a\u003e\u003c/li\u003e","after":"\u003cli class=\"page-item next\"\u003e\u003ca href=\"2\" class=\"page-link\" rel=\"next\" aria-label=\"next\"\u003eNext\u0026nbsp;\u0026rsaquo;\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e"},{"0":["1",2,3]},null]</script>
</div>
` ;
fixture.set(custom_html);
SyntaxError:JSON解析错误:预期中的“}” http://localhost:3000/assets/pagy.self-9549c0030c0d4b8edb86c4946359bd81e7b71259f6f34f7c09f14e41a264cbe6.js?body=1?body=1 (第9行)
describe("addOnClick()", function(){
beforeEach(function(){
fixture.set(custom_html);
console.log(fixture.el);
PagyCustom = new Helpers.Pagy.SearchForm("#custom-pagination");
PagyCustom.init();
})
});
Pagy.init = function(arg){
var target = arg instanceof Event || arg === undefined ? document : arg,
jsonTags = target.getElementsByClassName('pagy-json');
for (var i = 0, len = jsonTags.length; i < len; i++) {
var args = JSON.parse(jsonTags[i].innerHTML);
Pagy[args.shift()].apply(null, args);
}
};