module.exports = function(){ //github信息 var $star = $('.J_CountStar'); if($star.length){ var user = $star.attr('data-user'); var repo = $star.attr('data-repo'); var key = user+':'+repo; if(sessionStorage){ var starCount = sessionStorage.getItem(key); if(starCount){ $star.all('span').html(starCount); $star.data('count',true); } } if(!$star.data('count')){ io.jsonp('https://api.github.com/repos/'+user+'/'+repo).then(function(result){ var data = result[0].data; var stargazers_count = data.stargazers_count; $star.all('span').html(stargazers_count); if(sessionStorage){ sessionStorage.setItem(key,stargazers_count); } }) } } //书籍信息 var $view = $('.J_CountView'); if($view.length){ var api = $view.attr('data-api'); if(sessionStorage){ var viewCount = sessionStorage.getItem(api); if(viewCount){ $view.all('span').html(viewCount); $view.data('count',true); } } if(!$view.data('count')){ io.jsonp(api).then(function(result){ var data = result[0]; if(data.success){ data = data.result; $view.all('span').html(data.view); if(sessionStorage){ sessionStorage.setItem(api,data.view); } } }) } } };
it('return value', function () { var xhr = io.post('/tests/browser/data/interface.jss'); expect('abort' in xhr).to.be(true); // 注:jQuery 里 不跨域时 jsonp 返回 xhr. 跨域时 返回 void xhr = io.jsonp('/tests/browser/data/interface.jss'); expect('abort' in xhr).to.be(true); });
runs(function () { io.jsonp('/kissy/src/io/-/tests/data/interface.jss', function (data) { ok = true; expect(typeof data).toBe('object'); }); });
it('jsonp without params', function (done) { io.jsonp('/tests/browser/data/interface.jss', function (data) { ok = true; expect(typeof data).to.be('object'); done(); }); });
it('return value', function () { var xhr = io.post('/kissy/src/io/-/tests/data/interface.jss'); expect('abort' in xhr).toBe(true); // 注:jQuery 里 不跨域时 jsonp 返回 xhr. 跨域时 返回 void xhr = io.jsonp('/kissy/src/io/-/tests/data/interface.jss'); expect('abort' in xhr).toBe(true); });
it('jsonp with params', function (done) { io.jsonp('/tests/browser/data/interface.jss?sleep=0', { myParam: 'taobao' }, function (data) { expect(typeof data).to.be('object'); expect(data).not.to.be(undefined); expect(data.myParam).to.be('taobao'); done(); }); });
$avatar.each(function(avatar) { var name = avatar.attr('data-name'); io.jsonp('https://api.github.com/users/'+name).then(function(result){ var data = result[0].data; S.log(data); if(data){ var url = data.avatar_url +'&s=100'; avatar.attr('src',url); } }) });
it("can ignore protocol", function (done) { var url = location.hostname; url += ':' + window.SERVER_CONFIG.ports[1]; io.jsonp('//' + url + '/tests/browser/data/interface.jss', { myParam: 'taobao' }, function (data) { expect(typeof data).to.be('object'); expect(data).not.to.be(undefined); expect(data.myParam).to.be('taobao'); done(); }); });
it('jsonp with params', function () { var ok = 0; io.jsonp('/kissy/src/io/-/tests/data/interface.jss?sleep=0', { myParam: 'taobao' }, function (data) { expect(typeof data).toBe('object'); expect(data).not.toBe(undefined); expect(data.myParam).toBe('taobao'); ok = 1; }); waitsFor(function () { return ok; }); });
function append(){ io.jsonp(api,{start:start}).then(function(result){ var data = result[0]; if(data.success){ var html = new Xtpl(view).render({historys:data.result}); $wapper.append(html); start += limit; if(data.result.length< limit){ $more.hide(); }else{ $more.css('display','block'); } } }); }
it("should jsonp with array arguments", function () { var re = false, data; io.jsonp("/kissy/src/io/tests/data/jsonp-array.jss", function (d) { re = true; data = d; }); waitsFor(function () { return re; }); runs(function () { expect(data.join(",")).toBe([1, 2].join(",")); }); });
it("can ignore protocol", function () { var ok = 0; var url = location.hostname; if (url !== 'dev.kissyui.com') { url += ':' + window.SERVER_CONFIG.ports[1]; } io.jsonp('//' + url + '/kissy/src/io/-/tests/data/interface.jss', { myParam: 'taobao' }, function (data) { expect(typeof data).toBe('object'); expect(data).not.toBe(undefined); expect(data.myParam).toBe('taobao'); ok = 1; }); waitsFor(function () { return ok; }, 1000000); });
it("should jsonp with array arguments", function (done) { io.jsonp("/tests/browser/data/jsonp-array.jss", function (d) { expect(d.join(",")).to.be([1, 2].join(",")); done(); }); });