ããã«ã¡ã¯ãã¿ããªã
ç§ã¯karma-sinon
ã䜿çšããŠãããããã©ã«ãã§åžžã«Sinonã®ææ°ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŠããŸãã ããŒãžã§ã³1.17.4ã¯ç§ã«ãšã£ãŠãããå£ããããã§ãïŒ
this.server.requests[0].respond(500, { 'Content-Type' : 'application/json' }, JSON.stringify({}));
AjaxåŒã³åºãã§ãšã©ãŒãã³ãã©ãŒãåŒã³åºããªãã äœããã®çç±ã§ãåé¡ã®ãããã°ã«åœ¹ç«ã€ãã®ããŒãžã§ã³ã®ã¿ã°ãGithubã§èŠã€ããããšããã§ããŸããã åé¿çãšããŠã1.17.3ã«ããŠã³ã°ã¬ãŒãããå®å šã®ããã«ãããžã§ã¯ãã§ã·ã¥ãªã³ã¯ã©ãããå®è¡ããŸããã
äœãèµ·ãããšæããŸãããïŒ
ããªã¬ãŒãããAjaxãšã©ãŒã
å®éã«äœãèµ·ããã
Ajaxãšã©ãŒãã³ãã©ãŒãããªã¬ãŒããŸããã
åçŸããæ¹æ³
this.server = sinon.fakeServer.create();
this.server.requests[0].respond(500, { 'Content-Type' : 'application/json' }, JSON.stringify({}));
ããã¯1.17.4ã§çºçããŸããã1.17.3ã§ã¯çºçããªãããšã確èªã§ããŸãã ç§ã¯ã«ã«ãã·ãã³ãšåæ§ã®èšå®ãããŠããŸãã
ç§ã®æšæž¬ã§ã¯ãåé¡ã¯ãã®ã³ãããã«ãããŸãhttps://github.com/sinonjs/sinon/commit/2cfbacd5cea5b63c014076d3a65b6642b2200793
ã¿ã°1.17.4
ã¯npmã¬ãžã¹ããªã«ããã·ã¥ãããŸãããããã®ãªããžããªã§ãã®ã¿ã°ã®çè·¡ã¯èŠã€ãããŸããã§ããã äœãèµ·ãã£ãïŒ
ç§ã®æšæž¬ã§ã¯ãã¿ã°ã¯ãŸã äœæãããŠããŸããã 3æéåã«ãªãªãŒã¹ãããã ãã§ã
@mbarlockãããããããâããã§ããGitHubã®ã¿ã°ãæåã«ãªãªãŒã¹ãããæ¹ããããšæããŸãã å°ãªããšããPRãä¿®æ£ãããã®ã調ã¹ãŠæ¯æŽããŸãã
ç§ã®æªãã git push --tags
å¿ããŸããã ãã°ã«é¢ããæ
å ±ãããããšãã
commit 2cfbacdãåå ã§ãmozilla / loopïŒ400ã®ãã¹ãã確å®ã«å€±æããããšã確èªããŸããã
ïŒ1031ã®ããããããŒã«ã«ã«é©çšãããšããã¹ããä¿®æ£ãããŸãã
1.17.4ãæ¢åã®åäœãå€æŽããå Žåãããã¯æ°ããã¡ãžã£ãŒãªãªãŒã¹ã®äžéšã§ããã¹ãã§ã¯ãããŸãããïŒ çŸåšã1.17.3ãšã®äºææ§ããããšèŠãªãããŠãããããsinonäŸåé¢ä¿ãã^ 1.17.3ããšããŠæå®ããpackage.jsonã¯1.17.4ãååŸãã以åã¯æ©èœããŠãããã¹ãã«å€±æããå¯èœæ§ããããŸãã
1.17.3ã®åäœã¯ãªã°ã¬ãã·ã§ã³ã§ãããïŒ ãæ°è»œã«èšæ£ããŠãã ããã ãã®å Žåã¯ãä¿®æ£ããŠãå£ããç¶æ ã«ç¶æããªãã§ãã ããã
æŽæ°ïŒããã¯å®éã®ãã°ã®ããã§ãã
ããã httpsïŒ //github.com/sinonjs/sinon/pull/861@fearphageã§ããªãã®å ã®ãã£ã¹ã«ãã·ã§ã³ãèªãã§ããŸãã
ãããèãããšãç§ã®åŽã§è¡ãã¹ãæ£ããããšã¯ãxhr.onerrorã§ã¯ãªãxhr.onabortã«äŸåããããã«ãã¹ããå€æŽããããšã§ããããã«èŠããŸãã ããŒã«ã«ã§å®è¡ãããåäœãã¹ãã¯ãnode_modulesãã£ã¬ã¯ããªã«ååšããå Žåããã¹ãŠã®äŸåé¢ä¿ãèªåçã«åããŠã³ããŒãããªãããããã®å€æŽã«ãã£ãŠãã°ããæ··ä¹±ãçãããšæãããŸãããã®ãããæ°ããäŸåé¢ä¿ãè¿œå ãããšããã®ããšãç¥ãããšãã§ããŸãã package.jsonïŒTravis CIã¯ãã¹ãçšã«npmã€ã³ã¹ããŒã«ãæåããè¡ããããããã«æ°ä»ããŸããïŒã
æ£ããè¡åæ¹éãäœã§ãããããããŸããã ãã¶ãã1.17.4ã®å€æŽãã°ã«ããonerrorãã«äŸåããäžéšã®ãã¹ãã§ãonabortãã䜿çšããããã«æå®ããã¡ã¢ãè¿œå ããŸããïŒ ïŒãšããã§ããã®ã³ã¡ã³ãã®æç¹ã§ãhttpïŒ//sinonjs.org/Changelog.txtã«ã¯ãŸã 1.17.4ãå«ãŸããŠããŸããïŒã
ç§ã¯ãããåãæ»ããŸãã ãã¹ãã®ä¿®æ£ã調ã¹ããšããã httpsïŒ//github.com/sinonjs/sinon/commit/2cfbacd5cea5b63c014076d3a65b6642b2200793ã«æ°ãããã°ãå°å ¥ãããŠããããšã
æ¬ èœããŠãããšã©ãŒeventListenerããŒãè¿œå ããããã«ãPRhttps ïŒ//github.com/sinonjs/sinon/pull/1042ãäœæããŸããã ãã®å€æŽããªããšãæ£åœãªãµãŒããŒãšã©ãŒå¿çïŒ500ãªã©ïŒã§åŒã³åºãããŠããonerrorãã³ãã©ãŒé¢æ°ããã§ãã¯ããåäœãã¹ãã¯å€±æããŸãã @fearphage @ fatso83 ãããªãã®èããæããŠãã ãã
ãã®ã¹ã¬ãããæåã«èªãã ãšãã«ã httpsïŒ//github.com/sinonjs/sinon/pull/1041ã衚瀺ãããŸããã§ãã
OKãïŒ1041ïŒïŒ1042ãšåãïŒãã«ããŒãžãããŸããã
@overcaffeinatedããã¥ã¡ã³ãã®ãã«ãã¹ã¯ãªããã®å€±æãåå ã§å€æŽãã°ãæ¬ èœããŠãããããããã¥ã¡ã³ããæŽæ°ã§ããŸããã§ããïŒhttps://github.com/sinonjs/sinon/issues/991#issuecomment-216651347ãåç §ïŒã ç³ãèš³ãããŸããã ããŸãããã°ããããåã³æ©èœãããŠãããã«å€æŽã«ã€ããŠã®ã¡ã¢ãè¿œå ããããšãã§ããŸãã
ãã®ãããªãã®ã¯ã1.xãã©ã³ãã«ããŸãå€ãã®ãšãã«ã®ãŒãæè³ããªãããã«ã2.0ããã¢ããåºããããšæ¬åœã«æã£ãŠããŸãã
1.7.4ã«ãããããã€ãã®ãã¹ãã倱æããŸããã 1.7.5ã§ããã解決ã§ãããšæããŸããïŒ
æ®å¿µãªãããïŒ1031ã¯ãŸã ä¿®æ£ãããŠããªãããããã¹ãŠã®äººã«ä¿®æ£ãããããã§ã¯ãããŸããã ç§ã¯ä»æ©ãããå©ããããšããŸãã
æ å ±ãããããšãã @ Standard8 ïŒ
XHRä»æ§ã®è§£éã«åºã¥ããŠããããä¿®æ£ïŒå£ããŸãããïŒïŒããŸããã ä»åã¯ãããæ£ããããšã確èªããããã«ãããæ¯èŒãããã©ãŠã¶ã®å®è£ ãããã°ããã®ã«ãšæããŸãã ã·ãã³ã®åœã®xhrå®è£ ãå®éãšæ¯èŒããŠãã€ãã³ããæ£ããé åºã§çºçããæ£ããã€ãã³ããçºçããããšã確èªããããã®ãã¹ãããããå¿ èŠã§ãã
ãã€ã«ãŒã¯ããŸããïŒ
@fearphageãã®ãããªãã¹ãããããã©ã®ããã«èŠãããã«ã€ããŠäœãèãã¯ãããŸããïŒ äžé£ã®æåãã¹ãïŒ éåžžã®ãã©ãŠã¶ã§ããããã¯ãŒã¯ããŠã³ããã·ãã¥ã¬ãŒãããã®ã¯é£ããã§ãã ã ããç§ã¯ãããã©ã®ããã«è¡ãããã¹ããæ¬åœã«ããããŸããã
browserscope.orgã®ãããªãã®ããå°ãªããšãçµæãä¿åããããã®ããã¯ãšã³ããšããŠäœ¿çšã§ãããšæããŸãã
XHRã®http://www.acidtests.org/ãæ³åããŠã¿ãŠ
圹ç«ã€ãªã¯ãšã¹ãããŒã¹ã®ãŠãŒãã£ãªãã£ã¯æ¬¡ã®ãšããã§ãã
ããã¯çŽ æŽããããªãœãŒã¹ã®ããã§ãïŒ ãšããã§ãBrowserscopeã¯ããŠã³ããŠããŸãã
@fearphage www.browserscope.orgã«äœããåã蟌ãæ¹æ³ã
http://people.mozilla.org/~mbanner2/sinonXHRBrowserTest.html
FirefoxãChromeãIEãSafariã®ææ°ããŒãžã§ã³ãããŒãããŸãã
@ Standard8ããããšãããããŸãã ç§ã¯ããã䜿çšããŠãsinonã®åœã®ãµãŒããŒå®è£ ãæ¯èŒããŠããŸããã ããããšãããããŸããã
@fearphage @ fatso83 ããã®åé¡ã®çŸåšã®ç¶æ³ã®æŠèŠãæããŠãã ããã
ç°¡åã«èª¬æãããšãv1.17.3ã®æ©èœãå ã«æ»ããv1.17.5ã®ãªãªãŒã¹ãæäŸããããšãæ€èšããå¿ èŠãããããã§ããå€ãæ©èœãå£ããŠãããšããŠããããã¯APIã®å€æŽãå£ããŠããããšã瀺ããŠããããã2.0ãªãªãŒã¹ã«çµã¿èŸŒãå¿ èŠããããŸããïŒ
@fearphageã¯ããã«ã€ããŠã®è©³çŽ°ã«è©³ããããmaster
ãã®ãé ã«æ±ããããšãããšãç§ã¯å§åããç¶ããŸãã ã»ãšãã©ã®åé¡ã¯master
ã§ä¿®æ£ããããšæããŸãããv1.17ãã©ã³ãïŒïŒ1031ãïŒ1041 AFAIKãªã©ã®ä¿®æ£ã¯ãããŸããïŒã«ã¯åœãŠã¯ãŸããªããšæããŸãã ç§ã¯ïŒããããïŒééã£ãŠãããããããŸããã
ç§ã¯ããªããèšã£ãããã«æãå®çšçãªè§£æ±ºçã¯ããããããšãããããªããšæããŸãïŒ
master
ãã移è¡ã¬ã€ãã§å€æŽå
容ãææžåããã ãã§ãïŒïŒ1090ãåç
§ïŒãç§ã¯ããã§èµ·ãã£ãŠããããšã«è¿œãã€ããŠãããšããã§ãã å ã«æ»ããããä¿®æ£ããæ¹ãè¯ãã§ããããïŒ
æ倧ã®å€åã¯ã error
/ onerror
ã解éããããã©ããã§ãããïŒ
@fearphageãã£ã€ã ãããŠãããŠããããšãïŒ ç§ã¯ããªãé ãã®ã§ããã¹ãŠã®ä¿®æ£ãv1.17ãã©ã³ãã«é©çšããããšãã«ãæ¢åã®ãšã³ããŠãŒã¶ãŒã®èŠ³ç¹ããã©ã®APIã®å€æŽãæããã«ãªããã«ã€ããŠ5è¡ã®èŠçŽãäœæããŠããã ããŸããïŒ
æ°ããã¡ãžã£ãŒããŒãžã§ã³ã§ã¯å€§ããªå€æŽã¯åé¡ãããŸãããã1.xã§å€ãã®ãã¹ãã«éåãå§ãããã®ã¯ããããä¿çã«ãªã£ãŠããã¯ãã§ããã master
é©çšãããä¿®æ£ããããã©ããã¯ããããŸãã
ç§ãç解ããŠããéããå£ããŠããã®ã¯200以å€ã®ãªã¯ãšã¹ããerror
ã€ãã³ããããªã¬ãŒããããšã ãã§ãã ããã«ã¯ãã£ãšãããŸããïŒ å¿
èŠãªã®ã¯ãã¹ã¿ãŒããã®ä¿®æ£ã ãã ãšæããŸãã
GithubãšNPMãããv1.7.4
ãååŸããã®ã¯è¯ãèãã®ããã§ãã ã»ãšãã©ã®äººã¯ãããå
ã«æ»ããŠããããã¢ããã°ã¬ãŒãã§ããŸããã
ããããã¹ãŠå€æŽãããå Žåã¯ã master
å
¥ã£ãä¿®æ£ãå«ããŠã1.17.5ãªãªãŒã¹ãã§ããã ãæ©ãåºè·ããããšããå§ãããŸãã ã§ããŸããïŒ ç§ã¯äŒæã§åºãããŸãïŒ Date.now()
ïŒã
NPMããŒãžã§ã³ã®åé€ã¯ããŸããè¯ãããšã¯èŠãªãããªãããã1.17.4ã«å¯ŸããŠnpm deprecate
ã³ãã³ããçºè¡ããŸããã äžéšã®äººã
ãã¿ã°ã«äŸåããŠããå Žåã¯ãã¿ã°ãåé€ããããšã«ã€ããŠãããããŸããã ãã ããããã¯å¥ã®è°è«ã§ãããä¿®æ£ã®åºè·ã«çŠç¹ãåœãŠãããšããå§ãããŸãã
èšç»ã®ããã ã ç§ã¯ä»é±æ«ã«ãããåŸãããšãã§ããã¯ãã§ãã
誰ããïŒ1102ãæ€èšãããå Žåã¯ããã®åé¡ã®ä¿®æ£æ¡ãææ¡ããŸãã
誰ãããããå¿ èŠãšãããªããç§ã¯@ Standard8ã®ãã¹ããã¡ã€ã«ãå°ãä¿®æ£ããŸããããããŠããã¯ç§ãåœã®xhrããã©ãŠã¶ã®æ¯ãèãã«è¿ã¥ããããã«äœ¿ã£ãŠãããã®ã§ãã
https://dl.dropboxusercontent.com/u/2400/tc/sinon/xhr-browser-test.htm
@ Standard8ããããšãããããŸããïŒ ïŒææïŒ
ä»æ§ã«ãããšãonerrorã€ãã³ãã¯ãDNSã¿ã€ã ã¢ãŠããå¿çããªããµãŒããŒãªã©ã®ãããã¯ãŒã¯ã¬ãã«ã®ã€ãã³ããçºçããå Žåã«ã®ã¿ããªã¬ãŒãããŸãã 500ãŸãã¯404ã¯éåžžã®HTTPå¿çã§ããããšã©ãŒãçºçãããã©ãããå€æããã®ã¯ã¢ããªã±ãŒã·ã§ã³æ¬¡ç¬¬ã§ãã https://www.w3.org/TR/XMLHttpRequest/#event -xhr-error
ã¹ããã¯ã¯ãã€ãã®ããã«ç°¡æœãããŸãã 2xx以å€ã®å¿çã¯ãjQueryã«ãã£ãŠãšã©ãŒãšèŠãªãããŸãããã®ãããå€ãã®äººãXMLHttpRequestã®åäœã«æ··ä¹±ããŠããŸãã
@ nyk0r ïŒããã¯Phredã®ä¿®æ£ãè¡ãããšãšã»ãšãã©åãã§ã:)
@gil ïŒããã¯ãïŒ1102ãïŒ1108ãããã³ïŒ1109ã§ã®@fearphageã®åªããäœæ¥ã«ãã£ãŠä¿®æ£ãããã¯ãã§ãã ãã¹ãã±ãŒã¹ãäžå®å šã§ããããïŒãã§ãã¯/æ€èšŒãªãïŒãçŸåšã®v1.17ãã©ã³ãã®ã³ãŒãã«ãã£ãŠå®éã«ä¿®æ£ãããŠããããšã確èªããŸããïŒ ãã®å Žåãæ°ããããããªãªãŒã¹ãã§ããã ãæ©ãåºè·ã§ããŸãã
ãããã¯ã @ wlepinskiãŸãã¯@mbarlockã¯ããããv1.17
ãã©ã³ãã§ä¿®æ£ãããããšã確èªã§ããŸããïŒ package.json
ã®sinonäŸåé¢ä¿ã次ã®ããã«å€æŽããã ãã§ãïŒ sinon#v1.17
ã¯ãGitHubããçŽæ¥é©åãªãã©ã³ãã䜿çšããŸãã
OKã次ã®ãã¹ããå®è¡ããŠä¿®æ£ãããããšã確èªããŸããã
"call load handler on non-2xx statuses" : function(){
var stub = sinon.stub();
this.xhr.addEventListener("load", stub);
this.xhr.open("GET", "/");
this.xhr.send();
this.xhr.respond(500, { 'Content-Type' : 'application/json' }, JSON.stringify({}));
assert(stub.called);
}
ããã¯1.17.4ã§ã¯æ©èœããŸããã§ããããææ°ã®ä¿®æ£ã§ã¯æ©èœããŸãã
@fearphageã¯ãã§ã«bf709a7fïŒ1797è¡ç®ïŒã§ãã®ãã¹ããã«ããŒããŠããããšã
ä¿®æ£ããããšããã«çµäºããŸãã
æ®å¿µãªãããç§ã¯ãããã®ãããžã§ã¯ãã«ã¢ã¯ã»ã¹ããŠãã¹ãããããšãã§ããŸãããçŸåšãæ°ããäŒç€Ÿã§åããŠããŸãã ãã ããã©ã€ãã©ãªãæŽæ°ãããå Žåã«åããŠããç¥ããããŸãã ä¿®æ£ããŠãããŠããããšãïŒ
æãåèã«ãªãã³ã¡ã³ã
èšç»ã®ããã ã ç§ã¯ä»é±æ«ã«ãããåŸãããšãã§ããã¯ãã§ãã