From eb834cc4a90a812ffc5e6f0f5e008488127a39ec Mon Sep 17 00:00:00 2001 From: rnet Date: Wed, 13 Dec 2023 14:47:21 +0800 Subject: [PATCH] feat: mock document.all and test --- package.json | 6 +++--- test/documentAll-addon.test.js | 23 +++++++++++++++++++++++ utils/getDocumentAll.node | Bin 0 -> 54167 bytes 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 test/documentAll-addon.test.js create mode 100755 utils/getDocumentAll.node diff --git a/package.json b/package.json index aa157ab..d21dbad 100644 --- a/package.json +++ b/package.json @@ -7,8 +7,8 @@ "test": "test" }, "scripts": { - "test": "jest", - "test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand" + "test": "jest ./test/", + "test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand ./test/" }, "logLevel": "warn", "author": "rnet", @@ -23,7 +23,7 @@ "request-promise": "^4.2.6", "yargs": "^17.7.2", "canvas": "^2.11.2", - "jsdom": "^22.1.0", + "jsdom": "^22.1.0" }, "jest": { "moduleNameMapper": { diff --git a/test/documentAll-addon.test.js b/test/documentAll-addon.test.js new file mode 100644 index 0000000..1bb3dd1 --- /dev/null +++ b/test/documentAll-addon.test.js @@ -0,0 +1,23 @@ +const getDocumentAll = require('@utils/getDocumentAll').getDocumentAll; + +describe('模拟document.all检测', () => { + const da = getDocumentAll({ length: 1 }); + console.log( + '运行:getDocumentAll({ length: 1 }),返回:', da, + '\n运行:getDocumentAll({ length: 1 }) == undefined,返回:', da == undefined, + '\n运行:getDocumentAll({ length: 1 })(),返回:', da(), + '\n运行:typeof getDocumentAll({ length: 1 }),返回:', typeof da, + ); + test('getDocumentAll({ length: 1 }).length === 1', () => { + expect(da.length).toBe(1); + }); + test('getDocumentAll({ length: 1 }) == undefined', () => { + expect(da == undefined).toBe(true); + }); + test('typeof getDocumentAll({ length: 1 })', () => { + expect(typeof da).toBe('undefined'); + }); + test('getDocumentAll({ length: 1 })() === null', () => { + expect(da()).toBe(null); + }); +}); diff --git a/utils/getDocumentAll.node b/utils/getDocumentAll.node new file mode 100755 index 0000000000000000000000000000000000000000..92ce4f1a00c87097378f64f36c5cc6fa0aea1761 GIT binary patch literal 54167 zcmeI5eQ;FO6~OQA5=bga5&}exW)Vdru$v9}f)U&$StJrdAd95-P=!I(|(J)+vnGG4+p1A|kb5Ka`qQMVxlVQ0vE3rw!H_tD`o46iLRAp7Y*)$=kPy z5U?GmbMDODd(OS*oOkZ;-hH`Y=8{*2J~};}F&l%D4s{09<}}83Vh5Cqp}q;Df)Mc6 z2ehu_4{x%{xDFwhQPDyWRB5YJ3BP9FL{s7mBM&L~i2t)_C__ zuMb?y#|@pU$+4kR5EAk&5jiYG-tZqf>7xT_=JkJ zHFf&xdbz;_tpkR!V(d()g3uH*E$f8waBpeFtNU|}O$A}5p+GALEis&AL=_qnawsKU zx>q+g;-QZD7$w6Hc$+*=(_jaey}Y&P=6RxpAVftW-rf?7MTJ&X;dyaiY&vv#kKSmy zIj?EZpJR+cD+pmx6~{XCbr{q4bm+3No~WDSjaljv&J%3~p}MMOwZF1TUrok(^>OCq zE!TH*==jCgzWjXn3dp<=OQFH%9F>EIAKSQ0ynV-Kfi*AId|Cv3 zPN@1E;Hi!aHCbb2`?dqWU${?=g5P(XAI8GmneT0QP1%?`5m(&NNDymi!2*}Z6>bNS zp?x`2!`>0TI>o-OJ+4YEt`*z`qq6x>@wxke3+~kdt|KQbmqEqxhU1KtX^CJj6(T?c zhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&I zhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>@u|1W`b<{ivP^9~l=ZvVx%d~8=i);$ju z*r4x1HrVSBULR_Dru&p&>pr>B-u?MnNB8iyDc!>k+pf*qMd!r_Z`Q@Jr6+t5cD@_{d#`b{}0C{J-c8mcN)vWIGA(3gKZ8C zj|7}>J#Q=MMh*wnp zYI<=WuII^(N1)#Z>uB#DzJqD&SOYO}t-cQ}uAw-Pyj~7iGq|q1{wk zpP0$aYr7t7v#WSKr-?7z=hN(U<}>+P%mTKvd*JHwgZX((>9VoF@U|6@pAYhWUdwkb zj2Ud51QmoliX^OYq?wtS1n;Jv@4=0mw;T! zw7aCaaMu&}Cf+N}b%XpNmluM(94>%jKdej6om_@Hm^qbjw-Wp3fh=*^3G%&MhI^Pf z2e^C*$RBfg4#*z3M2fzUOiq}~Ss?dt`67@%;WFGj&B=p%v1kwXJ#&_F8Ta^ixD26l zehjiFLtoQ@8=mXNbsTUoZB3gbwK5h;v`Dh*i$3Sn z;5((=am9PJSj;UvgW=uzVra2G0r%dqpbV+PeO4RXJJoN?V!u(kxSgR>O9Y4j5g-CY zfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2oM1xKm>>Y5g-CY zfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb{y2>kB|7=PFPVgC2+ z_wn`+Z+m(BC*Hov+jn_8z}qi*n+|_>9!m~yoxEMh+j8Dk^0t<@-{oyHZ}ljQ!T%4E zRQB@m-s_UO*+Gk6@+fIUfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3; zAOb{y2oM1xKm>>Y5g-CYfCvx)B0vO)01+SpM1Tko0U|&IhyW2F0z`la5CI}U1c(3; zAOb{y2oM1xKm@+o1hVF)ue*XZ%&b`NTZfrud&BL~un<=hK_M8C!;-?*wXsg7u;pGs zxVffiOSz|bZE%wmQUg*;YgAMvkEceurAm&gq8yU^HFZKsbu1)Ct3WENh{>w7RrUM* z7$be+80Bk3WwS570iLKrY%v&>{9Di`b3&h@;yOvK5Tj9Fd}TrosganxN|eJUG zxCB--t}2O;8dFwC&El3wOu?Kz#dVReB?l8VuJ;aV1s=3jJExu+-) z(>98~rB!X$7rQ*kplqcQYq>EISF7SRF||1&H|bX1QL9pYCwdBjps^s@u3430QVJ%u zN~~2<)b<*&MT&nV=~}D*VsM|(qo&TI;TqjkINAD1h1i5H4Jj_L!_WSybtM8uX&#GG zrz${A`+_3N4QgX~^6sr&9m2)K&7<3DYZt*Vt)pR#z3wRk2o(uMk!02QVr#Uw>ZYsV z?fi(wv>V*`G8S3v3$zAOsI-WF_j z`I>fPPaE%)$@o76IrL!;9(HMQl^lWPMQX+yvryn$8oqCJiv{*FnD@5Bd$}*+>~r+n zm@|#Bi)@T_Ez^IltVBJ7u{|BSzJcpqTnAGY#t&ZFU_5Ln&^~3+UjV(4*_gk&T|zT- zb-_p9Qq&k*FqN?@P5O4w@6?C1&)-^f+qC3yjCUner)I6kuQA2LaeUqYf8K2H$LAS3 zj-!7c3Q({?fAcu{_wxTACdB;>9qrM-A1W5Z-#m`~2H)M>-_Q;J>AL%Ms0*Pkg6e|mhFS>K1GNb1*BKAOL2fDUDbIPlo>GII z=ld!p;90!1(C6IGi4%E`e?pwV`oDBGoZxAxXRo9mTjQS!jacV;9-PoWHJfkPNswng z-Wkv|H16q-kB@)uvkXq+#Fy+j$+O-hoHuFTcKB}a2`rxU`ObLQIiKu!fUiE&q0xA! zxzYZVW1MB=%;&f94{j;Hd}7?BQ(U#DWb~XTh~aQdhC`$vXpXH)WDERGmikJqF5^c; zKXY%0OG@0W$dc-gN}?je0omOYQJWJ%H=ZRIX)zZ`TSfToR*Jh@+Epp8x`T;GH0*Y{ z+zfuTHT}lv3Wd%u?DLo%4lj1?tP+BedOm&; zW5*kuc4izgdG|z(cXUA8H!fT{_SV1+f84!QjBE^UU%vePM?c7$`&zcwS^B%b@7doM zpAoq8iQD!+RUbS0eq-;HH;y0QY+qZSHnRQD_FH%U^~k-e?q2xVnZ~Q1aa{iL(Og0`bC9jjmS=zGI+ zSJllPEJ}NP$C=`v?|9GsCw_H(*`5ab>lXwTXRUi>`spXjcUOhh{^-fQ4=lR**~`y2 z{+awQYl-iF