VimUnDoHcMt벩 C?IWĨ/V}_VZ5_VZ5_VZ.&var Clock = require('../src/index.js')5_V[.var assert = require("assert");5_V[/ , +var precedence = require('../src/index.js')5_V[./ , var precedence = require('../src/index.js')5_ V[ .describe('clock', function() {5_ VV[  < it('should return 0 when not initialized', function () { let clock = new Clock()) assert.equal(0, clock.elapsedTime); });? it('should return 1000 after one second', function (done) { let clock = new Clock() setTimeout(function() { clock.tick()c if (clock.elapsedTime < 950 || clock.elapsedTime > 1050) { throw new Error("time error"); } done() }, 1000) });5_ VV[ & describe('#deltaTime', function () {< it('should return 0 when not initialized', function () { let clock = new Clock()' assert.equal(0, clock.deltaTime); });; it('should return delta after delay', function (done) { let clock = new Clock()' assert.equal(0, clock.deltaTime); setTimeout(function() { clock.tick()[ if (clock.deltaTime < 8 || clock.deltaTime > 15) { throw new Error("time error"); } setTimeout(function() { clock.tick()^ if (clock.deltaTime < 18 || clock.deltaTime > 22) { throw new Error("time error"); } done() }, 20) }, 10) }); });5_  VV[  ( describe('#elapsedTime', function () {5_ VV[ 5_ VV[  5_  VV[   describe('#or', function () {5_ VV[   5_VV[ asset.5_VV[   5_VV[   5_  VV[! var or = 5_ VV[" var or = precedence5_ VV["5_ VV[#  var or = precedence.or5_ VV[% var and = precedence.or5_ VV[' var or = precedence.or5_  VV[( ,  var and = precedence.and5_ VV[) , var and = precedence.and5_ VV[+ var or = precedence.or5_ VV[, , or = precedence.or5_VV[, , or = precedence.or , and = precedence.and5_VV[-  5_ VV[- , or = precedence.or , and = precedence.and5_! VV[05_ "!VV[15_!#" VV[7  assert.equal()5_"$# VV[:  assert.equal(or())5_#%$ VV[B  assert.equal(or(0, 1, 2))5_$&% VV[E  5_%'& VV[H  assert.equal(or(0, 1, 2), 0)5_&(' VV[H  assert.equal(or(, 1, 2), 0)5_')( !VV[J # assert.equal(or(null, 1, 2), 0)5_(*) !VV[K  5_)+* VV[L& # assert.equal(or(null, 1, 2), 1)5_*,+   VV\   5_+.,   vV\'  console.log() 5_,/-.   vV\  console.log(or(0, 1, 2)) 5_.0/   vV\) * console.log(or(null, 1, 2)or(0, 1, 2))5_/10   vV\2  console.log(or(null, 1, 2))5_021  VV\35_132  VV\ assert.equal(or(0, 1, 2), 0)5_243  VV] assert.equal(or(0, 1), 0)5_354  VV]5 assert.equal(or(0, 1), 1)5_465  VV]# assert.equal(or(null, 1, 2), 1)5_576  VV]6( assert.equal(or(undefined, 1, 2), 1)5_687"  VV]$ assert.equal(and(null, 1, 2), 1)5_798"  VV]# assert.equal(and(null, 1, 2), )5_8:9'  VV] ) assert.equal(and(undefined, 1, 2), 1)5_9;:'  VV] =( assert.equal(and(undefined, 1, 2), )5_:<;  VV]5_;=<  VV]>- assert.equal(and(undefined, 1, 2), false)5_<C=  VV]Q% assert.equal(and(0, 1, 2), false)5_=DBCVV^. 5_CEDVV^0R console.log()5_DFEVV^9` console.log(or, and)5_EGF VV_ 5_FHG VV_ 5_GIH VV_  it()5_HKI VV_  it('')5_IMJK VV_  it('should consider 0') 5_KNLM VV_  it('should consider "0"')5_MON -VV_ . it('should consider "0" as a valid value')5_NPO 9VV_ : it('should consider "0" as a valid value', function())5_ORP ;VV_ = it('should consider "0" as a valid value', function() {})5_PSQR VV_  assert.equal(or(0, 1, 2), 0)5_RTS VV_  5_SUT VV_a  assert.equal(or(0, 1, 2), 0)5_TVU   VV_ 5_UWV   VV_  5_VXW   VV_ ; it('should consider "0" as a valid value', function() {5_WYX   VV_ : it('should consider "" as a valid value', function() {5_XZY $  VV_c > it('should consider "null" as a valid value', function() {5_Y[Z  VV_# assert.equal(or(null, 1, 2), 1)5_Z\[  VV_ 5_[]\  VV_" assert.equal(or(0, 1, 2), 0)5_\^]  VV_d # assert.equal(or(null, 1, 2), 1)5_]_^ VV_5_^`_ VV_5__a` VV_@ it('should consider "null" as a invalid value', function() {5_`ba VV_( assert.equal(or(undefined, 1, 2), 1)5_acb VV_5_bdc VV_( assert.equal(or(undefined, 1, 2), 1)5_ced VV_% assert.equal(or(null, 1, 2), 1)5_dfeVV`5_egfVV`5_fhgVV`!E it('should consider "undefined" as a invalid value', function() {5_gihVV`g!* assert.equal(or(undefined, 1, 2), 1)5_hjiVV` " !5_ikjVV` " it()5_jlkVV` " it('')5_kmlVV`" it('should consider ""')5_lnmVV`" it('should consider "0"')5_mon-VV`". it('should consider "0" as a valid value')5_npo9VV`": it('should consider "0" as a valid value', function())5_oqp;VV`"= it('should consider "0" as a valid value', function() {})5_prqVV` assert.equal(and(0, 1), 1)5_qsrVV`""5_rtsVV`i assert.equal(and(0, 1), 1)5_sutVV` #; it('should consider "0" as a valid value', function() {5_tvuVV`!#: it('should consider 0" as a valid value', function() {5_uwv VV`" #; it('should consider "0" as a valid value', function() {5_vxw VV`#n #: it('should consider 0" as a valid value', function() {5_wyxVV`'o#5_xzyVV`)$5_y{zVV`* %%5_z|{9VV`+!&9 it('should consider 0 as a valid value', function() {5_{}|"VV`,!"( assert.equal(and(null, 1, 2), false)5_|~} VV`,!& !&5_}~ VV`-!( assert.equal(and(null, 1, 2), false)5_~VV`. '9 it('should consider 0 as a valid value', function() {5_VV`. '8 it('should consider as a valid value', function() {5_ VV`2 '@ it('should consider "null" as a invalid value', function() {5_ VV`3 '@ it('should consider `null" as a invalid value', function() {5_VV`4'E it('should consider "undefined" as a invalid value', function() {5_"VV`5'E it('should consider `undefined" as a invalid value', function() {5_VV`7'A it('should consider "false" as a invalid value', function() {5_VV`8p'A it('should consider `false" as a invalid value', function() {5_VV`< '< it('should consider null as a valid value', function() {5_VV`<t ': it('should consider `` as a valid value', function() { '5_$!VV`Yy '> it('should consider `null` as a valid value', function() {5_!!VV`^!#'5_"!VV`_"&("#(5_#!VV`e"$+@ it('should consider `null` as a invalid value', function() {5_'!VV`i&'- assert.equal(and(undefined, 1, 2), false)5_$!VV`i#%*$%*5_$!VV`i#%- assert.equal(and(undefined, 1, 2), false)5_%!VV`j$%* assert.equal(and(null, 1, 2), false)5_%#%VV`k%'*5_&#%VV`l{%&5_'#%VV`n&'! assert.equal(and(0, 1, 2), 2)5_#%VV`o))5_$&VV`o! assert.equal(and(0, 1, 2), 2)5_'$&VV`&'5_&&$VV|&()5_'&$VV|'+*'(*5_(&$VV|')-E it('should consider `undefined` as a invalid value', function() {5_)&$VV|(*-/ assert.equal(and(undefined, 1, 2), false)5_)&$VV|(*-' assert.equal(and(0, 1, 2), false)5_**(VV|*,-5_+*(VV|+/.+,.5_-*(VV|,-( assert.equal(and(0, false), false)5_*(VV|005_+)VV}1( assert.equal(and(0, false), false)5_!+)VV}1' assert.equal(and(0, true), false)5_--.VV},-A it('should consider `false` as a invalid value', function() { })5_)&$VV|(*-, assert.equal((undefined, 1, 2), false)5_#!VV``"$+, `null` as a invalid value', function() {5_PRQ VV_ 5_KML VV_  it('should consider "l0"')5_IKJ VV_   it('should consider "0')"5_=>CBVV^ L # // describe('#and', function () {! // assert.equal(and(0, 1), 1)+ // assert.equal(and(null, 1, 2), false)0 // assert.equal(and(undefined, 1, 2), false)$ // assert.equal(and(0, 1, 2), 2) // });5_=@B>   VV^  assert.equal(or(0, 1, 2), )5_>A?@   VV^   assert.equal(0or(0, 1, 2), )5_@A   VV^ " assert.equal(0, or(0, 1, 2), )5_>@?   VV^   assert.equal(or(00, 1, 2), )5_,.-   vV\( 5_VV[ # , or = require('../src/index.js')5