From 3d363c0590fddde4b7ef6f5ffa6e494e64e97ed3 Mon Sep 17 00:00:00 2001 From: Pawel Andruszkiewicz Date: Fri, 20 Nov 2015 11:02:49 +0100 Subject: [PATCH] Unit test application based on sample application from cordova-tizen repo. Change-Id: I4788c7e5b1d2cf70c5c90368ae0667f519252b3d Signed-off-by: Pawel Andruszkiewicz --- .gitignore | 6 + test/.project | 60 + test/.tproject | 11 + test/config.xml | 25 + test/icon.png | Bin 0 -> 10758 bytes test/index.html | 73 + test/lib | 1 + test/main.js | 43 + test/master.css | 164 + test/unittest/all.html | 149 + test/unittest/images/icon.png | Bin 0 -> 12848 bytes .../images/screen_tizen_hd_landscape.png | Bin 0 -> 489604 bytes .../images/screen_tizen_hd_portrait.png | Bin 0 -> 504508 bytes .../images/screen_tizen_wvga_landscape.png | Bin 0 -> 218302 bytes .../images/screen_tizen_wvga_portrait.png | Bin 0 -> 222148 bytes test/unittest/jasmine-2.2.0/console.js | 184 + test/unittest/jasmine-2.2.0/jasmine-html.js | 416 ++ test/unittest/jasmine-2.2.0/jasmine.css | 62 + test/unittest/jasmine-2.2.0/jasmine.js | 3048 ++++++++++++++ .../jasmine-2.2.0/jasmine_favicon.png | Bin 0 -> 1486 bytes test/unittest/jasmine-2.2.0/jasmine_helper.js | 96 + test/unittest/splashscreen.html | 47 + test/unittest/tests/accelerometer.tests.js | 353 ++ test/unittest/tests/battery.tests.js | 549 +++ test/unittest/tests/bridge.tests.js | 128 + test/unittest/tests/camera.tests.js | 504 +++ test/unittest/tests/capture.tests.js | 263 ++ test/unittest/tests/compass.tests.js | 252 ++ test/unittest/tests/console.tests.js | 43 + test/unittest/tests/contacts.tests.js | 594 +++ test/unittest/tests/datauri.tests.js | 40 + test/unittest/tests/device.tests.js | 111 + test/unittest/tests/file.tests.js | 3689 +++++++++++++++++ test/unittest/tests/filetransfer.tests.js | 991 +++++ test/unittest/tests/geolocation.tests.js | 425 ++ test/unittest/tests/globalization.tests.js | 555 +++ test/unittest/tests/media.tests.js | 997 +++++ test/unittest/tests/network.tests.js | 101 + test/unittest/tests/notification.tests.js | 194 + test/unittest/tests/platform.tests.js | 35 + test/unittest/tests/splashscreen.tests.js | 62 + test/unittest/tests/statusbar.tests.js | 148 + test/unittest/tests/storage.tests.js | 199 + test/unittest/tests/vibration.tests.js | 313 ++ 44 files changed, 14931 insertions(+) create mode 100644 test/.project create mode 100644 test/.tproject create mode 100644 test/config.xml create mode 100644 test/icon.png create mode 100644 test/index.html create mode 120000 test/lib create mode 100644 test/main.js create mode 100644 test/master.css create mode 100644 test/unittest/all.html create mode 100644 test/unittest/images/icon.png create mode 100644 test/unittest/images/screen_tizen_hd_landscape.png create mode 100644 test/unittest/images/screen_tizen_hd_portrait.png create mode 100644 test/unittest/images/screen_tizen_wvga_landscape.png create mode 100644 test/unittest/images/screen_tizen_wvga_portrait.png create mode 100644 test/unittest/jasmine-2.2.0/console.js create mode 100644 test/unittest/jasmine-2.2.0/jasmine-html.js create mode 100644 test/unittest/jasmine-2.2.0/jasmine.css create mode 100644 test/unittest/jasmine-2.2.0/jasmine.js create mode 100644 test/unittest/jasmine-2.2.0/jasmine_favicon.png create mode 100644 test/unittest/jasmine-2.2.0/jasmine_helper.js create mode 100644 test/unittest/splashscreen.html create mode 100644 test/unittest/tests/accelerometer.tests.js create mode 100644 test/unittest/tests/battery.tests.js create mode 100644 test/unittest/tests/bridge.tests.js create mode 100644 test/unittest/tests/camera.tests.js create mode 100644 test/unittest/tests/capture.tests.js create mode 100644 test/unittest/tests/compass.tests.js create mode 100644 test/unittest/tests/console.tests.js create mode 100644 test/unittest/tests/contacts.tests.js create mode 100644 test/unittest/tests/datauri.tests.js create mode 100644 test/unittest/tests/device.tests.js create mode 100644 test/unittest/tests/file.tests.js create mode 100644 test/unittest/tests/filetransfer.tests.js create mode 100644 test/unittest/tests/geolocation.tests.js create mode 100644 test/unittest/tests/globalization.tests.js create mode 100644 test/unittest/tests/media.tests.js create mode 100644 test/unittest/tests/network.tests.js create mode 100644 test/unittest/tests/notification.tests.js create mode 100644 test/unittest/tests/platform.tests.js create mode 100644 test/unittest/tests/splashscreen.tests.js create mode 100644 test/unittest/tests/statusbar.tests.js create mode 100644 test/unittest/tests/storage.tests.js create mode 100644 test/unittest/tests/vibration.tests.js diff --git a/.gitignore b/.gitignore index 9dd14be..acc6e8a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,13 @@ *.swn *.swm *.log +*.wgt /.project /.cproject /.pydevproject /.settings +/test/.build +/test/.rds_delta +/test/.sdk_delta.info +/test/.settings +/test/.sign diff --git a/test/.project b/test/.project new file mode 100644 index 0000000..d0f04cb --- /dev/null +++ b/test/.project @@ -0,0 +1,60 @@ + + + TizenCordovaMobileSpec + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + json.validation.builder + + + + + org.tizen.web.jslint.nature.JSLintBuilder + + + + + org.tizen.web.css.nature.CSSBuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.tizen.web.project.builder.WebBuilder + + + + + org.tizen.web.privilege.nature.PrivilegeBuilder + + + + + org.tizen.web.editor.css.nature.CSSBuilder + + + + + + json.validation.nature + org.tizen.web.jslint.nature.JSLintNature + org.tizen.web.css.nature.CSSNature + org.eclipse.wst.jsdt.core.jsNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.tizen.web.project.builder.WebNature + org.tizen.web.privilege.nature.PrivilegeNature + org.tizen.web.editor.css.nature.CSSNature + + diff --git a/test/.tproject b/test/.tproject new file mode 100644 index 0000000..801d1ed --- /dev/null +++ b/test/.tproject @@ -0,0 +1,11 @@ + + + + + mobile-2.4 + + + + + + diff --git a/test/config.xml b/test/config.xml new file mode 100644 index 0000000..aed9be3 --- /dev/null +++ b/test/config.xml @@ -0,0 +1,25 @@ + + + + + + + TizenCordovaMobileSpec + + + + + + + + + + + + + + + + + + diff --git a/test/icon.png b/test/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c6fdaac1eb6de8df278bb18d8d413b9089cb6125 GIT binary patch literal 10758 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 + + + + + + + + + Cordova Mobile Spec + + + + + + + + +

Apache Cordova Tests

+
+

Platform:

+

Version:

+

UUID:

+

Name:

+

Model:

+

Width: , + Height: , + Color Depth:

+

User-Agent:

+
+ Accelerometer Tests + Battery Tests + + Camera Tests + Capture Tests + Compass Tests + Console Tests + Contacts Tests + + Device Tests + Dialogs Tests + File Tests + FileTransfer Tests + Geolocation Tests + Globalization Tests + Media Tests + Network Tests + Platform Tests + SplashScreen Tests + Status Bar Tests + + Vibration Tests + + diff --git a/test/lib b/test/lib new file mode 120000 index 0000000..398ff21 --- /dev/null +++ b/test/lib @@ -0,0 +1 @@ +../src/lib \ No newline at end of file diff --git a/test/main.js b/test/main.js new file mode 100644 index 0000000..e66c033 --- /dev/null +++ b/test/main.js @@ -0,0 +1,43 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +var deviceInfo = function() { + document.getElementById("platform").innerHTML = device.platform; + document.getElementById("version").innerHTML = device.version; + document.getElementById("uuid").innerHTML = device.uuid; + document.getElementById("name").innerHTML = device.name; + document.getElementById("model").innerHTML = device.model; + document.getElementById("width").innerHTML = screen.width; + document.getElementById("height").innerHTML = screen.height; + document.getElementById("colorDepth").innerHTML = screen.colorDepth; +}; + +var preventBehavior = function(e) { + e.preventDefault(); +}; + +function init() { + // the next line makes it impossible to see Contacts on the HTC Evo since it + // doesn't have a scroll button + // document.addEventListener("touchmove", preventBehavior, false); + document.addEventListener("deviceready", deviceInfo, true); + document.getElementById("user-agent").textContent = navigator.userAgent; +} diff --git a/test/master.css b/test/master.css new file mode 100644 index 0000000..e93c937 --- /dev/null +++ b/test/master.css @@ -0,0 +1,164 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + + body { + background:#222 none repeat scroll 0 0; + color:#666; + font-family:Helvetica; + font-size:72%; + line-height:1.5em; + margin:0; + border-top:1px solid #393939; + } + + #info{ + background:#ffa; + border: 1px solid #ffd324; + -webkit-border-radius: 5px; + border-radius: 5px; + clear:both; + margin:15px 6px 0; + min-width:295px; + max-width:97%; + padding:4px 0px 2px 10px; + word-wrap:break-word; + margin-bottom:10px; + display:inline-block; + min-height: 160px; + max-height: 300px; + overflow: auto; + -webkit-overflow-scrolling: touch; + } + + #info > h4{ + font-size:.95em; + margin:5px 0; + } + + #stage.theme{ + padding-top:3px; + } + + /* Definition List */ + #stage.theme > dl{ + padding-top:10px; + clear:both; + margin:0; + list-style-type:none; + padding-left:10px; + overflow:auto; + } + + #stage.theme > dl > dt{ + font-weight:bold; + float:left; + margin-left:5px; + } + + #stage.theme > dl > dd{ + width:45px; + float:left; + color:#a87; + font-weight:bold; + } + + /* Content Styling */ + #stage.theme > h1, #stage.theme > h2, #stage.theme > p{ + margin:1em 0 .5em 13px; + } + + #stage.theme > h1{ + color:#eee; + font-size:1.6em; + text-align:center; + margin:0; + margin-top:15px; + padding:0; + } + + #stage.theme > h2{ + clear:both; + margin:0; + padding:3px; + font-size:1em; + text-align:center; + } + + /* Stage Buttons */ + #stage.theme .btn{ + border: 1px solid #555; + -webkit-border-radius: 5px; + border-radius: 5px; + text-align:center; + display:inline-block; + background:#444; + width:150px; + color:#9ab; + font-size:1.1em; + text-decoration:none; + padding:1.2em 0; + margin:3px 0px 3px 5px; + } + + #stage.theme .large{ + width:308px; + padding:1.2em 0; + } + + #stage.theme .wide{ + width:100%; + padding:1.2em 0; + } + + #stage.theme .backBtn{ + border: 1px solid #555; + -webkit-border-radius: 5px; + border-radius: 5px; + text-align:center; + display:block; + float:right; + background:#666; + width:75px; + color:#9ab; + font-size:1.1em; + text-decoration:none; + padding:1.2em 0; + margin:3px 5px 3px 5px; + } + + #stage.theme .input{ + border: 1px solid #555; + -webkit-border-radius: 5px; + border-radius: 5px; + text-align:center; + display:block; + float:light; + background:#888; + color:#9cd; + font-size:1.1em; + text-decoration:none; + padding:1.2em 0; + margin:3px 0px 3px 5px; + } + + #stage.theme .numeric{ + width:100%; + } diff --git a/test/unittest/all.html b/test/unittest/all.html new file mode 100644 index 0000000..bb32834 --- /dev/null +++ b/test/unittest/all.html @@ -0,0 +1,149 @@ + + + + + + + Cordova: API Specs + + + + + + + + + + + + + + + + + + + + + + Back +
+
+
+
+
+ + diff --git a/test/unittest/images/icon.png b/test/unittest/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..647c3f9f4e521485471d6480f8ba8bdd53f851dd GIT binary patch literal 12848 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

}0K@;FQEuDA=gS;r8X2Lv&B!>KzQUk%{nhz0N4 zji=)CXoYxf`0yC#ZiAsy6yWw$c_dr6r^Uk%ino#g zxSjv|@&7D|hw<`YRjivFv6b+|1rb57itl~umSHZRWl1rvR!cpOwX0s?h)(WmB1dX7 zal1$koJD<1S8X;M%FpRf1RUb3QXImu!GJSbOr-d#yKzaHj{peFq;9ANGdu$ttelDt zWy*6FUUv78jT>)e2tqZ9_kqkdZjb)-bhVCZ*#sDDJqibKkg756@ZqMzrErHkC?=VA zwCbYCu3~z6V!6@M=;Py0v!w{(kNoI(m$_~55eeRXKPL{v(S=ZfUMoYrF`0g}w|>JU z(M;J1JhDyd!OaDh-n}e0mqp~HIm|@Un8^by!%ocblA~C_u`62+4+vjkaLTZ+cG@(F z=ClgW&UvjVeB89F4zg`M4lyPz0+Qx_BDZ9puyV}3~*>FdRf*oO0Xx}C=#MS z@Pe^bF->$1rfaDl$|Z>;&*`pbE?aEqWNwF85^Ob1-D~qdmxM2GdtHZel1Z)Jr*s1V z8ek#)Z>mSV*Dzt`daofv)j>ZAQt(Mtx0dN1*b%QA__Lfed9h;viE7AKGQk>dmzW-Afs{Wqx5O(s8{uK@KC?72c`+ z5m@eTofg<>0q2kJkZ;en+Z@urG#Gj-Sh7U3da6{h=`QFln7i)dPWeiard|{K^k#Ls z$~zIWlS{W;6$q|1JcXI$E6`5f<&5{u(&Bf2ZhkaaUa$QHzERC`*k5@x34qu8vP zl0y&+XEmq?VfuJ~mOCX{ls__nRQkgg+D}g^O8oVzDc?j&QViC@&n6WYaX(eEA;%Cd z5cPP_BLtqB+N)&^W$e?_)mC%EF~I>Wc5oX`hm3T+JPK26aEWW=Befrdi|qxL*~BxK zbrK3cGAP}BsEla*YkC#LfKaa?%Vut~@ZbMXi9-`0kf=AzJc;(aDCb`%&g z_MTsFxLrVR>I%wRS^yW75PL>5QcCHd;G^KF#sRS zOMVmQQjlBjAS}1SczJ{;SGy+jwjqg^CZSB0cb@q=jd>-^iJ}gYwDeul)rC61oHUy` zCEQs3K6FfM;b9z!P@i2x)Aj!?0>3iI^9I#Ns`&^3wW{m-~n_eN@!o1{Dv5o=M zS#<0>gDjvT{4pJ;k?k{G<(h&-KO*Vds6e7n_mm&u-l%-({q zZroqua^oO*u<}s)BG1!>aLRVUf65H)07kwg89i&g#@`Nv@M$c_=cbPMxg^5j>b>1nb@M%$1XptcL%Mg^jEG|!h)$Bn~x zqx(;1i(4CRS-PzN0kbYFpX~M{=Fq>t;e4K&^hSt-$i}YC*u6X2BqZ4{`OMv`$0?mK zA56lea2q)aim=&Z!raj1qk|xYs=I8*T{hy0;L)TPKu*#av2hJLp^c!3obreC_vFV( z^S4Y1*uCTSLy3yun3ylF^gxieC#ERBw}PW9)T!fP9kEZw8W@%6JmH21-btD_9rS_Z1oryzptSl|-BWYtvxVEgI2POgy5b~a zT*_Qv!b%%#!wT$+1(3r2c20dmE@48oSs9tS@n2W~EUR;|(iE$aT?$F}Z6?y?+2Me^ zsx+7=YF8WbQlmWDfB{psGb+@I9^2cbV0HFz#meA*_FmW*GY>gb zGBii;I+E>u4f(sv(2?C5G0diodRS>oXucepvCbZdYSlF><^a-IV@c%LTDuZvu+H+E zJ$osGfKll5e)*7Zcz;8;W$h87MHYEJaPBV%Rx4|1r$F$c?^Db#^Nvq;!HH% zx9E@7782|z8_;Prlh?8csEdj7I%$KljIm8gHwsR7|K<7_fCkW9zEb{ zS7l&s6=3*BvBBml{VMr#jDN|t2sg?UH+|_36ya0~hvc+7$3qN7ePcf+d|jI&K45wh z?*YdP;`^I*U}ZRTC)=}|MyEyEXzd8k4cG$bc$6{_W_PX4nC_a)pnLk)iZMi(g}-7Y z8X|_aJ-DGXP_G_gES7At7p`T#>h3P5jbX-Oc{odx)k*7BER|$k z7D9;vV^tFu7J?ltU|+Wu-xy6H9A4gx?PGu#02mP6{IM^>C5s;I;D;yLCXqlH&8NhPqI<9)j7JqP&%%ovEegtlVf6 z)=l@Qx`tyT3LDO?o|rY4@A*gP90cvYQQFSh`(QRBxIMjJj~vcQu~A`k+N%d8T%82% zk5-1M$$$40!{!t6*>)x$Po-REQqsZMdeDWP5yoNO*Jlh~Ie2Y2xW7~j(Y}Za*vq0&O&rryJUsXG<+^KLq9m`3c14YRmBbL10FOy3{2Q&70yzJHL=~n+xUK0e}6wZX!0O128?WpwL{m} zruNRN#L^gN_xUhWNM`_0lgRx~FfETl;5FjhAf%{0`=mFCsONC|Ew<%yMPfD$rNSB! zd1tRi6{3 zZjrQ*<3$51efzBEgi4pQ=LF30)23TEXs`8Aq0*z9eeP_i!^*%N!FWD2nId*GC7)C_ zplS^KJ~1)*MI{HXjB=-+#S?7s0?S4&7DcO`j&ZbX>c!V7V69q;9j=@2&fsXWm2h%p zgy-V7Q4S1JuUdepr$cupv)N~V{e}?th8z)N`z}}5QD1+x_)x+4SE6ID9PBUorz!Ao zaIHaz*QZ91@<9yX_5aZJEy$APx{X4G_rDU)Y!PF3iUdIEfX%rkth-b zfle0%b@ei8dN65YF>HLe`wYRrtonx`ZNQGqU4T}3(Enn+8q~1Liup}Q-UzVVNq`So zjTIxR(hyDV9lp;Q<^9Gi>QhoZj;ifD6A+ziU*zixtvcI>QIAqLoK!$mdI|PsrBDd# z!|hP=x+;TrNP!&5TeWk-J3pv`tIDr=#@1W%^dYYy?bhn(D;Cx5{KqRSc4aXZA&|>n}k|aXf&~nvs+PX zOC)RS4(uY@5Lm=;I?oX{SCW9l{w#cu@bTnLEvK~@*b$?nm(fXFxx*kG9~`u10cdkH zwa(d@F~n?zCz4>dTYQ*=9Bp=99MTbVp!yyfQ7L$^5^!uVh9sk*f!$=VWP_7FWP@bg zFlLCCEtl@F8kmM0*&qneNzOtS7J`hUzgeC1Mtb_x+?+=GGztd8&4=l0H)9um_4J9= zWOr7@oLvM|*e`0Qa}hzCu+&JiHNI>*UL91^IfIfo8-MRpN(_}%a09G^4=qm6B{QQ> zMvapiZrNluLK+&had|YmVFmO0#ZO@>NiG_Y-OX+R8>G4fVe?K6tPpTqxywnK%pa`X z9;vvqvfwgo>H^k1z(xX_zYd+it(yR!PN=yExXcautZXQ{>4et1YZgv#GY6O9ZLqzr z>GsOaTZ}m~E4P{lvEBwz1SKsp{y=8g<$@0abuk(EP_&g+yx#xt1PGf+_IDm_w$^g48+KA80YmgqG-Rl@O2F!*>m} z_UZ^Sl-O%teDp)?$@?k*igvr2wbYoXW774c8eHx*LvdCW|72fG`@z#;2rvS zwA3u}4q={_>bNXk6n#J$D=AFDQ|*Smnxbd~syMuGG9x5)sw92+)LOfPFuEY>yrO%3 zr}_Yyq6c&!WGJ-K2!9nZ}5|J}t0-bH9q~Ab4hvLxo;I`AGJFw7@oZ9MLy3{axG2Ybrbw0%Y8(mWm z`q8_&Mm{6Go!?xHy-@1SdoZX*2@P(w!xfsXz!HU;ea#fgsG7qmi~F2!wZ_7ENSZ36 zj!pJ8uSgmgnrW_e1kE27r0V=bRqD`T5WE_ zK}V~}9^1jeps{X)rd3sKD^G~yPlt$OVxfHtW9j&blB|!^*QV)O_DfVrw!f0bA6|Ku zbk*8tQK&X|?^x5U&fUbO=yhPFou4o%1$0lfvtA{(BoQ!cWiAXO#8x2)f@5SlQc9ts zPd1%mR#pIC&+_)QK#F;!@8U7`sq+=q?XHZ1mY0Z(RM;uIBSdKIUvsOTP+33{!?9yo zG@7f_f%Qb{f=p=-mNL>c3SeyP5RIv)v7a~KB!G?z?wmmHJX->)O+=f|>y{S!(54MD z(aJXVAcXUtnuI_HHImc7op(rUsL(ztXIolA)lbAew=d{+V_Z zlzhhv?1N3i*$p~6f!j$+R_W@@AXf%s<<@-)Yf{&AZn&njjchdj_uKyn|L<;KM5~4) zi*#zVL5NduR zpyzeNyApe*Mkk7MEL{zkXLCK+P<4S6AR01Ps~6oXwvxrwN4vw{=rme>oqfnbnz+z! zuJIC@F~^_`Q*~iArL(w-K}Q>LWh)9Jgn1!~h-PgW^0}*rH;c^#AC8v#RWU{A;&ZUx zP631TR!x*lH82PxHg|pW%Fvp#X^Ju$8y`j;;w*48Q=*L6pQ*?UBkISPT+@~;PbZxe zd=Y}TDdjzpzoA6pE}_cm{Fi7PLJOqXZR*im+buwJs(E5ViS+4@n)+G3J{3gzWaUa6 ztmiR1PnM!wu^b?Uy8&oBO&>C$G4~Gqmn^+?i z%t7y-AMQab`pmkuS_kfP4yGrM0McBCfM|*$}1&POO>2!WI}NVkd0jpSCrfl zdM2t^8CF<04mXo@u=KS=Dy#KlL8mnO9BUCbKnQ7o5gM9h%YsFbz);jMxmELhg~ zfew%j~Zz+82?kX#xx7Or1THy{J z+WRKkLY=%dnm!aw7lseG`xmfPu>dOYp+;SDM-O<>T--{|%_#5EJ3$xsA?6L$mUr1cTqebJyqZzlWfrz4y-(dG)0Vxz*K zHJwsi-r?+)xp=HhLLq}E?7B%dS}S!t4L(_RA5%3ULP>_TCV0oG{2HqZp+onD5(l!am7+ZulEG^rAS%LSP_ zgPYxU@b0wfLL!`qnI&9IpZP?b_1cXus0Ny8EmOP>5n8FiaC>a(j;WtlNG4(!(0b5j ztIG`|crS@oxAm`ZS4C7m)C?Ay>}W#-v_lC#sB}7@#`

4>|jrRU0T7_Hh?r5M@DI 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

7c3VIh+v~&S;N5fp)YsmA=j}Hu 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%0Diq{Sa0aX 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%0A74#exxw%0y$|{J`rxPvtYRN8r?w-2P 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≺T` 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 NpXtbc{A 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

bG#tsJ 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


Ov-3>T)a+$U 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

68|PpuJ&(H{OO*=-meGP;tru!R*r!YHf5^^^?d+ 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 z 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

?pDTWhJUN#*$4D-0u`$%JCPfaRFAlF%*fwJy8m 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 Hu0mjfk&5%0 literal 0 HcmV?d00001 diff --git a/test/unittest/images/screen_tizen_wvga_landscape.png b/test/unittest/images/screen_tizen_wvga_landscape.png new file mode 100644 index 0000000000000000000000000000000000000000..a61e2b1a352e55de3d3c7b2fe3174426843db7fe GIT binary patch literal 218302 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 z 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 literal 0 HcmV?d00001 diff --git a/test/unittest/images/screen_tizen_wvga_portrait.png b/test/unittest/images/screen_tizen_wvga_portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6a28a8231fc0602558a70b6adc5a1411e2e6bc GIT binary patch literal 222148 zcmbTcQ+#L9vo9Fiwr$&X(y{%EZQD-A=-9Sx+qP|XrvK;Mb7vmz%){)Ly;kk|mR8kg zX-6t4NW#P5zyJXO!AnbtDFXok?*RdU5%L$<3rJ!o!Wo^Q3N+Kvg#OJ~DPk=4J z#fZqm*2d16$Ah2bzvS}#YyXGLNJ8{qEH2jkB>!!cro0l7sJ#<_h@F9n-h_#RnTUgp zftihon~j@}h=qxniIJIwk%^O@nTdy;lZT0!=zl#V|Fk)on(-)$N&GKe|9bo+7A`Ih zJdBL)?(PiktPJ)}=8VkT+}w;zEQ~BH^#3^MojvVbj6CS=oJs#jf*8Qr#L3dZ#nRr6 z=syyTjO|@r_(}d*`rj_tI>^iaZ^3rX|0_`cLdNJ}HmQL#qR%G(SI2KS;M2~WchDUjBLd0Oxlf5m` ze?^$b^8a9gFq^O#w=j!1Gspj%=l_j0{r?j+#(%~z{wF>DAL;Txq<=a1pXUEg{(qhS zT|NN2e>LOuuQ+^>Yxsab4IZS$gjGE@uDW4UO}XPpY2L=a?M+f6SJ5d@fQqf{2oklH zzdM{~TmTYno01v@Qb=HTKYw?BbbelEf4(36f0hJwVc!{h-#>qj%s)#7XAu1_bH8SO zI)C0jc0K<7h3|dvpL`X3A;kN6$m;z;tit+B-}~^m`_X&$g$Qx>1K2;^Z5jO`+xq^@ zh5p&L?*G|z_z~2?{TnX8@^dBs?hQNRf4lfm3k3hS6OsQ1-aONP7v~|DSMAL{DRFNX zpYJavncf#-H^$#D*1O$SjyFVpg&5A`*&acG^_VZi-Gf{o7K5LojlXwvl7Fph{B(4k&)zH`{-F84G7RkACzI@h{_WrXa_<58OR7Wg zUTfh08MH^JIoC^!JGk3A`g0fP>zfR7@OQUM1K(b8=w9QBu#eMPWJ>U;6MgV@r^4fN zT=0?@d3U?BYiGDDJ@C@|?*3%wG7eFI-rm|<51cPK*(Xbmub1kk*Nty=GWW|Dd6Yx< z3;ri=@cE_PAorY;e|Q6Ki16yr-v20=u$Tbd?@pqt8`Y%-D3j>Kv~AER=z)+{xtQ^h{K(7Z`F4>e%V= zwj(sN=4-+y5@`8j%a1GHIqB{9msfLdU+weRsmzf4@MJKVK*;pnJhQJj!inPjdqjZ~ zk~hXd|%L9f4a7_RJO4LMuCAn#d~XXZqXvUD4hu z_1!cVBCrFsspIz2uHI(r@+rHV532f|16S`%TI?U0BdeN25r6&#uZ8brrQMII(mBFq zji|?oLs##$PZZK{ia2~ZZ^an;!C~zA@~^1J;Oz&+57YpR_;=GcukBTuVez4lU$jIP ztN7NA=SC-0_)T79@evVR)Joru-ER8Q5&XHY%_2?FbEo+2xb2Fdc4-vxxKU|MQaVA- zN#_rjt0KL{`2IPqNelpi>abc0!{g0FF{+u>u)#J$^&Hp>e@AIelk*#Ql3B!0z2;|H zo<;!#NktLN)mp^o8k0aM=(LOId;gq8d;h$r+i)l;K2+d>q@?bjlg6W8W(^N+yU0za z&>y~Mp0E#QU1=E+i(yhfo8HS`q667_yKS6-b%DYI%d+2xZ zo?Jv9i7c>M(u|H21M$wv`U-W^nVXGqwb!{GwB5g|>^I8{*1ndGqGGMc;zMl}PN^V- zH7b}v{LEat9F;LybxtBgVbD~ruPQPtYjzJ^;sm@2Du|P*dw0kRvjw39>ZM zc81q#VAc|$s&{GQ0eh6`VW&FMp197m6XG}u28F?jWy+dP0d~<;g-#XX@5FUd;g+9# z+kepO$@*Sj+3CwO-#2&2YOkZX40+c>e9L~Ko0Rn*Lgx4JUKyRfaRXfi_%=ql+^h#-I{8G@0|}{ z@IEy=`tb+DY2H16`i|aA1fVm!%|~ije)C8bb+fM0wa?woc7PdZut5x09vJ?mfs<@% zNS9g1)f4Vh@aYaTw*8^?`d)X9FMv%Rr{CoFGZu~>O5?wv?*Ge!(aU=p*fQ^@1Kcr| zxmu4iAaXv{dy;5XBoCcK0K%oe-h$ZYYKWNbppJI#Q|ytU+_ghvQb>-l!QqX&+{&tn z8_{PrsY6*tFlL=gZU$00d|`Qz;t1lnsb*RwXr?;s@%E&s$FKoI=SLqM0*d|f-0uEX zZct9;eDpI$f+3kuvo;=CEWvm8b1;KeCL8~lQ#q^Idv}>can{|7|DxY#0U^ZcsC$Br zv2T$7@M~jwCQQE%@Uz3+VUP}_Se4z}*p|dfh6Q{Dm|&bKY-xgk0SOLzpj{boBhcP& z+}UKYx$*|j$kq<(Pz+(1z~5!Mf!&72!?N}PwPie89Qi{)^j&LVq+@UwRGQkNr0?b+ zNa19IX*`YTK@Uf(cE=Kj8GwJbeK>|rkI5qh9oLZ)_wGI2ziK|B74pNACbP4 zBlXttzNBgmCNYY5b_tgFO%wVw@jKv~xjEr`8_V(VIc^6^xaX#pbe26+V`Vhbyaq|p z+De>6WK9}Nu^Z9Vzolnf|JU%W7k{QN`RYbP&8G&2s`TVoah=&~HO$AKkAPb1z12$J z?ioW6|;ju0x-4@~lfajqF3y{pVW4lw#6@$UOZs0}Olk=_7Na0Lc z8#>DRO_LmU8FmnfBoxmwXoLV!rkpcwO1RB(=)ibHe&jW-z=L}i!0gXGPeGV}iRqUg z5g0!y{I6I33i|3ffKGmrDrK-~Zr(LBIh zVzzS(UMe{gcK0#jecYC{1yldF2!K>QZhn?dIbP2e5~))Icu+TG-TL-Z`|rkkkG8F* zl}RqAP!+naau+Or_WmxI2*84`VsxM|nhMkDI~?*eVM3Xns9z7KU_C6>eATve`#l8h zQb0lt*0&M7YcM3>0=oAWnio`9tn)f`@l(!P?<^RnjMWieZRlfr^X;hB9B>LzRcW_d z(wlR^AfoTOz^Eyn-av`e%mJE1QCYOGeu{Fi@JzwuI6VLDr`G^+YW5b`5mh5!0H954cgZiO` zI9TZz>*z9~ElUtKZ?8PG5Vw|D_ugZI=h#d z0O}q3MD|6`Gi%rT16fIWCE~H2Ar_4Otgn7`vnk?`+9N<8NHIrrOxsc5CUSZi8wBo; z9@;JTt7*(oN-4r*TfO#d4xoA6&R|LNE!vj@68iOw!=IlrEOy#lTcBwvjiwtriOJJf zq43HMteHARW)9`EhUtC`Rhw3BXpaVdtxhXe8Rm;FRrb*@ve={P*06{>ZXrc;U*!WU zrlA8;8xy>>#->L4V(ZH^|8k*5u(O`2jILSu(rlc~l$g4dTBKIHL$=Eot4nP26{Q^S#T7&7vbUfwfX7BCmG%nPW)~J6z;ULFX%dA(d4bebeM>d*9oN=1A4%!de|f@tXHs3?wfw6qRL;Vl^Ke{Hx=&I_Nr4Q7<_%tFX^C!H zZ@ij6nRr<^YNjXnao&YR%XY{&*E?G==Hvu_AywTKv9k;ry*)dW%OUk}eR_M3RtSlr zA?RuFzqY9Fq|O#~f?>=nhy^tluF=Q$Y|!|)k*F#X;-~(y&5p%3auq1n^#_H7Xtkxw z_ZDtZ$sdAfvVo9^CPpf(&(oM5fk{XOJe5u^{Min&L%}Ze75DuutYz5T3`4qq0PknW zdHLn$t5(!<9g2ZEkAvne$?e{nU=WzXYvT3iqC-#kc)SYC+@Bl_6SH}EJ~T&4)R&Y> zxccD{9UCkT{o8QVNWy$xyDA0os&R;C-v;E$Nn*QJwvoWDm#zwQmtU>$UNsRp+Ok^W zZc;g8V!E?v6F;{HyQ|$A4(LO;=BcM<`Hxhi)6vdhC;1CZTqk%0!<>~h57CZ~n)VST zJePab9>;kQ{`_mKmKK(^hH8qIWPd=6Oz^7&(H|M%8?d#8e4#K4_6wG!sFj3LZCMDh zXL>a#6IQtSs*sCZC&&*4RwE<_{KA>1b!aXaP2*Mc3q=!p%{Z$vX>{Eb%Ny7t&S~rJ z6=ufyRJDB!sf^i1+Q;d z&CWmT`W6J1p>*u97bQN&$wf78v=&Op%7hLt2AKWRDe3dqX!jPMCOrD@5BR%y57_ zW!|sng4(F>1vVV7W6=RnCF=7Y|BlEx{`Q-u28R8KUqXpFXL97fV0`V_DtmY|t(IAo zxU>-m>Y&+W3ZB<$HKqUbWmqvMOt)7wgfd4C6WO@VQ+Hsv+PX>dN|5?2O|vM_dREC? zk~8qN?H1O!t8DD%zC8aNo&?@GTY-B?!WP`fM<44Z-F$PZ_g>LkC%(LFnzw#Jp%$XJ z&fa7$_o{Rvi(3e}o?CY11BmdmyM;=9u5W)?q=eGL1EDiDaT+c{bdm(Dm9X_yX;WTt zRj5^!6jVzU<9y=A34;lfV+6fmAV5&ft+gbH#s-7j^M#n;;yif`eyqy*w;>9Y^w-uR{!R1nxnk+K-w3l?vw^%MB>6aU4Um#;gQvHu z!(Df;wNQEnbs)Z@pDwx?;=w6aVmp)INFk@oMWkcVaR@6|RK7L2ldwPDi8-Th8HBBd zteELDwb2SF0BxbUe_dpFvM(*Z3Ol{H^fIxjGTC~|2T{p46^PZTMk%9JSi3{%reiD` za&(66fa2nP7wf>~-Ez+*jP+MzXrV)Lod7)@8wC?z;jTpKf^fqE$E2|$LW;m=NPTWg zjrA8o6b&!PiohQ2E2=&-tSf-d>TXDmg?ubMJPzCXFmiL$zbE5{GL7RIR3!A_0G%nG zlYj^boUcK}X`TDHm*@XAYO=e^3ub*&5oM{3+u2FRWHxoN8&m@ZDfg;;3$a-Vx*D6h z(?4?0dbi?vXet=D3?L9M!xp;c%t&ZHOQ$P<;AO<_XttJL;m{^0+2j>LQ)e1B1&o;qxQIYA z`f@r(MInzfTV>+Mv<&1u;?kGyW8*Z#j-c*N>&Vmzf3+2OYW4Z)A@e(h=!tr+&YJ1Z z6-{by>35Z+BPl$Wb(Cq35oZhMQV%>p^8(lvEN$DGW|EZJvvaFtx*MJAopJ#LfrRRYCJ4$1cu0H z&OsEfBZ&&m>x<-W6qNANIg?1qHy)O z5F!hVZoV!wMWH*S>l6DYKp&U~B2Pz-v;2JfP2+~5g*bbe7B$RFHL$THzOL=(m^M27 zCiq2s6&XZ6T331`NPFc%4SINa^0)B~m8g5B|1(N?H1o+RFNIins>#v8AzNeP`Q7BK zUnAw7|5Q|*0wt)(*T~q=%97A)g`!Bd%tLm}Lz6aCXqlq80J=&!E^xprZp>3jhNAjn zXYloj)Ya;|is_>#udBX-7t((3E+$(~@2_9d1i>;wUm7N(IJM_HWpzG>lp@&~1*z+F z(c+tbK0<7U0VTt~&+%DZ;1)WgLxJ(5=?U^J z*j0s3>2Cg7L;qY%rLN#zJ0>3^(SX4MW(yxxG)otM({&)o0AM=MJLySx_}SJV zz`*R=>*ZxmBM>`@2eh?SO71W+ro9HG5d7lZc6Pnp`@CG-vIb{kV?Lg^Qkie)77?me z{jkpRn$<5NwT1UnzJ(PQ1FU}<@?_I`9?_CEz?Uzk?;n@Wh*3<>G9w{c^4q)=#x%Sa z%}42ybP~NSGKYAK<~HcEWEuRng8Fm`^`Fvo3}*T0Kbf0&?P9a*za%bUkMLt&W^)9H~2YDT$p$)&|~ z6erbx?~+NZv9XDX$`4YZWKHjm$&j$F_$aRz4x>0;03%*OL%M4bR?Qj~zjc?Mx1wCa zioxjzC3jmyp~8#5z^+`=`*coSn*&PRqfRRr+ItlyDKq^Tj01-D&cd@Xi!nHKk)N4@iEc^1k&=gMIwM%XnLYFIxW~Syv zBVvaOE65HPQj-5>=UqEXG$E|x)Mct)4mRMRnJ-W%k&ePaCx`da6HWj?$!oTfkI}7X zFWa3WQIo36v{aQCbes^f>9B{ghq{F%@cOztavS#=L-AUIhxZ^DR}6I?GfRg<%7G;P<3ghG9o)e0oZmMsYRF2?4$(|Vn>ZK^0djbZz}ym`l;4Hm00fiL{-muy}P z9j!H%mqPpiYDSO*J{gv43OdNE@I^~jh`=_=>{Hq1Re7d8p`rh( zLT8;-&|hYf$VXd3S|30vwcH?$pXbya`W^$O6){!Wjq^p$1vbG4QJG9Qz)CA9eF_Ij zJwd8UT;5y{CBh*p*I+$Y$)daNA(U4meK&=u1xfmIgF};#3SRDJsKt!eeDW0OK!waf zx~Zw5dyKF)JgT=+P8XMatXYD+(7l``hVRodnNqI&pwNMwt{frj>UL02jvDTHN=%im z&nbsKln(u>{??FQk42ouTx4|MkSe_k5X=bQEfy5hsb6Z5Gp)pza`TT z;_ok0g`()mtAfeDx_Lf!(k{ykkk}tq%?+kiunbZI$uDs$Z~k-|Vr$}(Z#A2aDJ?(6 zj8s_t1$}--Tr_|l42jri!c-3MU~bNSOeUk#l%0==DiyMmojYq|TC(YL)v?CZ3As(6 zrar~lORw)9DL9e;x0{WRnq|W8;&1-JL$d%z+G8qP#e$20G)f_nlB<6hFDhgflGik` zdcX;Yj!v74SkwTG#xs^hhVDc$4vnXd8h*!$!88SRo#yFCSMl6*@#H;f80X6Juwl*Q4mTy0c6{+E7Xt@r<;R?jDy0t_Lfx@+>O?Ee((; z^ToMimm@wa2u%uZ#`}xc__rqKYO##sz`=QXA1$mV(qOevVY~p1Y{rPT5oG+r3+dQE z@Fi4>z$0-lC=glLf-Q3fUi9#SX%4ESY>AmcAWWB=rB_ZtK?hsqH!XRVvqj4NOR!n> z*S$lLbf7s;t))Cd|MW}5>d#P!%FWN6LlN)v@z5 zAz@dFG)Ou(KG3vG*hjLuFI0lQStIby_ZBB#SM&=!f>5kDzL?C9B?nxZgj})va(M4P zLrX=TkBKwx=_9b^f8yNLkKDuMeBMSRGXu+@`!;L-c(C0>ik$(O46NNHIIJFumL3mgopYJgmfP3y>n-cTF8`rl zdAVFybOmRIBm`sixy!+XdpIS;&HZ{y%H_IW1Roq6ehpVV$|5|q??w5!GtvD46a1;R zugQ?BIjw*1Gly0Dn>&c~*t37LixO`2PM`K;NbWe^?AHK$*SNbM?+3c)j^7d zhFEJvwFg-WkxK}Aa81Fdv_RPPZw+_)IBNuE@ipH6v&VU##TfGHANV{I{v9vyZf;~k zf$#t2hiD(|e<1Gv$z0=a)-4#u@YCOG&HFua2<-O(`!i)e zd|Sf!c5dMF?cK8qt<>|$r&!PTM{#QrOVAVX@p_QG!%w61!Ls*(%1ohhefD6&u@KSe z%u8b~yq|8D5nf=6Pcxpq-`&xBAV3jf$lCW~J%`_{HVv~ky4%AUft!HRE;r`Yg{;`! zA#_H7yIzBH`QG6^*$$`|eUd;QQhMx*%&T|W=>9xNQza-@Z}IIHvP+)S?Zwnl*B;ES zuD}1wKo6|O9zTpOkBbK!CfCkoz9Gd95dyDJIL3LRPbYiBp!3w4EA1_F0JnnqCmI91 z8w=?k38sUlRrNfA01l-tccN?T0bcd^9DKwX;bE{lR3a$2s2#hmQiDfV5<7QUg|vpw zX!odxsrVqj7YJ7l`fVs1M(zxGZH|dz#z1#zF0NZpw2h`l#6w7zmp}0QZCwB_2`+(VTo*J72iL+AJkw59&hyF2Ii!Ous*8?>&dUv zO+NVvUq z`9}J~@v);7-5!fDY;!`|p_wgxgxTd+f3q?TKR3phBX^FaI80BIm4t<`+{Xw{N1J&Z zCG--zb3B*#XjpXhx&4?a6A4B_d?YX0)!+;&fBYb`FYA|$V={S6@;0SPd=r4BPa+~o zy{bfpnOX+Q+9j*ACmdk<0fky4JhVSW3|UI;14nszI#t_$$H^@M8HsmHwM?4cp=<$# zr_Q0JRw~V;5ahmnL8>d^eV_R|mN*=?(_ezTly8$AZRJv~$h+>B;YQX^5EsSq@)u^2 zvQZksw%7gd{YJK{q9YD$KD>cmg?GFa7b8})v}xIufH6E2iPyMxOb1i7Jk<06Sp;Cg zG|3l-$zAytiY4RGSQBifEoGl}Wv|Jqwq9!r8q=3!S!yW}roEJklt14JpPy9hsG&2?_>F0b z$LBZ)*s3W_z4I3J9AtbWD|`V#h4$U|#8W3=NoeB?hGzm(w(osz%j|M<*ka~03|RAK z4iWcB{O@y9OYZ{mYbpn6ua8Op=Z?u-x=QY_6{RK28#7{RYEJPgpFY)UvHH-+ zoYG*&QTRSE?`ezVhj6EKoej>o@$5OyV0oBniW-*(=;}Zvu;6R9k7sIwbbZsTo=a)* z5LTI;`UL&0vYK&EwY8hO`NcIz?l%(>^LE0i1uwDw2JAKF<&gTO|4m}S+R?b z?{z&HR#cpch359<9J7rHBf(llauJhyIbIwEY~n^J00u>VnLjHnLPht99wgTAe_Z;c z>7b&2m2I^Q1`wajP54*B3#U##tgn?Pk4SOOriQHj&NU~f$RskIe3cr)0(D{u4yBql zuNHy#EIx}(o+T6c?O4KOA%o^N{uRuB6y0*n(#TbAFpeyq=|Z9KuMou$PQ8rNl-w-Z zUp_>Wl>CA_Sy;LY)az`v@d}9vyq>3*m$$kpZK1=OW|b~4n>&>x0q+DM#<*TeE2iOT zwCnVQ4KES=O}KI(7PJQk5s8xv3t@fKvWZCeMe*+&(+Wu*c}x$f&6k#nS!SnaWOT1} zz+{S$bd5U;N3^YQ*@!g4Rh~+E#4P)UcXr>7N)=V2)1-CkTxgQ-x=oCYs(c0nJkqp;wyWO$`gLWywtwcoA8VJ)Dlk<96$Li#} zWmJC(A3G*mk_$06Cr8mmmY{5TTMV{xE;a_@eZy;sgQu0(-CvC+TeU;6C`{KPz;q6V zaDZ!)Xw}9WltO9wWC-!wTzz%s@EAr`8px6vTrH^ZC1jb>Wa!psJ6-UYHxzBRDe}Q> zI=M1Y-L0SIKaf<7V~q4RB$#cP+h%_oEu2KJI1#!rR@uf532joNEunU@kinIkl2OP?msL01nw~MAuzzr~-7_;Vz zY~Hp|aFjOh%tq4&2Uz@DI>CIcRxd(0z(KPv#3hu}vzZyZP%*CNVfZ~E*))OM(vACH z!_C)lEsw)t+Cb8@?#Yy@J?GjyD(cvMRyj0}_81k7j9Ms7joZeR=yp2&Wr?)~Agh#- zbk8u;FWl5NO$b!g&OdlMd|Oo#hm`Csn6qWssD#_kI)_xZoeN@>tQ!y7OlyX{2Y)Dk z8|k|XO)9#-OKONSKbzm|ZnxZ6B(c|B>sOiP`S6tmXhtTbR4ue=o3&}A5j9qxM50c% z;66-g(>A%wu`fqKk%!U&`x@g@!I;Vkg?I|l!?tczc^2oR7tW_unQLF(kzG!<)X+b> zbzqf7nWoSv+ZkSNb;x3asGiI{u0g!aXa%{C8?G?l4Tc`C+)_tDJ?9^_t7)+533_KJ z5uyR4wwY{k-OpJb^1{X#TII>nzLhgO<^L((@zHhIHW zo0BW$hk2iZiTZ}NHgVy@<@|{Zx_Q!he`r(f@h@zxNXn};{7Bs=Ny)^C4-_hB(ZVfW ztAyFgQAdffv``KvpY1g5)C|beH9Ib7Hg&M!?L@`(5>QOkKDCrH9W?Z|->yxXuXDF$ zx~>M#GeeF;Nsp}$DW&<7+2}8d44xV-Ww%C<+NU@Q&;|Npr?zjf7oELw?EQ5;}SEo{`WyqM4i^_yF!(`B5e;|L9e_gu?kusQ8a#Aq-1JZZn zQV8K5c|0I~owd?2%e49VS593b1E9e!d1I!a=h?J7L_2iV#yn(-Ml$KxCLV9}CiQOF zmMNP$xgA>^LvLgThEAoO6ctmlm5Q=+8fC`0pui2)1B`!O{vc`T4FK7evog>QO+_Qk z&mw)bok*zwc9LWgbe9dZz62#+PqS55YhycPGe?>aJ=gu?vkp%t@4^uw>b0v(LH||B z=;Ly-Kkx;`YAedVAN2sPm)y;pJUt1o%z;%yd_EHg?B67vqopf*E{n3hoRVscZX_gt zyzt(mmo(bH*Hyy;d;O(uhleJ$nxXe*GuH$T+hcVUQe3!b5zhi}hGc)t`wbMTOS$Sa zN&;NT_mLxu(-9}X*f8}%vg})u*&@@Rw!7XWMe^O_;}LX9tSjs0B<_B5jhrps2m65F(}4c$@kQ zVyB{r?{mUD`!ACZ!ltE`PqQl=1lj)0qthdb>EEW!uU9*8;|X#$&Q3I=ZunXq(dzaz zs5hpv#!L*d>3oe=KrNG?ps_6yoW7t9vdY#?OW@|y9$6#_@{*W33{kn+n+! z;}Rsamj<#@JmMD}J>7R+mDIImt>4xerQI30YHyCPqV*aBF9Jaxgs`C_9}RdV4x8+K zaC)M^F(kobKcF>t-6D1CYMMpT*5WP(EM~U-R}NQo2B|H-_+b(qL^s*HTdoV2wWu#e zl8Y66i42WL6bzhyP&px0e{IZ{HLM8y{nPS#JY)-`|FYoQopPM@t7@~@x847fV|d}l zEk5a{V<|A&OE^FACZC-u6U@df6<4K)^ipi#^bVZl$9nMYF8UT2GOr!qX4DK^Jk zWR4Q4Gdt41Td@Tk6H5znRy?eRn<`%zeISS(F5Ntyr}vKu_sI>l59oGH9`qUlYNg?X zcW<7Ay(H2b+Q!`Wsr)VOku86^JNoOf;|b}geR7Dgp5iIyB!b+_Kb8g>&2pP*O{iIk zl~~IDEHA<2Ab+^k2m*@V#>#64=C*&^q8Yscg?*98^=?EC;1+8cRLZIj@cmfnxR*I0 z`!$^j7SLU?iXSG|Gm|jNP6&qAK~(X}DZgSze-;q@vOgO^n3n7E*`>1cUknPB^#(2M zo=YpLxx9fE)}!}&ZJu1sD)@WmvNS9Du2{<<#o2!NPK*d@e`R4x+OP6Z}y^v;f&qD=peb4As2? z$s+e#(8RTo=-w-a#vzXHbns&d_RR@i$ zh23M9n2vR-<+li~``2Y@&zDImwn@^BF~nsy_qsC}T6hNx+0ErFB;hovR`=9As#&AL z<%QXcI1i(%AF;6+d@zgdCWbXGO%wM-bnp&ANzawU~NzTz5aR ze&{mnRSRI$Azi&h*UrePcFGgwd3YaXLhoTwcQg~P-&k!VP^1Q9|s2nMmpv}H!kOVqe&$kZveZ>(70?^@9XVZvVEoJw7cbJOa5jd zvxZe6VqNkte9$nB%;|m(T-FnNV<$Zn$UGLS1*fzTNH5KjT9jyBH*ouv-}o#LMW(^N zai27EtV*a88jBklcttHUXInJkYC^mvqH=8+0ux{{`9Klz(cd=i!2>cdG>OEN zbp#qL*Tycpnqa`!yet;e*T>tu%a-8a6pQgFB6eG9KCm3kmH`UZu_k9c^8&+gk1Xb0*0KHD8R~4-rn`=hp}Ol}_Uv zGzg&0TzfDK@z!DJbeyMZ)uVObm5ks7Gi_{d*v`YR18T~Ff>x%*8rC)^Oc?IS=|U=F zB7-+))Xu_;m84E+?No)7BeX+&$1MTRpqmCK9N>>o)2>Vc4HJTgL0*c<;l4JUH}|p1 zS)L#XlNKEV#y;#mkK?BTxWIC~qov;TOEMV}ba-=(nm>hYPd22cr67)!O2y)2%@`O9 ztTf5q+9jO!Z=xT0=}O&5yIzC@h$tJkyh%coDov(&nb! zp2VM-Dk-7G4jZVQ1^#$5!JN2*Fg$j3S@+8f=CX+yjHnPsz7U4UO>59RKa>*x1m$7! zih7QEF%Vd_BazpHUN}fdw)#C!BPG8zP<&^C;*j6jpc_Zd#>I7H#xkQ8uB~NTp&<=p!7VrrfL%%>_Qsae8jK#>Vw4*skEI9(bY2#WRSf)i_L>k$pBq;9#FP|RUOqmGH0 zUCV(+ujP_L#a+fQDK_x!2v4MS7)>okm5U77OEW$D>+~3P+Tq~Iue&yV2F{tVu&R?` zw8N4&G!rUFzjNT~Y;JfDuy&oyxKMw4K*-rib$*9WEX;oAPuKWc4H%XtSEwr z!~`8ogR>1t(@3luoHu$43bnGHP%HL{Ng7roGSyGTsU^M{j6UQ4T`!CZlW~&Id5=%% zqGPu@>S`6`dhMh3%}y7Fr_JziC-5|Z5GiEbLH=?DUJ_L8rQ;O%TD~s&0VzpfjJlox zF(SqBTfD0(*?p}j|!hU=X;e@ylN2?4aH(I=4s^N(&A({ANl)=JQI)J4~cyog$UY&gn35d zl^LviQJS?p@{+}*zG(Nf(mjZZxI;QJYq*$9S8l}f_2{7$C`nU3 z6UuB{xn|`}5|oOweJt2Wjqow*G_QBJr=xwR>Rgatmps3`VU%k?H%B~5Q$7q;G-(B( z&GEQX3>Xov(<{(0N^5e$fL18o2Ewq9>L+oR%7!18j<&MTulCXOwOW(B*n#1>?uzSm5;8IAsP+r z0f$z2*5lzxO!&F0%L8u>g)1s4F^56=i=a+_R`A=vV_d_ia&WURRjIURdjM@+yJ|?^ za;lW#X8g4Xa1A<&`B3>CjR|Ihs||p!%X3Uus^ij&TIy&8(J;=IF2o8jPSN1@kFL#U z0neVjKaz||w+{X@hw6QUC*X*GzvQ4CV*NenJ{&%+A9zbmvU3sa;ba}rPve!mT~Uu6 zQ~O(UX_*N3rZL*WQ=+l2vswooyFLAVba&c%F&GdtFT2v;|9Toeum$(BLR|cf?&%=I8U- z-A+=s?r_xLO@QOOX7q|sto8O=>F1^T`+P74KER&v@pS%5@is{C`_C&etRU}JeEc6I8%@V(8yXVkxq-tW!GE3{`seLzy{ zUOv(;G(+h0%l!~nzp@JWW1&*q$L;zjyA-;RlQ+cQfRYb(LFSwi>9IwljckC5&ni?^EdKegg z&xS#dkNVyh>=f~aNZ*Yzhmm@RbV;RTgZ3!}KdWh%HDinTlIL#2n`EdtD69A`_>l4s zE{uW@#^~lg8{9s6+z@||2~fk)H8L9G93=H~4MpE4K|^LBmE6lrOPRkv{P#si=bPAo zDh>$gF!Eu1!jPtgP;Ua=0;*cxE$F1Tto2XIr*?V3@oBXH5ATwkJ zSZea`t@-629jR0bKv#O$pAYa%6T>JN(hrO82 zyrNU=61f`>r@*iufakH#t2J68SVsXajj!f7knB}2Kz2eO-}(1s1E@5V%tO2Im0e9NQ!_LJP`jH4EkN->^=Zd;F2uoEUSO z6d*@1ew6+=^%fpW1%Z64W8-j@`fme!8#)ABHY;+Ql0Gp$)S~P1CHmEIi?aQ>xg{PJ z^rSSaj$-EJAP2OO0`K9qsPCNg#2ZlyW!!W!?-2?|0W@|`Yj#3z=x=8bf+SZ8+v%3D z%XN{(f5#AU0%4=SM9cvuNlY3x6{8zu&5T*f`5y&O!0IROBa9aK08e zj;Jt(>bV!5%B)lbx5|$=EE|d)v3BH8!l&j3*zr->aAYA#jA&9F-`{gqib#*yT2nJD z_r}b&@euMSX^7pWEoUc2-v5SJ6HSLOqu^W+Sh_L_%0Y#OIzC%4*l$Uc@c0Z+mdjyv z>|`T$S2?kdy@<<*Elg;&WLk1f3OlP$dHF;&*xV;E^|JJau4Mc+!9W;@j#RU`c6;T4 zJ9IIPoug?bKIE~Sj_@2NS6c^FkW$9mESfwT+KZnKMYDtnEMYeLSX(>=LAiBo7dVG& zrWMZ<9-APfPO783r9$WHY#`&z)jn+#$vrkDYUX?|EcS%hmUn6n0`1UH-5}FB_q=-` zsu!W!FRUNX+h)GXLt+4+9+MxOxA+#Dxoe|YG@}M?&q8S#_@5jnfX&#%1tyYG?2aNf zYgY*0)9+n0?lv0Hp(7{%)#N#I@AG3lZMlIlk&{t z+olei8 z@N?rha#q^cM)uc^Tidon%a6^~LS^PVTKd^!z{!l)iB~j%ZvYRVEwXLxa|ALI1}NPo zS~2sJ&>YfY=PK7S3A>=&Y;V+{extW4g?gHjX%a{4x3@XV4JKpwXUSVWrl`t{2gvX* z(mm@Zs<50YSDm_C!$@DGR1oYtLNpP?f4OP@E=r+f8zv)^QA4PyYsAb%^-3`N`!LQd zpN0^Nwjj$o5ma8?G{r^Ew#qIP_OhJh7R>iLwHdYm#DaNNfy+;)%_{dWeA%7 zu1wle%dKPiU{*aNXyL##UrUEgOw;6O}`H(>M_T^7Cq-~0L1x1P6yW| z9ha^O?T#qP;Pvj_FhLQX?C2E?+N$s5TfZs%_zaB4w^6v&sgfXJfVAkfMlp0;4D!@P zbU}|OY-85Q4}GN;bmh_=l3?M}&;gUNSt`pcDzHrxc^Mz{gi5BHbjeihU#7?}C~gYG zuyURqvTWKA-1H2(En2pZ5+I(BtHN&9%uUEKU@TKF!<~J<8S?(vt0?W016x|wt}IoP z*OD>g1pNUdTgR@OCzB8q+#CAg!PQL{?VQUX*<6N*H`dO%xUNd<;4%qUGN26vl??~! zU@ihNfkIN3`?R0bpev_s^<8&m|;M0Rt ztCET}=#eTlF7L|?WT%#3=e(sAA8Sq#Og~WOz-T8!Q*P}g+8vtDD6FT752D)`&cxbc z)wHkIUz*-krhI{hZ)(_#7qX56v3yIBl@R`$iHN<--Sk-MspA>lT^N74w46<{=mm}> z9FaADI~L*O2B^~hfSZV)H&>IrBq^V$s65GzIK&#>CVpmi*^g>C;}?l^YLKBAmvxZJ zU}`KF;$mEVABf1Z9J^JLzvhOsxLc>B=>9wCp(Ul^UG3oM%RUB7sV~{U)}au&db_Xfumg2zzszAtN4}+bl_k6*x=-!a0ynH{0P< zOryiLv#6#Z3}*AA>Jd%zIi}o^Yu2+=f4x*-$T)G@`TbPaRg#p2<#A3)CJR zMkfS82l_sGi5R;YR8tF$IdR@*1!WEjX+tgVRv=jzmACv^6>zyUttabs%kY?~JBVVE z!Ak<*hOyU5FZ%Pf%2OcL8=B+dxnlP_=K8r}hP$;qNX<-nN5g3@C(z7-B-BonO$Vc+ z*%i1`5NE42iTZ-VETK46x?J|ILq(UEAt)Sr(Qh@-U4{GI>~)&~5qy%Nh_Zvs(XK1E zWVcyN4q78?3Xzu9bdc|usv-|DqZFJzJ^jcJVc^N_G?0duyRZGo-1;gDR7H|BEJNs1 zRY>|pV2i@o9A7GhW21w9Lq&Sl|9jQ|@9kByT){lNqGH$$UY=qK0&Fb((< z_;VAfwvasBkX8Fn5%)-X&*qu#0hDGQ?zW1uy$k*vgYRZ+7o6W2`ovVG>QNwqwVU2* zuC7~pNfjvBv|lbV3(F^9jd$DK^q>X_OU|vcKAy=%8k*?;0y99&zg;x1M>o0?m5VZE zY(-Y8xT@3QxKU`YV5} z){cjB`hY1XDz-RNqfNTmoz3u+OzQ&1_dz=_4yryp4>WUjA(QGUEw>F*hR5;5LLQfZ9y3mb@XIqQIcP82o1U5uEDP4+n}XLMSzFv1@8Mz0&$| z;a|4gs2)YOk>#+eBbUuyaz=*`%Jz+If`?&$VzY6Xmu*UM^)uB)=9yMkOIG|XSul9U zS|Oo54$UIl!TnH0)CP8=&-=M>x|+#$7bp7EaPA6;N1DzPsIA z?tzZl7l>~UpI*@YU#;F{YG`iaVJud4!<-1X0#=nBW|+6?CUX~US%pJhxp{-Tm2WJg z^gTnm4nr&0-K%}BsP-+&T~A>h=U}j|FDC<-PeoBl%pW_Q#La*ieR6fLL-rKT%VNW0 zoujrrD`RV#4OfF422pn`ahGXW-^)2w^1>t+-2%>XX`o=n%y zNJV$E0EisJv(yOTgS;aAEXub;uHSAG1}zG$hht{Z%e#)&(sa}Bgt=&hEc!%RZ&F}* zD!MUs?-0now={Xth%L!vnQArDh<(OK2^*W{3EFm4=T~OiH2R}9oQ!3C%E1`P%ktwWT?EL$ zY~P289_-$rY+Jo|w5;Qc7MJe4GXSn;W5Mip+ITAt4Li5$?kkiez_t<^qPLUIPVfEv zCB93?New)V9RgR3BjE(I~*K;vGx zCcQ56)voF(*0ESW$k=<;`0OmLaMM2;;vl zq%MS*I4io1>i=>L21uKqdmiKVm9kx}f*gd;0a#-jG0dzkuIzKzE~AKV54aPHHwVHi z8}MV8KDm^d9byXZF!34J4den_%-tA{GdZ#{>Aif&+pVc8PeQYq~TE-g8QMTWjMusod65&?R^7R*M=)pUi~$M?Gp z-AzS|G{Twsgpx0HLxX3}kfo^xe#%Fz1mDL9TxH!Aj8|XDcE9>00`8_R%^?Xe+bADA zk2(>g6j45{s|w@p3SkN~IP zj85+0NQ_UA{y#Rh!{}%k<^`K6WBA~~>3lgqM(Ygw@_KVHoVGABim7}rU*j|*(!_8K z*!CS_QB`w;kPL$Q8t3p`hBGrw9}U!uH#=jQEONpOx?iophI2}a5|2APo}e6*p#6u+))={k{V%!fm7%1B%YaX5tE z6<18h4*k{O&|c;I5Z%}l(U8abvN@qJqp-8VtJwnMae@+?z(s!{=i9dgqChw-vQ*Ps00u8|6#cTa^u4=Qoy+E&KajzdYJOYY#p$%;E{N-h zF87?_6!13H0EnpUYiwS?DWo!lMaCbT18qUnlu_zbnsE`9lsB^hd&hiMG*D@30&cZ= z^}$d$qE&W0<@^~*LeI^IL(#@BNl$F3vikAs)+5pUqOnAJJ+#XsXG0 zo?h25Kfwx^2O;agoJ9#~f;ko*0*50=`ZGCQRHL)9Vwx`$H8A2bIdoJH!G2z(s@5q_ z_au~g?B$E-Ra(=IbBwEc!PNum=4*u`THxZcHRB71fY z*L&}>_<2YV!ND;ae98;rjR)0vaBx25tGMg!);$tOKEKm2@P7WGbDNwNh4{dB1o!+B zAHMN?e#k})zPI>-Pw0R16yCkcMb?||t_GwS1TIb+5i8!fmOgIz3{iLv4VT@!Z0sp* z6W19(rr9;u-P~}z`QcXlv|Jym?ekI)J;bbA-n543ygUi-iNbwjejq#l`9I(K|NN<` z3jW5Q`u>;j`HB7}nEmvF{e5r9~s5hABLcBeiMJV$v(Im{w#9f zH{KpU_-XvzX9qvJ*?vEQePbLN_QR;3a@wrnRuX*s@>Ii?FKk%~>nmo8KhDnZ(E-KhUmM?T!VeDKCpY-0;lJMGOnl4|erC1_JYkT$ z-~f-$e&SbnvrzoB4toaE*OIQ*XD5d9$l~x}No>GI%J44y+*~&fOU$>+fPZHUFf z?faeqWx90XP5yxkq&DaSU)GO~bY%qN})J!~{#(aTuS1@=Mn*zkRrlttb%|(uvQ__H;H{7#q zx~zS)CWpyMi^?$WE!=a9GyK4zSswRIy(h<+36>Ph7w49;!lX*~woAF~OEQ+CigBi} zCO$i^CLaFCH=l$Rim@yB6W~DF>$y%_UX2HDQ#4a#pp&`Oq|9iW1bHWf-0a3_ z5$3wb;r;&1I58mmUn~wWI+vy>Q&Ct#%&BLmd57UJL=*k#5nAF}GrFRvjV4G&kfXO; zLy{xY<)qXd9XMXoYcO`>*tpr7A1XV?eV~cxOGhGaJDbyX7K+hbdYX?R)waUm?K}&4 zb=#e3(&u(}cnT~@WDLM;W5ChwcR%PtqROZA}Y|2C^>c&6{{;bt_p)edqHNRsYYHnC+w7JezVNeD_mvnxNT=|~{h z#d1^x?BULu-vxa<-$R+Z2ly03tRPM6%=3;`jotiT6Hz!S7FLtcus1MDe$*8Pc_!0& zge9{?q=WCW!8ABCl#34Yw!rZGxEl4LImzp|hunb~E zt%pk8v&DipZ8XWfLtu-wT+qQhJW@r?4XH~c(=iNt?;a43u>cK%y85szqiCKaX`k+a z3`72*yfZ(N}X_)+^*~i2Lf3IS*Zz`7cXbV%)#oV z6rm(9P(uVT`M1u)_XWj7A!3LSay6$ZKgsH5D?d|CnlytZYPM~co2FVWw;-6iGW}eT zp8p~H1eMsf(kJM`Y8`tCt9!J1lAdKSNn7+iZnqXaSgG_2lOI!dkD&Rr!bxZ1uPJPw zsVtFfLzP_pJkV6OIskosaW*Sjk7>VKvt3^TMyC2;(}pycNJKTnbTV~!2QrZ$w zi`LTvXy19A7}_^q9$^GAp|w`cB7%DEWmL3f)TLI!{GIJ>K*^}PIA~k@nK2N0o|&>s z+8!@U8fY)6kCK*wqxYm)NKpz`HWV$t73ohQRYNtwz!-SmO8K0Sr^Ed&14_&ZkjjC* zaiKyN0nXU5GQHO*V)p{H$~3o*4RuQ*5lUKCB`qkc1>8&l_WWs+n1K05?Xs~Q6?Y7z z3>Oeur}T%;C`LmV0(2)zB?dhv8GQ~DKEhV} z8D82P@=%s*6qG_G*8=gDW3M`kEzc9UJtH|)F=M{P2AaSvyx{8N^zJ3vEzcGDg`Qye zT{M6u6FV#yi(ML#(!?#owV+RBsLjYB4k~1p!z@^{k!t_|HNl=Nm3EFp*W+lP8~>QK z@HAy4&=d=>TKV4`Cqt}pzek$^xkP%ZtDruon?F}5cgd@YK%{A|mAxV1vg$8iWEj3H z;h|Qdl(}I5*p0PHBM`G)S~@YZ)Q}yF96}5zXpb&?WOQK~8yE^*C5ip_ZAd8|lY#ER ztRIDC(;r`JH_?Py>*B9xR$f@vxbjG(Vlak6ggI;=0VbR$#Ua`RdS%gA?a(1BmU0m& ztuk!UAzBXvne$?vRC zVpEw|HyfD*Hx2iLL)^~1xeMeXTSQTk=i!ILaujeAMw3rcLaj^^vPBehQRklRhnJW% z+!OQ|&ZM~{nxu9Rf5K#}+>6a4wJfsY!drA%*qu4k^t3xgtt5gpsV^4H)b6^7lFyt* zy2&7WDy25%S<}MlrH{mNqH@7m^9k>HzBB;u6v<;Lb7i$Ivls}j* zNlKdn_eAG!e24Zd_Oa=FsJfD)QS z(lUuNQ?sj_mrE&*r|pQ&i4x#OjM&O^`!;9zPg0_M%wD{Eyf61gDdSW4yzw&1g{?YU zv$40)0#d%lObp%cEA%{}3}LnJ7#a+rT6@Lq(ndox8_$^@eebZdpx+3&6?Tx2HU*j1-ULd^2TqT+IkHF3F5 z8`SE8?jITBAjxu6S}HH-?x2bGg=ONlF7>{wrWdV3 z(2QMhkShYkDO+JT*eY#=%bmNn4IQs2;MKDMwI?XArMZ{fWy_#-4m(x$|HEHyLtIL5 z^7EBBcje=1w7Kq~=#Fp~4i}w~6Kvt-rF0Y5hRldD`tOLG-D^PEl_(i)p>#TGXI9YG z*+V<=w3A5@8srSQ+&-Gj#+~C`eFbwCb?t-E@r`a&8Vfc$wNRoPu$2T^+yZV*aS>6f_6iQkO_9GT?My5>hGLAZjLPVtF9Ex51(jiiNlNk-+oxQ7T?^KLtjl1CNZ$!?v|TnL zumH&HO3VtG(-AI=_ADOA@uhKorowWcD=qIzDR^UkEp;9Nxr4YBp!XQ*QeM!T*eslE z(5?7dRztUcOkZiT^9YlYWiDUQ?uS3bZa4+U-dNDE^qbbrYSXusrf-^Jam!s#Y@*PU zkEwa5THH51V&~UJGeOH~*D=Bavcm|?gDE`3XuHjG6SUQ;TkWmzp=qxL%CjM?*WgYx zTscLu@1!aZzD5VYh(K@;GEtDc`P=NGfT!jhu6Z92LBmMt!)4YGgp}8vKLz*cOK6qn zJX9xzIVoVU5CfX(7E2(1D-@jzBge2gaT|O3xPXD$b4H^9R*|qpo`RcI&qlvTNw-c5 z!^XZsDk)52T}TR#$?ur?;|j8P;R4LjgATf)t)mz?7)UPAc1@(Mj=SMlx5~uiVZav| zQ!a9dUxq_FT^GepB+p5soCtxKz3Bduu@2)6ool8-EY+)#N{|+vbB1Wh3Wq6{v&UGR zW~U`I$6$U{*A|K^S~5ul0&fOq6~qHQUF~4^-#NTYY;H` zWJb6)4m7M!3LRDRcVM?ehHkroQk=>SV0+BlaFY+^_G95OeVeDTJ21FelB5BpX^^AO zz-36v8!W1Z5u|Y(aw`p=3^TMr!d^1QV+=scRffJlVq&mVhn4w?N0)bw1;JH`2x3lT zNMFE%6wgq#x(gSb2@6}pVkT0&4dz(se<&Cad|qG;l2f*v)X1LC2>({9<5~a5$)3N8J8ABV*=Xf#U%)15&-J*6)2RrhhAL8&va1jOXr2v;v)hMoQ#OM^aHlTMV z`%+V2!1{E$=&%~Wl%D0On$Y)!@whFLXocw}=?f3yRt1`1q(!Ft1Fx2^l0#YUcocD*{|%>Q@BUL4f576)xfBPW6I+S$S^b zGAFG{Ljxzl4)OD1#9fS&%xR*6$X{@b zuz9}JxH24RHSz(jjt1|fAAxDjc+O1YAa}0x9bGqRn{(yQ$I4@vi8)jpiNj48i<#AA znRU2JxNG-eHIdJJodOYa5vMhkkFyVtrn_4G={Dj6Ftbcgjm-yjPk72;6T%Pbhdz*v zi<%t+F}r<*h0A|rTAFy>JWs^sCQkrlxIWFZbm&Q5CBiQ2g_~5}@jZRs>9lV;UrDA+ z7u_ssn6WBsOvH)j;%A}iyXWgU1g-ls|C|5$P(Sf1eu{Y*@U!<|Lg3do`fdySL>l+Q zkj>jk`CVb@4}T8lRfUJ^?<#YS4^PNlxE1fdA1{~A8POsyzLr*x5AbQb-F=XL@}%+h z-siWM`8P2L_l@{wx%vF}_{k1_(#OUJJIhDBzmrzy?{4W&1ZH_#$nSHkH=3-&^{&w< zT=(=xLZ@Hz@qX?K@Dq{zzahYXr&asG@tIavxYhzcKZoD0&-d01|BOG#?>q$j=x?Uf z;I~5Qzkj#j^AA1KpPzeO0RPB$`1Xpx+fVVEemlp(20r=hcoPu5wOGNM?};Bh^WSm{ z0@lZ8?o$_?pPLilO$hroDPBtfnk()9P8avfm*(3`_4c!P|M}KqVstaU*6UqU^Z)@Md-?e_a#EN5^jcm*Mr2f ziund&IIP!yT$rZr+7)lP1PSo*OkcbqzjxW;XTcdChkbriAl#Pd>qzb{Hl{R)(HLZ;Z5?e7KW`IJ=D}9?K7Ig*1Ydu zIo#6QX3jV|0y08!NO2zP$-@RNy@;dkLfW^37hHM9zm^%Ad|F#qYg)qZ`;ntjFKuE2 z(bnb7kby_c;GiG9!_B$COB@;U#YwGM&f4VV{sM*we{aJi4dFcsL}EQ&717^!T$;Qf zL_TG3V1pz1oF*no!^tU?GurXH0Cy`4?&B9TcSz{ECzZxBV&U#Z6|!-;3KshDh!KTBx{560PYm%b zU|3UJASR7j-3>B&J}Q;@$90z?@fem>-m9B_*TzTEi*ZeNCvBJ>yoFYW^B947v|^sV zXRf>*2O|f-v;vUr9WE};)Jik}oHwhPotUhm4bQ4eFUl@!R>#JftaE~tDnyvgB6Zmj zmrGtY#i7Dwi({O`EB4NX3;;cpP}2{g{AG0P@lwX3Yf>I0ls7U48$AR3(sE|}TC=%p zu>;PEeuVOu{ThvcM33T{7k9ziK60?9Jz{Mz6IzSslIfgdF()q}#``ScTRqZk%WG1u zNdJ0RmP8xlTrOQYSTapE;Y*${X$?k~-yfb*%=HMVOxLPGy84oY)oEAvmkDhe2bPzz zSK9fm_ZgQTXl+d*w7QBii9`4+W-R3RKrhLptkj1>zBWdG&67%JSdc?oz897m1DMnu(gtyy9>(ovvU1hok4QTA#io;BN?Vh%RJ4JFf>k!-FYd~%;me1fG=N+kyo zGC^JoLV6Zd@tu;_5m#K-8ApP%TBR})j$d>va+3Oo7k~>2oaZpJ}5eRJ{ zSI5_P)=F7W<4u&Vp&y_r>BvM6e3-|TCr#=HmzqX;dG^k3PA2_dQz$oYu-C%l%kP48 zCPdAnLtHJ9bAPtVy+D4jeHus9iJ`lAWU3DyM(@Jcoq+HE0h&gSy zd_35$?6zaj$^hn_AsL`uFKr(It`hd!|AM9#wW^VM!j*1b=~U}VWGh;LK|u@c8M;G- z4Vp+tlb(LSy?PnmP>cy7l-97!dMuY*EvG=oVCiBtYlSgqHa0Lr3@Hg)6BnbVw%7+6 zEnX!VX(%0{QYiN=+m%v1EJ)APL7Z8@(MJ4s4pxd;6~=0dWmaH*KdZ(prK=kKBA8wV z77mA9_T)cfn68S++B+@dGc{G0DYj(^Z%^09lR*3Gva>M364^ln_q-($y2?d(|7ElR zMyFFR zFN-cIPnOF0&a_TS{?co0?JfE?*!28TqtgAiGbJ#m>+BG>q;3gk8MY&*KuV3$xq* z3x<)=|MmH{7)wY0a80KB}H1DO-{%tI~sfpG&s>tTY3qc2dV8T`NHW{b3O{-=J=>{eA`dPGLc$s$A2w{jK2Fl}00fT8&+%kFlW-tl^(z+0AGYG7?OtNkhPfit*Qu=>=NV+Ac4r8f}6J2DRwfGS!bI z10=K2un}g7CT%5y#^lJ9D+onPX}&VLc%|58<2tPw3X|0wxqzJ>!HfC$U4>7gD^#W1 zg4gx|c^gVB$33N1FvED_g2a&u0W=i z$*H-_VHahj1NhqartR%&KHZ_*)cS}f z@ypR~7dB#U7bRoqWS>?iS8ZB%dAQ4Ylf&6k596DN#9hDxfYm7k2DLgNUuqyt7sW60~fWqbYBa)m{f31O?%Ru{u@7Fq^aDXg*H zXqqWDPhSF43@F0<0~vuDVng%}BxLtMmp&@J0lE_$9rjS!(?G9T$-%t&liJRf<3t_%VwFUMot&~kR`SG7kdiU7o6R|keypuxKn@X88XeP(j+2eJpo<+!f;62 z;;%j5PzbCtRlb1kEy5}nO-w@%cMiRD7sfn}*%7ZKrIq7KP>yO6!&M+K-q8?FmBCkv@ZWrx6#R6Ff%xbx|kv}Jj3F`x)NnMB!Y&FBBH?}^+7v9 zM$VRrz%u_&_^L`VJ<$_mkkfFSZWri#*6DUTCAzZ{ER|i!Xw{xjvInz1BkU#2;KK0k zes0zd)fX>)+##gXd&zF(*7Iw_6&X`-(one!%<0Y}r3KW|z4S8yPg}jW=f#$L6Rl-& zYAv4AGz=Hi;i%#X|1_62P2*I0_Jh(DIaUBB%0TyWnazsJ55d201ASG>$e*VxOoh09 zeYd%EL5eQ^;O2-sJp{)IYLl!57a5PW!ZJscc4MadH?SWLrJ&1{xUWk557250x!5#iLinQUV1Lc zc`ws}ZV$JZyqkA;#m|mm6CqJ%!=?J(_KNj78+c5k+GTZ@i7CO|MNCkyA{qtL!m6GI zUVuYMZH2=G*PN|FEVHHCp^v=iM2zGS9)y*?p!$W~a00?tlq_+xzg$yCQtMLiUk;ME zA}DB(R+FF`ezg{YFH)wT=G3KDoZQvLa)VhJ!EgkH9k`}D%}B+Z#=6yHBH$QmY2jjX zJdqVDs4%B0gS30q4c3x7(Q<{<7Bx<8UC@qJ*hW~#cbtL})u*(YyDpGHM9b(gl(73+ zg7aaKwyFqaMD+yCE!8$HauCDpCJZ2suOp&p*wi3f4W;urLh`#B+jIjeAmj>sgidc0R`r~xzOo#p2;gT9S ztoB3qXDE7yiaHwbDfUNZiB4{wv;!O6FqQHpV##VQhvcDc>HuQ|WlTKL{IZ<=(6C_Y zFSiS}`3j1u)Ln+`jx=Q?sR3P2Vb0ny#wNk5TpLr-Pg5AMA);Zx37@1fB#y>zu+dD2 z)Njn&V2iq=tT{l$?v12wJF=%@?6ACsPY7xiX;+_1KVApOVDwN!mykwNm=bI)1nf|p zk-5s^He8J+`xB?!ob5t4&o-7dV^-5P7{c7AJBix%a^DsDD6?EQ%%B*ha88>nKFqZw zNVKb6(Bbo#OhOM*KGo6(_l#zalNgnB`KZTw7;IF!Eq3)vK(SF?7->+vhW4%{=rcX^ zxlfCCATOGe48O|Qf=o$>FEyx+)cF_+8X&lf>AR1HO*F^EaT7v9n3riYf~jzkW;O0J zGsgH<7&ok(akStR+-S;=J0?Jzao`goW?~k@3^`~{;5HLYU>);}#5x95HE@LvYOhNv zDd5CS?P82(rSF6>j5wMr>#B?~HE4%7KogY6WAw`y)?%cr0mBY^46bu#|FpMpMe1(+ z2TURP`4uC&hdA}K>`UAE1}AV~&Y~!W!o7au`^CI1uEWqb**O}Gj%HRcM7H^@GDu2V z5X(8^IjI>pfaeg#T#VvxJACnwD<*@h#NVj&;hgyP$#r6mkq)Kp2h}Ybu1#OBsf}lKF9+1YoI^kQ z3=jGRYJ43!_hP?=o_`vbUPKV+dgU20MhNDEpaFe$)GcODkSEwf4;O+xBEAu9ngael zHZrA0m@>}iOgD?#_Nc@`zb$Z)A4MeLs?66qa=cT5ATP;t1lk?0jNrCb!d4UDSV`)- z1h9;3JkCvOz9Z=1&H^%VCR`Llh9rV~x!ju7^Cg~g6QjVGmo)FfY0UaVL3L&%fCI9Z zC&6Kb5?_#097IsSay%Qbt5xnDax!65E+<;+9;v0l~ z%<1s-5b^EP=TLyc+1zCcY1}L_&jIV_^~HJDU$@pNTlC3RTX^?$9rc9!4~^G&5F1|i z-Ehrlz7?9o95Vh+J(|xud_>>7L@3v~YB6C7qG3%JnB2~M-b>kreF_J7qj`$+j9!GI zfQwJbV>F#f%-5SAS>Nup@80a~Phvf&rvFfA_WkvdUMlOSUjTTsWuF4?(?4I2!S(Zx z^<%MUJUx6o-1tvQzV8+8?{Z~$ii%7a}9zw`N z9e^|Y4iC3W7WwWXjKO9GlWkPixSnI)WY4}i{y4YQ@Bef5@;|@gv$lBm2Fzu;`;LDQ zjdA$i1944k~==x+M_6xdf7 zJnA?3WSMt+a4^t;>n4ctrW~8SOK8u~>wKh>X881-!Hzc%3}8Z`9mvTetKor;o=WJM zRSfN>MLvkE`>fJ>Kv)J;tycImgoIQzLw41_wHA37^{|}he@RY&G{wOEv|sPhnNDEiI!;o*|F&32WSb39QGD5;pXEs6g2Vjht_RY_tko4A#+KBGy<81ss>NYk=B&TRL3ZI|)r z1>h*0nXJboPqC>|w_DAJm*M;~rgT_yHIMc}Tvh17Y>xJoNUO{qEISBMq~qhRbeVs` zdd0B}U5#il#^1v!#oY8uBb7rdc8JaGJkY zgj7nQwFe%JvE_4RKtM;f5fts8+f!^i0*atn5cur@2Y{-C)h8T6H{e(2RFV$> zrL&yL6X~+@y*MRaz!mcdYIXSzb#3M_#p;_pJg-|(1 zv;aouK@tg}on8f({T7r!6AaUA+Z;+f9yQgw1h7b5sZYCXq8pG{#@yFOkgH2ndE24T zwIqyqj2NU===PG=F0r;;YMFGn)r?hF8hy1H8z8^`k}RX3TnQM_aQsdvcXdv4UjfIN zHNdM?x9x$!B`RHQ#E=bc)egD^Y z)0j_>%`!QJN$KWrNeG2noh{ke&QH1$O1Y<1lL%Khl+j$3+Am2Jb_B5evAz${QbCX& za|@ywVLv3c4DqbmWFyj~LsMKZL8nd}Oa%BPl$@;7mh#sa2~Dp@7ZT{xDl}C}FI2Zq z0b6L?4Ea`K0Z{tc`jqx)m-)xE^5R~JFqY~niiT&Hanp+H$ka`ji({42WGM{0js~O} z5SFCk1SAx2&W<|RtZP-$DH zmr{;Al`vOOr%w|0V4wR)?5Q%D8nny=-NwQrzv+~fcvk0%uG-LeQz@{h*wN>!m}6D3 z>GJLmSMF;_9ikTFq!!g;6;1PW`Qz?Fk0$O_Vu7JoW`pD%L@;e6TwED4rtqGKwI=>L zTh1o-zDz11)HNgyL23D?oG?2w!9GJX%UkA=Nd{tDBQ4j$L;GK-;$-x^>%bY*o*-PYLf+{hHQ43bZ^T&eHEBsI)WrY|YM z!4;IzVvrkcRTyr63bSl6z3W%u0V!yg0<`qo%sEhZqI9x*8N04x;)678cr}7SIcXUR z+A`wph_-ZYQf#V)+}qB>lpB{zCTT#qbgreMOjER$c#^9Oh9J`aN87(B$CBha+9)Bb z_kU&lr?-LxK=(*VRdagG_HUvTJF zqt|F(Lo-4Fht@ci zcw*7!#!8Em)6pQxWp|TE@zkOq9Lrg5+gJuwwUq(eCGf$+AoO{C+<2P^Oq$ssA<_*D zz0WQ}cXWsNt-|W*xj9?sA`$T+KYERL`kP?RveDExl0-q zS56U_(gM9z#0qzZY98sF;Iz6jVptY2f|G-(oFY-m_=f>VyYq#<#Gu5>i(#09PTg^y ze33B%n?B#LyT6kCg`lR$woD!DVO5!weCX#-J1A#oXIOyuNp|bQs??)akKiO@@yhVM zQYE@wPsWQZs_yi1vKLCnz7Ytx5Gac|+X_=_Q(p(xihuli;0RZ?XQ?XH!$_Vsl$F`q zU12;LlL%R6JD@`_XAK`Gbc#=_8Zl!?vWfmQY!}UYl8zms+y$S?gm;xxLYR6KAd0;T zz%<7miD0Z(+A%?2V6rGN*O@3!5$Zn4S2p|urM z=8OdWl&;8@efg`(Nkun8r4wc{L;3eKR@ZCqh^bg}Eb|c<0Z!pmL+$#??wI@OsIInxQ4SnpSdLwT#B^+@F2?W))iQ!d0*tjpId{~pmyoZ zbgy~JD%2+T5&hPiY`(7m56NNmHnRd!v<$Zy$$_=&pJ}sw z5%@qWe8n)61xckjmx?69LUIwE86yP@WPH>eCb}QkuzZPXHK%Y)MG0Fv{C`7)duP)6 zHc%Zle}}=05eQuC%qixio2Hf54%fVx**Yk3Q8C!<<$`L#Sc0Nid%sgzj}QEE0*lEY zEd$m&8P8}ew^=wdSU}|Y6K0su{!C_iM)$t9pU`>6SSaIAq9WYiUCjb$#eeHnQGZ}<~^%k?DDllEuwr(uDf5B+X%>Z6m~)Z{uruiF(k7vhhTlrd$mSc8%fxm zSl}VQnX->040B2Nv8JvSRzZu%5A;06FTzED6*L4G`9v;wXwf8yWzZFQ zlRCifAUpc=;)IWw(g$LI&G(|*+42*5(zrz0eut%%vTb zGgI(C76%v04~Pa$MNxM4d1b{m-glaQtbVgotoRBdw))u%e!xMdJY>6GQbcOiagc(T zQ0W*-0C$DTO@C)2sP=U~<&b{8DmCzp;d;TqEOZCG#fZB2cBL|u&XKn%DWA4^k^C-U z@vM66aafDqjh2}+ikenJaFdXRz>K#Qt#JC0ux%zHWLSr^`R1yR;xFd8Wdlx!7fcFz zBXH})aYt7~e}UE`x$^RoHi(th?6=Z$OWX=sUr6I9$D9pANI+~M*rqs)wkm{q=1p$b z<}wahQr76oj9q1zp4vdLI=cv8Ov$ox9fT~KHhy=?7K2ZTTZD<_3W*i!Mg1Wd{6}S% zI0C*p6p`IZ`=62!w_-vr>4;v_VuY~_ST8~GaW>yY@wln}>jGnE<#7GBowOV$?oAMXzvPmJZe zfK>Ni{@xj-UslPD@xdF%0T<3xOcLHM%`C zca3Z|M*$bi+y+;0y`{MPcF{GeHt=G!n2A~ z>%+bn9T@O>L>b87{(crZ`AUr>E=y}e)bU+|z6V^dOX6g${eU6)J%aDYKlgGV;lscC z!|(hTf93i=aSMR|!v!9rCrZujj2Qhk+%e%Uzu;5Hxb5nn;>r=@PD&v@{IrOaEJj^h#V z?G8=gLhTv_4refI{>R&6!V4|&=hbnuw@LO`&@`CsNI(5}34p`H?6MgcjSQ*1@rD%U zr*o5;24i0>3vzm|u|-WDK^k0W!+1c;l7(Ns!KO#b)e+qXEtiBeS_!bh(&H0Hg?-$l ztrUv$lFcTw>kpTM86u-0&)PP&KPf%q^4Zi}8*ZK{VAIChk7V-bfMQ(+Y#iU!K{1M~ z6tWZ83xQZ5PG*^Q4SY-a&h`1Q9LRk>gMbgV!zPkz#vYkeX;(iH#Ob6%3-*cBQrlKo zPm@EkF++21W@WvY3*fjPjRPXJ&npR@m&{EQ+D(u6m|>ZJUp(+ouQ-gl8i;bpI%tq( z#Nd-!vTAwtFL8fEiWme#o80n(bLv1U)Bef$n9XQ%UBl^*g3&wi&H&jSSS)Gg&JYS4 zUK=V1rmx1j!}8o*l&Go&;>(&k6&!)9hO?(M-<|TD!eRgU3K~6+Yjhws(FDNglj371 z{MTtAl9ZGL=cEuBp+2kS1%}deanB{@=~G+uf{?**wW9MloGFkQ>Lieo09Qb$za8h9 zh%Bnl?0Zi0U^vT^AI!`Ua+w0qng zb||DS%V#i0p$r@Ysnk?9G*%pm%A6-?nVeSNCH0Cv6fDLKILyo=?I^AcYl*rV$x%J_ zOvQv~SygRlaF5hgz;s4^P!tbE$lj0-oa{1p1MyZoLBS2+hTfvFw#KG@;^C?OC5 z9-25tCp_z4?#4J)P9z0ZA&_wvgAq;~vX}BLRH;-eI4IK3m|=s$cy)~pHOM5~hk`Q( zTBm@M2;_AxcadQ^tB!`>64q%OHk4B&EZ0GoI9MSU2*ZY?5VqI~x8SzFn$$E1PFEi^ z5cdKgwv9K+Muu%D%CHicB%N_5jRK#;M)g5xsh%-fsb|jnVfe`kdIaKt2mB^*HnI)p zy*i#eN1Q~$oSAmFv(S&^Bgk?p7;JM4`(&;j=#2B6mIwthJ-7H)LvDeHLF1p7-Mn@o zo@d(9juP979i)wbgA|qjPBS6?o9w_0ug#B+M*VtBrbsqjO4}%oJ*3Q(S5t{DY08a)-)wNM-1r`$g^(! z)ANy6XF?4b4p?mV=!skRT@_=`6VkaHUd}8vL<|n`&`dgp?4uOW4oc=^DF$jbJPF3y zd&r^B3LkY@#||xRn*6;18L*00djZW!Dk#c>g<6cYl!udIB^o<;5Ezu61A~19YL&0e z$_QdgN;1z#e@%Y(JcCA|k)}Z8+>5Q!;=n|p0J0>l?$g$>w~s>24B8)sx9bxoodqrU z1-xw3BK#RLL~R)pTj_H;6?Fou`-nUwO*YrgReA;lidq*eS7noysbxX3*-Ou!`3~ZT zaP;uEFagJC50wA}#Nb&Cb6Jw6s-#_s-%Y~)BUB_^G=PltPy`k#8wg}D?>X)|vu(%R z0vboJr(o0iV*$?@r#K#)j0oI8MM$DSzLcUql?}?&YR6KhN z#xu7n=L(P?>W&pDMnN5{k20MNgsbUo!U0eD-x!1>hDa)5n|YTtmI8*Ic~md+2p)WZ zgxw|*Q9TpArsfi5>bgx-$PUv`s#En12K6DDL_o-{UVPUtZV}je!Pt0$42wEfw5t+dy zx}%j4`-^;4$0Ku8aT03h27O1I!)zMf4V@E(pt?UbMrn{}2wfpNrQkOr+F&xRiC{!P zgdT+=Ys>Zr%+@mXzhQKJ>$D9lIz}Sx8)D2{p5q~8=oC746zyH@a=wLCBP~vz0E42x zm5CvTWjXh4Rn!QREmi?+=kUrnMs(ie=;~cL(uT5X>@rYSe4ug|&7=Vqw)b+J-KE&C z6}>7ya#GtyS_1aCq1F7vjyk2E!gNwN8;{Px1(Ej1WoXzYmc?rq%p9${JM+|Qz3&{W{Y$E4R!;r@-nG`qNEZfrwot4+vo zL83Sj6{M5C{b*~xyC~cOLde9RaZlgJ_k*yVS}?$98h7A?-jt{>`RX_j3tg4-Zzxw$ z%BUc^KWq;LD^PI?Akka)G$c-a3Gp|Jy2kNFxh=Z zR6=1@nhxUu(SBgwSw%!niSU~XqSF-j2T=tltqk&QE?c^zJ49bnOA5k-!DhWUw`)UE zf^0=|cB69{f(?u8WU#*(A3muX;aF2r9d<#OkFgMWf-TxOAO?8eL_UhL!J~DL^mnAX zCOEti%Mg1yLssrA<$kIi)h h#`x9Q<7G_VyGO%-^9)3-j-RiQH-Bu}%q> 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 literal 0 HcmV?d00001 diff --git a/test/unittest/jasmine-2.2.0/console.js b/test/unittest/jasmine-2.2.0/console.js new file mode 100644 index 0000000..c5835b6 --- /dev/null +++ b/test/unittest/jasmine-2.2.0/console.js @@ -0,0 +1,184 @@ +/* +Copyright (c) 2008-2015 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +getJasmineRequireObj().console = function(jRequire, j$) { + j$.ConsoleReporter = jRequire.ConsoleReporter(); +}; + +getJasmineRequireObj().ConsoleReporter = function() { + + var noopTimer = { + start: function(){}, + elapsed: function(){ return 0; } + }; + + function ConsoleReporter(options) { + var print = options.print, + showColors = options.showColors || false, + onComplete = options.onComplete || function() {}, + timer = options.timer || noopTimer, + specCount, + failureCount, + failedSpecs = [], + pendingCount, + ansi = { + green: '\x1B[32m', + red: '\x1B[31m', + yellow: '\x1B[33m', + none: '\x1B[0m' + }, + failedSuites = []; + + print('ConsoleReporter is deprecated and will be removed in a future version.'); + + this.jasmineStarted = function() { + specCount = 0; + failureCount = 0; + pendingCount = 0; + print('Started'); + printNewline(); + timer.start(); + }; + + this.jasmineDone = function() { + //printNewline(); + //for (var i = 0; i < failedSpecs.length; i++) { + // specFailureDetails(failedSpecs[i]); + //} + + if(specCount > 0) { + printNewline(); + + var specCounts = specCount + ' ' + plural('spec', specCount) + ', ' + + failureCount + ' ' + plural('failure', failureCount); + + if (pendingCount) { + specCounts += ', ' + pendingCount + ' pending ' + plural('spec', pendingCount); + } + + print(specCounts); + } else { + print('No specs found'); + } + + printNewline(); + var seconds = timer.elapsed() / 1000; + print('Finished in ' + seconds + ' ' + plural('second', seconds)); + //printNewline(); + + //for(i = 0; i < failedSuites.length; i++) { + // suiteFailureDetails(failedSuites[i]); + //} + + onComplete(failureCount === 0); + }; + + this.specDone = function(result) { + specCount++; + + if (result.status == 'pending') { + pendingCount++; + print(colored('yellow', '*')); + return; + } + + if (result.status == 'passed') { + print(colored('green', '.')); + return; + } + + if (result.status == 'failed') { + failureCount++; + failedSpecs.push(result); + print(colored('red', 'F')); + specFailureDetails(result); + } + }; + + this.suiteDone = function(result) { + if (result.failedExpectations && result.failedExpectations.length > 0) { + failureCount++; + failedSuites.push(result); + suiteFailureDetails(result); + } + }; + + return this; + + function printNewline() { + print('\n'); + } + + function colored(color, str) { + return showColors ? (ansi[color] + str + ansi.none) : str; + } + + function plural(str, count) { + return count == 1 ? str : str + 's'; + } + + function repeat(thing, times) { + var arr = []; + for (var i = 0; i < times; i++) { + arr.push(thing); + } + return arr; + } + + function indent(str, spaces) { + var lines = (str || '').split('\n'); + var newArr = []; + for (var i = 0; i < lines.length; i++) { + newArr.push(repeat(' ', spaces).join('') + lines[i]); + } + return newArr.join('\n'); + } + + function specFailureDetails(result) { + printNewline(); + print(result.fullName); + + for (var i = 0; i < result.failedExpectations.length; i++) { + var failedExpectation = result.failedExpectations[i]; + printNewline(); + print(indent(failedExpectation.message, 2)); + print(indent(failedExpectation.stack, 2)); + } + + printNewline(); + } + + function suiteFailureDetails(result) { + for (var i = 0; i < result.failedExpectations.length; i++) { + printNewline(); + print(colored('red', 'An error was thrown in an afterAll')); + printNewline(); + print(colored('red', 'AfterAll ' + result.failedExpectations[i].message)); + + } + printNewline(); + } + } + + return ConsoleReporter; +}; diff --git a/test/unittest/jasmine-2.2.0/jasmine-html.js b/test/unittest/jasmine-2.2.0/jasmine-html.js new file mode 100644 index 0000000..bee5a04 --- /dev/null +++ b/test/unittest/jasmine-2.2.0/jasmine-html.js @@ -0,0 +1,416 @@ +/* +Copyright (c) 2008-2015 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +jasmineRequire.html = function(j$) { + j$.ResultsNode = jasmineRequire.ResultsNode(); + j$.HtmlReporter = jasmineRequire.HtmlReporter(j$); + j$.QueryString = jasmineRequire.QueryString(); + j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(); +}; + +jasmineRequire.HtmlReporter = function(j$) { + + var noopTimer = { + start: function() {}, + elapsed: function() { return 0; } + }; + + function HtmlReporter(options) { + var env = options.env || {}, + getContainer = options.getContainer, + createElement = options.createElement, + createTextNode = options.createTextNode, + onRaiseExceptionsClick = options.onRaiseExceptionsClick || function() {}, + addToExistingQueryString = options.addToExistingQueryString || defaultQueryString, + timer = options.timer || noopTimer, + results = [], + specsExecuted = 0, + failureCount = 0, + pendingSpecCount = 0, + htmlReporterMain, + symbols, + failedSuites = []; + + this.initialize = function() { + clearPrior(); + htmlReporterMain = createDom('div', {className: 'jasmine_html-reporter'}, + createDom('div', {className: 'banner'}, + createDom('a', {className: 'title', href: 'http://jasmine.github.io/', target: '_blank'}), + createDom('span', {className: 'version'}, j$.version) + ), + createDom('ul', {className: 'symbol-summary'}), + createDom('div', {className: 'alert'}), + createDom('div', {className: 'results'}, + createDom('div', {className: 'failures'}) + ) + ); + getContainer().appendChild(htmlReporterMain); + + symbols = find('.symbol-summary'); + }; + + var totalSpecsDefined; + this.jasmineStarted = function(options) { + totalSpecsDefined = options.totalSpecsDefined || 0; + timer.start(); + }; + + var summary = createDom('div', {className: 'summary'}); + + var topResults = new j$.ResultsNode({}, '', null), + currentParent = topResults; + + this.suiteStarted = function(result) { + currentParent.addChild(result, 'suite'); + currentParent = currentParent.last(); + }; + + this.suiteDone = function(result) { + if (result.status == 'failed') { + failedSuites.push(result); + } + + if (currentParent == topResults) { + return; + } + + currentParent = currentParent.parent; + }; + + this.specStarted = function(result) { + currentParent.addChild(result, 'spec'); + }; + + var failures = []; + this.specDone = function(result) { + if(noExpectations(result) && typeof console !== 'undefined' && typeof console.error !== 'undefined') { + console.error('Spec \'' + result.fullName + '\' has no expectations.'); + } + + if (result.status != 'disabled') { + specsExecuted++; + } + + symbols.appendChild(createDom('li', { + className: noExpectations(result) ? 'empty' : result.status, + id: 'spec_' + result.id, + title: result.fullName + } + )); + + if (result.status == 'failed') { + failureCount++; + + var failure = + createDom('div', {className: 'spec-detail failed'}, + createDom('div', {className: 'description'}, + createDom('a', {title: result.fullName, href: specHref(result)}, result.fullName) + ), + createDom('div', {className: 'messages'}) + ); + var messages = failure.childNodes[1]; + + for (var i = 0; i < result.failedExpectations.length; i++) { + var expectation = result.failedExpectations[i]; + messages.appendChild(createDom('div', {className: 'result-message'}, expectation.message)); + messages.appendChild(createDom('div', {className: 'stack-trace'}, expectation.stack)); + } + + failures.push(failure); + } + + if (result.status == 'pending') { + pendingSpecCount++; + } + }; + + this.jasmineDone = function() { + var banner = find('.banner'); + banner.appendChild(createDom('span', {className: 'duration'}, 'finished in ' + timer.elapsed() / 1000 + 's')); + + var alert = find('.alert'); + + alert.appendChild(createDom('span', { className: 'exceptions' }, + createDom('label', { className: 'label', 'for': 'raise-exceptions' }, 'raise exceptions'), + createDom('input', { + className: 'raise', + id: 'raise-exceptions', + type: 'checkbox' + }) + )); + var checkbox = find('#raise-exceptions'); + + checkbox.checked = !env.catchingExceptions(); + checkbox.onclick = onRaiseExceptionsClick; + + if (specsExecuted < totalSpecsDefined) { + var skippedMessage = 'Ran ' + specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all'; + alert.appendChild( + createDom('span', {className: 'bar skipped'}, + createDom('a', {href: '?', title: 'Run all specs'}, skippedMessage) + ) + ); + } + var statusBarMessage = ''; + var statusBarClassName = 'bar '; + + if (totalSpecsDefined > 0) { + statusBarMessage += pluralize('spec', specsExecuted) + ', ' + pluralize('failure', failureCount); + if (pendingSpecCount) { statusBarMessage += ', ' + pluralize('pending spec', pendingSpecCount); } + statusBarClassName += (failureCount > 0) ? 'failed' : 'passed'; + } else { + statusBarClassName += 'skipped'; + statusBarMessage += 'No specs found'; + } + + alert.appendChild(createDom('span', {className: statusBarClassName}, statusBarMessage)); + + for(i = 0; i < failedSuites.length; i++) { + var failedSuite = failedSuites[i]; + for(var j = 0; j < failedSuite.failedExpectations.length; j++) { + var errorBarMessage = 'AfterAll ' + failedSuite.failedExpectations[j].message; + var errorBarClassName = 'bar errored'; + alert.appendChild(createDom('span', {className: errorBarClassName}, errorBarMessage)); + } + } + + var results = find('.results'); + results.appendChild(summary); + + summaryList(topResults, summary); + + function summaryList(resultsTree, domParent) { + var specListNode; + for (var i = 0; i < resultsTree.children.length; i++) { + var resultNode = resultsTree.children[i]; + if (resultNode.type == 'suite') { + var suiteListNode = createDom('ul', {className: 'suite', id: 'suite-' + resultNode.result.id}, + createDom('li', {className: 'suite-detail'}, + createDom('a', {href: specHref(resultNode.result)}, resultNode.result.description) + ) + ); + + summaryList(resultNode, suiteListNode); + domParent.appendChild(suiteListNode); + } + if (resultNode.type == 'spec') { + if (domParent.getAttribute('class') != 'specs') { + specListNode = createDom('ul', {className: 'specs'}); + domParent.appendChild(specListNode); + } + var specDescription = resultNode.result.description; + if(noExpectations(resultNode.result)) { + specDescription = 'SPEC HAS NO EXPECTATIONS ' + specDescription; + } + if(resultNode.result.status === 'pending' && resultNode.result.pendingReason !== '') { + specDescription = specDescription + ' PENDING WITH MESSAGE: ' + resultNode.result.pendingReason; + } + specListNode.appendChild( + createDom('li', { + className: resultNode.result.status, + id: 'spec-' + resultNode.result.id + }, + createDom('a', {href: specHref(resultNode.result)}, specDescription) + ) + ); + } + } + } + + if (failures.length) { + alert.appendChild( + createDom('span', {className: 'menu bar spec-list'}, + createDom('span', {}, 'Spec List | '), + createDom('a', {className: 'failures-menu', href: '#'}, 'Failures'))); + alert.appendChild( + createDom('span', {className: 'menu bar failure-list'}, + createDom('a', {className: 'spec-list-menu', href: '#'}, 'Spec List'), + createDom('span', {}, ' | Failures '))); + + find('.failures-menu').onclick = function() { + setMenuModeTo('failure-list'); + }; + find('.spec-list-menu').onclick = function() { + setMenuModeTo('spec-list'); + }; + + setMenuModeTo('failure-list'); + + var failureNode = find('.failures'); + for (var i = 0; i < failures.length; i++) { + failureNode.appendChild(failures[i]); + } + } + }; + + return this; + + function find(selector) { + return getContainer().querySelector('.jasmine_html-reporter ' + selector); + } + + function clearPrior() { + // return the reporter + var oldReporter = find(''); + + if(oldReporter) { + getContainer().removeChild(oldReporter); + } + } + + function createDom(type, attrs, childrenVarArgs) { + var el = createElement(type); + + for (var i = 2; i < arguments.length; i++) { + var child = arguments[i]; + + if (typeof child === 'string') { + el.appendChild(createTextNode(child)); + } else { + if (child) { + el.appendChild(child); + } + } + } + + for (var attr in attrs) { + if (attr == 'className') { + el[attr] = attrs[attr]; + } else { + el.setAttribute(attr, attrs[attr]); + } + } + + return el; + } + + function pluralize(singular, count) { + var word = (count == 1 ? singular : singular + 's'); + + return '' + count + ' ' + word; + } + + function specHref(result) { + return addToExistingQueryString('spec', result.fullName); + } + + function defaultQueryString(key, value) { + return '?' + key + '=' + value; + } + + function setMenuModeTo(mode) { + htmlReporterMain.setAttribute('class', 'jasmine_html-reporter ' + mode); + } + + function noExpectations(result) { + return (result.failedExpectations.length + result.passedExpectations.length) === 0 && + result.status === 'passed'; + } + } + + return HtmlReporter; +}; + +jasmineRequire.HtmlSpecFilter = function() { + function HtmlSpecFilter(options) { + var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); + var filterPattern = new RegExp(filterString); + + this.matches = function(specName) { + return filterPattern.test(specName); + }; + } + + return HtmlSpecFilter; +}; + +jasmineRequire.ResultsNode = function() { + function ResultsNode(result, type, parent) { + this.result = result; + this.type = type; + this.parent = parent; + + this.children = []; + + this.addChild = function(result, type) { + this.children.push(new ResultsNode(result, type, this)); + }; + + this.last = function() { + return this.children[this.children.length - 1]; + }; + } + + return ResultsNode; +}; + +jasmineRequire.QueryString = function() { + function QueryString(options) { + + this.navigateWithNewParam = function(key, value) { + options.getWindowLocation().search = this.fullStringWithNewParam(key, value); + }; + + this.fullStringWithNewParam = function(key, value) { + var paramMap = queryStringToParamMap(); + paramMap[key] = value; + return toQueryString(paramMap); + }; + + this.getParam = function(key) { + return queryStringToParamMap()[key]; + }; + + return this; + + function toQueryString(paramMap) { + var qStrPairs = []; + for (var prop in paramMap) { + qStrPairs.push(encodeURIComponent(prop) + '=' + encodeURIComponent(paramMap[prop])); + } + return '?' + qStrPairs.join('&'); + } + + function queryStringToParamMap() { + var paramStr = options.getWindowLocation().search.substring(1), + params = [], + paramMap = {}; + + if (paramStr.length > 0) { + params = paramStr.split('&'); + for (var i = 0; i < params.length; i++) { + var p = params[i].split('='); + var value = decodeURIComponent(p[1]); + if (value === 'true' || value === 'false') { + value = JSON.parse(value); + } + paramMap[decodeURIComponent(p[0])] = value; + } + } + + return paramMap; + } + + } + + return QueryString; +}; diff --git a/test/unittest/jasmine-2.2.0/jasmine.css b/test/unittest/jasmine-2.2.0/jasmine.css new file mode 100644 index 0000000..ecc5f5e --- /dev/null +++ b/test/unittest/jasmine-2.2.0/jasmine.css @@ -0,0 +1,62 @@ +body { overflow-y: scroll; } + +.jasmine_html-reporter { background-color: #eee; padding: 5px; margin: -8px; font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333; } +.jasmine_html-reporter a { text-decoration: none; } +.jasmine_html-reporter a:hover { text-decoration: underline; } +.jasmine_html-reporter p, .jasmine_html-reporter h1, .jasmine_html-reporter h2, .jasmine_html-reporter h3, .jasmine_html-reporter h4, .jasmine_html-reporter h5, .jasmine_html-reporter h6 { margin: 0; line-height: 14px; } +.jasmine_html-reporter .banner, .jasmine_html-reporter .symbol-summary, .jasmine_html-reporter .summary, .jasmine_html-reporter .result-message, .jasmine_html-reporter .spec .description, .jasmine_html-reporter .spec-detail .description, .jasmine_html-reporter .alert .bar, .jasmine_html-reporter .stack-trace { padding-left: 9px; padding-right: 9px; } +.jasmine_html-reporter .banner { position: relative; } +.jasmine_html-reporter .banner .title { background: url('data:image/png;base64,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') no-repeat; background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=') no-repeat, none; -moz-background-size: 100%; -o-background-size: 100%; -webkit-background-size: 100%; background-size: 100%; display: block; float: left; width: 90px; height: 25px; } +.jasmine_html-reporter .banner .version { margin-left: 14px; position: relative; top: 6px; } +.jasmine_html-reporter .banner .duration { position: absolute; right: 14px; top: 6px; } +.jasmine_html-reporter #jasmine_content { position: fixed; right: 100%; } +.jasmine_html-reporter .version { color: #aaa; } +.jasmine_html-reporter .banner { margin-top: 14px; } +.jasmine_html-reporter .duration { color: #aaa; float: right; } +.jasmine_html-reporter .symbol-summary { overflow: hidden; *zoom: 1; margin: 14px 0; } +.jasmine_html-reporter .symbol-summary li { display: inline-block; height: 8px; width: 14px; font-size: 16px; } +.jasmine_html-reporter .symbol-summary li.passed { font-size: 14px; } +.jasmine_html-reporter .symbol-summary li.passed:before { color: #007069; content: "\02022"; } +.jasmine_html-reporter .symbol-summary li.failed { line-height: 9px; } +.jasmine_html-reporter .symbol-summary li.failed:before { color: #ca3a11; content: "\d7"; font-weight: bold; margin-left: -1px; } +.jasmine_html-reporter .symbol-summary li.disabled { font-size: 14px; } +.jasmine_html-reporter .symbol-summary li.disabled:before { color: #bababa; content: "\02022"; } +.jasmine_html-reporter .symbol-summary li.pending { line-height: 17px; } +.jasmine_html-reporter .symbol-summary li.pending:before { color: #ba9d37; content: "*"; } +.jasmine_html-reporter .symbol-summary li.empty { font-size: 14px; } +.jasmine_html-reporter .symbol-summary li.empty:before { color: #ba9d37; content: "\02022"; } +.jasmine_html-reporter .exceptions { color: #fff; float: right; margin-top: 5px; margin-right: 5px; } +.jasmine_html-reporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; } +.jasmine_html-reporter .bar.failed { background-color: #ca3a11; } +.jasmine_html-reporter .bar.passed { background-color: #007069; } +.jasmine_html-reporter .bar.skipped { background-color: #bababa; } +.jasmine_html-reporter .bar.errored { background-color: #ca3a11; } +.jasmine_html-reporter .bar.menu { background-color: #fff; color: #aaa; } +.jasmine_html-reporter .bar.menu a { color: #333; } +.jasmine_html-reporter .bar a { color: white; } +.jasmine_html-reporter.spec-list .bar.menu.failure-list, .jasmine_html-reporter.spec-list .results .failures { display: none; } +.jasmine_html-reporter.failure-list .bar.menu.spec-list, .jasmine_html-reporter.failure-list .summary { display: none; } +.jasmine_html-reporter .running-alert { background-color: #666; } +.jasmine_html-reporter .results { margin-top: 14px; } +.jasmine_html-reporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; } +.jasmine_html-reporter.showDetails .summaryMenuItem:hover { text-decoration: underline; } +.jasmine_html-reporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; } +.jasmine_html-reporter.showDetails .summary { display: none; } +.jasmine_html-reporter.showDetails #details { display: block; } +.jasmine_html-reporter .summaryMenuItem { font-weight: bold; text-decoration: underline; } +.jasmine_html-reporter .summary { margin-top: 14px; } +.jasmine_html-reporter .summary ul { list-style-type: none; margin-left: 14px; padding-top: 0; padding-left: 0; } +.jasmine_html-reporter .summary ul.suite { margin-top: 7px; margin-bottom: 7px; } +.jasmine_html-reporter .summary li.passed a { color: #007069; } +.jasmine_html-reporter .summary li.failed a { color: #ca3a11; } +.jasmine_html-reporter .summary li.empty a { color: #ba9d37; } +.jasmine_html-reporter .summary li.pending a { color: #ba9d37; } +.jasmine_html-reporter .description + .suite { margin-top: 0; } +.jasmine_html-reporter .suite { margin-top: 14px; } +.jasmine_html-reporter .suite a { color: #333; } +.jasmine_html-reporter .failures .spec-detail { margin-bottom: 28px; } +.jasmine_html-reporter .failures .spec-detail .description { background-color: #ca3a11; } +.jasmine_html-reporter .failures .spec-detail .description a { color: white; } +.jasmine_html-reporter .result-message { padding-top: 14px; color: #333; white-space: pre; } +.jasmine_html-reporter .result-message span.result { display: block; } +.jasmine_html-reporter .stack-trace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666; border: 1px solid #ddd; background: white; white-space: pre; } diff --git a/test/unittest/jasmine-2.2.0/jasmine.js b/test/unittest/jasmine-2.2.0/jasmine.js new file mode 100644 index 0000000..6bf3f02 --- /dev/null +++ b/test/unittest/jasmine-2.2.0/jasmine.js @@ -0,0 +1,3048 @@ +/* +Copyright (c) 2008-2015 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +var getJasmineRequireObj = (function (jasmineGlobal) { + var jasmineRequire; + + if (typeof module !== 'undefined' && module.exports) { + jasmineGlobal = global; + jasmineRequire = exports; + } else { + if (typeof window !== 'undefined' && typeof window.toString === 'function' && window.toString() === '[object GjsGlobal]') { + jasmineGlobal = window; + } + jasmineRequire = jasmineGlobal.jasmineRequire = jasmineGlobal.jasmineRequire || {}; + } + + function getJasmineRequire() { + return jasmineRequire; + } + + getJasmineRequire().core = function(jRequire) { + var j$ = {}; + + jRequire.base(j$, jasmineGlobal); + j$.util = jRequire.util(); + j$.Any = jRequire.Any(); + j$.Anything = jRequire.Anything(j$); + j$.CallTracker = jRequire.CallTracker(); + j$.MockDate = jRequire.MockDate(); + j$.Clock = jRequire.Clock(); + j$.DelayedFunctionScheduler = jRequire.DelayedFunctionScheduler(); + j$.Env = jRequire.Env(j$); + j$.ExceptionFormatter = jRequire.ExceptionFormatter(); + j$.Expectation = jRequire.Expectation(); + j$.buildExpectationResult = jRequire.buildExpectationResult(); + j$.JsApiReporter = jRequire.JsApiReporter(); + j$.matchersUtil = jRequire.matchersUtil(j$); + j$.ObjectContaining = jRequire.ObjectContaining(j$); + j$.ArrayContaining = jRequire.ArrayContaining(j$); + j$.pp = jRequire.pp(j$); + j$.QueueRunner = jRequire.QueueRunner(j$); + j$.ReportDispatcher = jRequire.ReportDispatcher(); + j$.Spec = jRequire.Spec(j$); + j$.SpyRegistry = jRequire.SpyRegistry(j$); + j$.SpyStrategy = jRequire.SpyStrategy(); + j$.StringMatching = jRequire.StringMatching(j$); + j$.Suite = jRequire.Suite(); + j$.Timer = jRequire.Timer(); + j$.version = jRequire.version(); + + j$.matchers = jRequire.requireMatchers(jRequire, j$); + + return j$; + }; + + return getJasmineRequire; +})(this); + +getJasmineRequireObj().requireMatchers = function(jRequire, j$) { + var availableMatchers = [ + 'toBe', + 'toBeCloseTo', + 'toBeDefined', + 'toBeFalsy', + 'toBeGreaterThan', + 'toBeLessThan', + 'toBeNaN', + 'toBeNull', + 'toBeTruthy', + 'toBeUndefined', + 'toContain', + 'toEqual', + 'toHaveBeenCalled', + 'toHaveBeenCalledWith', + 'toMatch', + 'toThrow', + 'toThrowError' + ], + matchers = {}; + + for (var i = 0; i < availableMatchers.length; i++) { + var name = availableMatchers[i]; + matchers[name] = jRequire[name](j$); + } + + return matchers; +}; + +getJasmineRequireObj().base = function(j$, jasmineGlobal) { + j$.unimplementedMethod_ = function() { + throw new Error('unimplemented method'); + }; + + j$.MAX_PRETTY_PRINT_DEPTH = 40; + j$.MAX_PRETTY_PRINT_ARRAY_LENGTH = 100; + j$.DEFAULT_TIMEOUT_INTERVAL = 5000; + + j$.getGlobal = function() { + return jasmineGlobal; + }; + + j$.getEnv = function(options) { + var env = j$.currentEnv_ = j$.currentEnv_ || new j$.Env(options); + //jasmine. singletons in here (setTimeout blah blah). + return env; + }; + + j$.isArray_ = function(value) { + return j$.isA_('Array', value); + }; + + j$.isString_ = function(value) { + return j$.isA_('String', value); + }; + + j$.isNumber_ = function(value) { + return j$.isA_('Number', value); + }; + + j$.isA_ = function(typeName, value) { + return Object.prototype.toString.apply(value) === '[object ' + typeName + ']'; + }; + + j$.isDomNode = function(obj) { + return obj.nodeType > 0; + }; + + j$.fnNameFor = function(func) { + return func.name || func.toString().match(/^\s*function\s*(\w*)\s*\(/)[1]; + }; + + j$.any = function(clazz) { + return new j$.Any(clazz); + }; + + j$.anything = function() { + return new j$.Anything(); + }; + + j$.objectContaining = function(sample) { + return new j$.ObjectContaining(sample); + }; + + j$.stringMatching = function(expected) { + return new j$.StringMatching(expected); + }; + + j$.arrayContaining = function(sample) { + return new j$.ArrayContaining(sample); + }; + + j$.createSpy = function(name, originalFn) { + + var spyStrategy = new j$.SpyStrategy({ + name: name, + fn: originalFn, + getSpy: function() { return spy; } + }), + callTracker = new j$.CallTracker(), + spy = function() { + var callData = { + object: this, + args: Array.prototype.slice.apply(arguments) + }; + + callTracker.track(callData); + var returnValue = spyStrategy.exec.apply(this, arguments); + callData.returnValue = returnValue; + + return returnValue; + }; + + for (var prop in originalFn) { + if (prop === 'and' || prop === 'calls') { + throw new Error('Jasmine spies would overwrite the \'and\' and \'calls\' properties on the object being spied upon'); + } + + spy[prop] = originalFn[prop]; + } + + spy.and = spyStrategy; + spy.calls = callTracker; + + return spy; + }; + + j$.isSpy = function(putativeSpy) { + if (!putativeSpy) { + return false; + } + return putativeSpy.and instanceof j$.SpyStrategy && + putativeSpy.calls instanceof j$.CallTracker; + }; + + j$.createSpyObj = function(baseName, methodNames) { + if (j$.isArray_(baseName) && j$.util.isUndefined(methodNames)) { + methodNames = baseName; + baseName = 'unknown'; + } + + if (!j$.isArray_(methodNames) || methodNames.length === 0) { + throw 'createSpyObj requires a non-empty array of method names to create spies for'; + } + var obj = {}; + for (var i = 0; i < methodNames.length; i++) { + obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]); + } + return obj; + }; +}; + +getJasmineRequireObj().util = function() { + + var util = {}; + + util.inherit = function(childClass, parentClass) { + var Subclass = function() { + }; + Subclass.prototype = parentClass.prototype; + childClass.prototype = new Subclass(); + }; + + util.htmlEscape = function(str) { + if (!str) { + return str; + } + return str.replace(/&/g, '&') + .replace(//g, '>'); + }; + + util.argsToArray = function(args) { + var arrayOfArgs = []; + for (var i = 0; i < args.length; i++) { + arrayOfArgs.push(args[i]); + } + return arrayOfArgs; + }; + + util.isUndefined = function(obj) { + return obj === void 0; + }; + + util.arrayContains = function(array, search) { + var i = array.length; + while (i--) { + if (array[i] === search) { + return true; + } + } + return false; + }; + + util.clone = function(obj) { + if (Object.prototype.toString.apply(obj) === '[object Array]') { + return obj.slice(); + } + + var cloned = {}; + for (var prop in obj) { + if (obj.hasOwnProperty(prop)) { + cloned[prop] = obj[prop]; + } + } + + return cloned; + }; + + return util; +}; + +getJasmineRequireObj().Spec = function(j$) { + function Spec(attrs) { + this.expectationFactory = attrs.expectationFactory; + this.resultCallback = attrs.resultCallback || function() {}; + this.id = attrs.id; + this.description = attrs.description || ''; + this.queueableFn = attrs.queueableFn; + this.beforeAndAfterFns = attrs.beforeAndAfterFns || function() { return {befores: [], afters: []}; }; + this.userContext = attrs.userContext || function() { return {}; }; + this.onStart = attrs.onStart || function() {}; + this.getSpecName = attrs.getSpecName || function() { return ''; }; + this.expectationResultFactory = attrs.expectationResultFactory || function() { }; + this.queueRunnerFactory = attrs.queueRunnerFactory || function() {}; + this.catchingExceptions = attrs.catchingExceptions || function() { return true; }; + + if (!this.queueableFn.fn) { + this.pend(); + } + + this.result = { + id: this.id, + description: this.description, + fullName: this.getFullName(), + failedExpectations: [], + passedExpectations: [], + pendingReason: '' + }; + } + + Spec.prototype.addExpectationResult = function(passed, data) { + var expectationResult = this.expectationResultFactory(data); + if (passed) { + this.result.passedExpectations.push(expectationResult); + } else { + this.result.failedExpectations.push(expectationResult); + } + }; + + Spec.prototype.expect = function(actual) { + return this.expectationFactory(actual, this); + }; + + Spec.prototype.execute = function(onComplete) { + var self = this; + + this.onStart(this); + + if (this.markedPending || this.disabled) { + complete(); + return; + } + + var fns = this.beforeAndAfterFns(); + var allFns = fns.befores.concat(this.queueableFn).concat(fns.afters); + + this.queueRunnerFactory({ + queueableFns: allFns, + onException: function() { self.onException.apply(self, arguments); }, + onComplete: complete, + userContext: this.userContext() + }); + + function complete() { + self.result.status = self.status(); + self.resultCallback(self.result); + + if (onComplete) { + onComplete(); + } + } + }; + + Spec.prototype.onException = function onException(e) { + if (Spec.isPendingSpecException(e)) { + this.pend(extractCustomPendingMessage(e)); + return; + } + + this.addExpectationResult(false, { + matcherName: '', + passed: false, + expected: '', + actual: '', + error: e + }); + }; + + Spec.prototype.disable = function() { + this.disabled = true; + }; + + Spec.prototype.pend = function(message) { + this.markedPending = true; + if (message) { + this.result.pendingReason = message; + } + }; + + Spec.prototype.status = function() { + if (this.disabled) { + return 'disabled'; + } + + if (this.markedPending) { + return 'pending'; + } + + if (this.result.failedExpectations.length > 0) { + return 'failed'; + } else { + return 'passed'; + } + }; + + Spec.prototype.isExecutable = function() { + return !this.disabled && !this.markedPending; + }; + + Spec.prototype.getFullName = function() { + return this.getSpecName(this); + }; + + var extractCustomPendingMessage = function(e) { + var fullMessage = e.toString(), + boilerplateStart = fullMessage.indexOf(Spec.pendingSpecExceptionMessage), + boilerplateEnd = boilerplateStart + Spec.pendingSpecExceptionMessage.length; + + return fullMessage.substr(boilerplateEnd); + }; + + Spec.pendingSpecExceptionMessage = '=> marked Pending'; + + Spec.isPendingSpecException = function(e) { + return !!(e && e.toString && e.toString().indexOf(Spec.pendingSpecExceptionMessage) !== -1); + }; + + return Spec; +}; + +if (typeof window == void 0 && typeof exports == 'object') { + exports.Spec = jasmineRequire.Spec; +} + +getJasmineRequireObj().Env = function(j$) { + function Env(options) { + options = options || {}; + + var self = this; + var global = options.global || j$.getGlobal(); + + var totalSpecsDefined = 0; + + var catchExceptions = true; + + var realSetTimeout = j$.getGlobal().setTimeout; + var realClearTimeout = j$.getGlobal().clearTimeout; + this.clock = new j$.Clock(global, new j$.DelayedFunctionScheduler(), new j$.MockDate(global)); + + var runnableLookupTable = {}; + var runnableResources = {}; + + var currentSpec = null; + var currentlyExecutingSuites = []; + var currentDeclarationSuite = null; + + var currentSuite = function() { + return currentlyExecutingSuites[currentlyExecutingSuites.length - 1]; + }; + + var currentRunnable = function() { + return currentSpec || currentSuite(); + }; + + var reporter = new j$.ReportDispatcher([ + 'jasmineStarted', + 'jasmineDone', + 'suiteStarted', + 'suiteDone', + 'specStarted', + 'specDone' + ]); + + this.specFilter = function() { + return true; + }; + + this.addCustomEqualityTester = function(tester) { + if(!currentRunnable()) { + throw new Error('Custom Equalities must be added in a before function or a spec'); + } + runnableResources[currentRunnable().id].customEqualityTesters.push(tester); + }; + + this.addMatchers = function(matchersToAdd) { + if(!currentRunnable()) { + throw new Error('Matchers must be added in a before function or a spec'); + } + var customMatchers = runnableResources[currentRunnable().id].customMatchers; + for (var matcherName in matchersToAdd) { + customMatchers[matcherName] = matchersToAdd[matcherName]; + } + }; + + j$.Expectation.addCoreMatchers(j$.matchers); + + var nextSpecId = 0; + var getNextSpecId = function() { + return 'spec' + nextSpecId++; + }; + + var nextSuiteId = 0; + var getNextSuiteId = function() { + return 'suite' + nextSuiteId++; + }; + + var expectationFactory = function(actual, spec) { + return j$.Expectation.Factory({ + util: j$.matchersUtil, + customEqualityTesters: runnableResources[spec.id].customEqualityTesters, + customMatchers: runnableResources[spec.id].customMatchers, + actual: actual, + addExpectationResult: addExpectationResult + }); + + function addExpectationResult(passed, result) { + return spec.addExpectationResult(passed, result); + } + }; + + var defaultResourcesForRunnable = function(id, parentRunnableId) { + var resources = {spies: [], customEqualityTesters: [], customMatchers: {}}; + + if(runnableResources[parentRunnableId]){ + resources.customEqualityTesters = j$.util.clone(runnableResources[parentRunnableId].customEqualityTesters); + resources.customMatchers = j$.util.clone(runnableResources[parentRunnableId].customMatchers); + } + + runnableResources[id] = resources; + }; + + var clearResourcesForRunnable = function(id) { + spyRegistry.clearSpies(); + delete runnableResources[id]; + }; + + var beforeAndAfterFns = function(suite, runnablesExplictlySet) { + return function() { + var befores = [], + afters = [], + beforeAlls = [], + afterAlls = []; + + while(suite) { + befores = befores.concat(suite.beforeFns); + afters = afters.concat(suite.afterFns); + + if (runnablesExplictlySet()) { + beforeAlls = beforeAlls.concat(suite.beforeAllFns); + afterAlls = afterAlls.concat(suite.afterAllFns); + } + + suite = suite.parentSuite; + } + return { + befores: beforeAlls.reverse().concat(befores.reverse()), + afters: afters.concat(afterAlls) + }; + }; + }; + + var getSpecName = function(spec, suite) { + return suite.getFullName() + ' ' + spec.description; + }; + + // TODO: we may just be able to pass in the fn instead of wrapping here + var buildExpectationResult = j$.buildExpectationResult, + exceptionFormatter = new j$.ExceptionFormatter(), + expectationResultFactory = function(attrs) { + attrs.messageFormatter = exceptionFormatter.message; + attrs.stackFormatter = exceptionFormatter.stack; + + return buildExpectationResult(attrs); + }; + + // TODO: fix this naming, and here's where the value comes in + this.catchExceptions = function(value) { + catchExceptions = !!value; + return catchExceptions; + }; + + this.catchingExceptions = function() { + return catchExceptions; + }; + + var maximumSpecCallbackDepth = 20; + var currentSpecCallbackDepth = 0; + + function clearStack(fn) { + currentSpecCallbackDepth++; + if (currentSpecCallbackDepth >= maximumSpecCallbackDepth) { + currentSpecCallbackDepth = 0; + realSetTimeout(fn, 0); + } else { + fn(); + } + } + + var catchException = function(e) { + return j$.Spec.isPendingSpecException(e) || catchExceptions; + }; + + var queueRunnerFactory = function(options) { + options.catchException = catchException; + options.clearStack = options.clearStack || clearStack; + options.timer = {setTimeout: realSetTimeout, clearTimeout: realClearTimeout}; + options.fail = self.fail; + + new j$.QueueRunner(options).execute(); + }; + + var topSuite = new j$.Suite({ + env: this, + id: getNextSuiteId(), + description: 'Jasmine__TopLevel__Suite', + queueRunner: queueRunnerFactory + }); + runnableLookupTable[topSuite.id] = topSuite; + defaultResourcesForRunnable(topSuite.id); + currentDeclarationSuite = topSuite; + + this.topSuite = function() { + return topSuite; + }; + + this.execute = function(runnablesToRun) { + if(runnablesToRun) { + runnablesExplictlySet = true; + } else if (focusedRunnables.length) { + runnablesExplictlySet = true; + runnablesToRun = focusedRunnables; + } else { + runnablesToRun = [topSuite.id]; + } + + var allFns = []; + for(var i = 0; i < runnablesToRun.length; i++) { + var runnable = runnableLookupTable[runnablesToRun[i]]; + allFns.push((function(runnable) { return { fn: function(done) { runnable.execute(done); } }; })(runnable)); + } + + reporter.jasmineStarted({ + totalSpecsDefined: totalSpecsDefined + }); + + queueRunnerFactory({queueableFns: allFns, onComplete: reporter.jasmineDone}); + }; + + this.addReporter = function(reporterToAdd) { + reporter.addReporter(reporterToAdd); + }; + + var spyRegistry = new j$.SpyRegistry({currentSpies: function() { + if(!currentRunnable()) { + throw new Error('Spies must be created in a before function or a spec'); + } + return runnableResources[currentRunnable().id].spies; + }}); + + this.spyOn = function() { + return spyRegistry.spyOn.apply(spyRegistry, arguments); + }; + + var suiteFactory = function(description) { + var suite = new j$.Suite({ + env: self, + id: getNextSuiteId(), + description: description, + parentSuite: currentDeclarationSuite, + queueRunner: queueRunnerFactory, + onStart: suiteStarted, + expectationFactory: expectationFactory, + expectationResultFactory: expectationResultFactory, + runnablesExplictlySetGetter: runnablesExplictlySetGetter, + resultCallback: function(attrs) { + if (!suite.disabled) { + clearResourcesForRunnable(suite.id); + } + currentlyExecutingSuites.pop(); + reporter.suiteDone(attrs); + } + }); + + runnableLookupTable[suite.id] = suite; + return suite; + + function suiteStarted(suite) { + currentlyExecutingSuites.push(suite); + defaultResourcesForRunnable(suite.id, suite.parentSuite.id); + reporter.suiteStarted(suite.result); + } + }; + + this.describe = function(description, specDefinitions) { + var suite = suiteFactory(description); + addSpecsToSuite(suite, specDefinitions); + return suite; + }; + + this.xdescribe = function(description, specDefinitions) { + var suite = this.describe(description, specDefinitions); + suite.disable(); + return suite; + }; + + var focusedRunnables = []; + + this.fdescribe = function(description, specDefinitions) { + var suite = suiteFactory(description); + suite.isFocused = true; + + focusedRunnables.push(suite.id); + unfocusAncestor(); + addSpecsToSuite(suite, specDefinitions); + + return suite; + }; + + function addSpecsToSuite(suite, specDefinitions) { + var parentSuite = currentDeclarationSuite; + parentSuite.addChild(suite); + currentDeclarationSuite = suite; + + var declarationError = null; + try { + specDefinitions.call(suite); + } catch (e) { + declarationError = e; + } + + if (declarationError) { + self.it('encountered a declaration exception', function() { + throw declarationError; + }); + } + + currentDeclarationSuite = parentSuite; + } + + function findFocusedAncestor(suite) { + while (suite) { + if (suite.isFocused) { + return suite.id; + } + suite = suite.parentSuite; + } + + return null; + } + + function unfocusAncestor() { + var focusedAncestor = findFocusedAncestor(currentDeclarationSuite); + if (focusedAncestor) { + for (var i = 0; i < focusedRunnables.length; i++) { + if (focusedRunnables[i] === focusedAncestor) { + focusedRunnables.splice(i, 1); + break; + } + } + } + } + + var runnablesExplictlySet = false; + + var runnablesExplictlySetGetter = function(){ + return runnablesExplictlySet; + }; + + var specFactory = function(description, fn, suite, timeout) { + totalSpecsDefined++; + var spec = new j$.Spec({ + id: getNextSpecId(), + beforeAndAfterFns: beforeAndAfterFns(suite, runnablesExplictlySetGetter), + expectationFactory: expectationFactory, + resultCallback: specResultCallback, + getSpecName: function(spec) { + return getSpecName(spec, suite); + }, + onStart: specStarted, + description: description, + expectationResultFactory: expectationResultFactory, + queueRunnerFactory: queueRunnerFactory, + userContext: function() { return suite.clonedSharedUserContext(); }, + queueableFn: { + fn: fn, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + } + }); + + runnableLookupTable[spec.id] = spec; + + if (!self.specFilter(spec)) { + spec.disable(); + } + + return spec; + + function specResultCallback(result) { + clearResourcesForRunnable(spec.id); + currentSpec = null; + reporter.specDone(result); + } + + function specStarted(spec) { + currentSpec = spec; + defaultResourcesForRunnable(spec.id, suite.id); + reporter.specStarted(spec.result); + } + }; + + this.it = function(description, fn, timeout) { + var spec = specFactory(description, fn, currentDeclarationSuite, timeout); + currentDeclarationSuite.addChild(spec); + return spec; + }; + + this.xit = function() { + var spec = this.it.apply(this, arguments); + spec.pend(); + return spec; + }; + + this.fit = function(){ + var spec = this.it.apply(this, arguments); + + focusedRunnables.push(spec.id); + unfocusAncestor(); + return spec; + }; + + this.expect = function(actual) { + if (!currentRunnable()) { + throw new Error('\'expect\' was used when there was no current spec, this could be because an asynchronous test timed out'); + } + + return currentRunnable().expect(actual); + }; + + this.beforeEach = function(beforeEachFunction, timeout) { + currentDeclarationSuite.beforeEach({ + fn: beforeEachFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.beforeAll = function(beforeAllFunction, timeout) { + currentDeclarationSuite.beforeAll({ + fn: beforeAllFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.afterEach = function(afterEachFunction, timeout) { + currentDeclarationSuite.afterEach({ + fn: afterEachFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.afterAll = function(afterAllFunction, timeout) { + currentDeclarationSuite.afterAll({ + fn: afterAllFunction, + timeout: function() { return timeout || j$.DEFAULT_TIMEOUT_INTERVAL; } + }); + }; + + this.pending = function(message) { + var fullMessage = j$.Spec.pendingSpecExceptionMessage; + if(message) { + fullMessage += message; + } + throw fullMessage; + }; + + this.fail = function(error) { + var message = 'Failed'; + if (error) { + message += ': '; + message += error.message || error; + } + + currentRunnable().addExpectationResult(false, { + matcherName: '', + passed: false, + expected: '', + actual: '', + message: message, + error: error && error.message ? error : null + }); + }; + } + + return Env; +}; + +getJasmineRequireObj().JsApiReporter = function() { + + var noopTimer = { + start: function(){}, + elapsed: function(){ return 0; } + }; + + function JsApiReporter(options) { + var timer = options.timer || noopTimer, + status = 'loaded'; + + this.started = false; + this.finished = false; + + this.jasmineStarted = function() { + this.started = true; + status = 'started'; + timer.start(); + }; + + var executionTime; + + this.jasmineDone = function() { + this.finished = true; + executionTime = timer.elapsed(); + status = 'done'; + }; + + this.status = function() { + return status; + }; + + var suites = [], + suites_hash = {}; + + this.suiteStarted = function(result) { + suites_hash[result.id] = result; + }; + + this.suiteDone = function(result) { + storeSuite(result); + }; + + this.suiteResults = function(index, length) { + return suites.slice(index, index + length); + }; + + function storeSuite(result) { + suites.push(result); + suites_hash[result.id] = result; + } + + this.suites = function() { + return suites_hash; + }; + + var specs = []; + + this.specDone = function(result) { + specs.push(result); + }; + + this.specResults = function(index, length) { + return specs.slice(index, index + length); + }; + + this.specs = function() { + return specs; + }; + + this.executionTime = function() { + return executionTime; + }; + + } + + return JsApiReporter; +}; + +getJasmineRequireObj().CallTracker = function() { + + function CallTracker() { + var calls = []; + + this.track = function(context) { + calls.push(context); + }; + + this.any = function() { + return !!calls.length; + }; + + this.count = function() { + return calls.length; + }; + + this.argsFor = function(index) { + var call = calls[index]; + return call ? call.args : []; + }; + + this.all = function() { + return calls; + }; + + this.allArgs = function() { + var callArgs = []; + for(var i = 0; i < calls.length; i++){ + callArgs.push(calls[i].args); + } + + return callArgs; + }; + + this.first = function() { + return calls[0]; + }; + + this.mostRecent = function() { + return calls[calls.length - 1]; + }; + + this.reset = function() { + calls = []; + }; + } + + return CallTracker; +}; + +getJasmineRequireObj().Clock = function() { + function Clock(global, delayedFunctionScheduler, mockDate) { + var self = this, + realTimingFunctions = { + setTimeout: global.setTimeout, + clearTimeout: global.clearTimeout, + setInterval: global.setInterval, + clearInterval: global.clearInterval + }, + fakeTimingFunctions = { + setTimeout: setTimeout, + clearTimeout: clearTimeout, + setInterval: setInterval, + clearInterval: clearInterval + }, + installed = false, + timer; + + + self.install = function() { + replace(global, fakeTimingFunctions); + timer = fakeTimingFunctions; + installed = true; + + return self; + }; + + self.uninstall = function() { + delayedFunctionScheduler.reset(); + mockDate.uninstall(); + replace(global, realTimingFunctions); + + timer = realTimingFunctions; + installed = false; + }; + + self.mockDate = function(initialDate) { + mockDate.install(initialDate); + }; + + self.setTimeout = function(fn, delay, params) { + if (legacyIE()) { + if (arguments.length > 2) { + throw new Error('IE < 9 cannot support extra params to setTimeout without a polyfill'); + } + return timer.setTimeout(fn, delay); + } + return Function.prototype.apply.apply(timer.setTimeout, [global, arguments]); + }; + + self.setInterval = function(fn, delay, params) { + if (legacyIE()) { + if (arguments.length > 2) { + throw new Error('IE < 9 cannot support extra params to setInterval without a polyfill'); + } + return timer.setInterval(fn, delay); + } + return Function.prototype.apply.apply(timer.setInterval, [global, arguments]); + }; + + self.clearTimeout = function(id) { + return Function.prototype.call.apply(timer.clearTimeout, [global, id]); + }; + + self.clearInterval = function(id) { + return Function.prototype.call.apply(timer.clearInterval, [global, id]); + }; + + self.tick = function(millis) { + if (installed) { + mockDate.tick(millis); + delayedFunctionScheduler.tick(millis); + } else { + throw new Error('Mock clock is not installed, use jasmine.clock().install()'); + } + }; + + return self; + + function legacyIE() { + //if these methods are polyfilled, apply will be present + return !(realTimingFunctions.setTimeout || realTimingFunctions.setInterval).apply; + } + + function replace(dest, source) { + for (var prop in source) { + dest[prop] = source[prop]; + } + } + + function setTimeout(fn, delay) { + return delayedFunctionScheduler.scheduleFunction(fn, delay, argSlice(arguments, 2)); + } + + function clearTimeout(id) { + return delayedFunctionScheduler.removeFunctionWithId(id); + } + + function setInterval(fn, interval) { + return delayedFunctionScheduler.scheduleFunction(fn, interval, argSlice(arguments, 2), true); + } + + function clearInterval(id) { + return delayedFunctionScheduler.removeFunctionWithId(id); + } + + function argSlice(argsObj, n) { + return Array.prototype.slice.call(argsObj, n); + } + } + + return Clock; +}; + +getJasmineRequireObj().DelayedFunctionScheduler = function() { + function DelayedFunctionScheduler() { + var self = this; + var scheduledLookup = []; + var scheduledFunctions = {}; + var currentTime = 0; + var delayedFnCount = 0; + + self.tick = function(millis) { + millis = millis || 0; + var endTime = currentTime + millis; + + runScheduledFunctions(endTime); + currentTime = endTime; + }; + + self.scheduleFunction = function(funcToCall, millis, params, recurring, timeoutKey, runAtMillis) { + var f; + if (typeof(funcToCall) === 'string') { + /* jshint evil: true */ + f = function() { return eval(funcToCall); }; + /* jshint evil: false */ + } else { + f = funcToCall; + } + + millis = millis || 0; + timeoutKey = timeoutKey || ++delayedFnCount; + runAtMillis = runAtMillis || (currentTime + millis); + + var funcToSchedule = { + runAtMillis: runAtMillis, + funcToCall: f, + recurring: recurring, + params: params, + timeoutKey: timeoutKey, + millis: millis + }; + + if (runAtMillis in scheduledFunctions) { + scheduledFunctions[runAtMillis].push(funcToSchedule); + } else { + scheduledFunctions[runAtMillis] = [funcToSchedule]; + scheduledLookup.push(runAtMillis); + scheduledLookup.sort(function (a, b) { + return a - b; + }); + } + + return timeoutKey; + }; + + self.removeFunctionWithId = function(timeoutKey) { + for (var runAtMillis in scheduledFunctions) { + var funcs = scheduledFunctions[runAtMillis]; + var i = indexOfFirstToPass(funcs, function (func) { + return func.timeoutKey === timeoutKey; + }); + + if (i > -1) { + if (funcs.length === 1) { + delete scheduledFunctions[runAtMillis]; + deleteFromLookup(runAtMillis); + } else { + funcs.splice(i, 1); + } + + // intervals get rescheduled when executed, so there's never more + // than a single scheduled function with a given timeoutKey + break; + } + } + }; + + self.reset = function() { + currentTime = 0; + scheduledLookup = []; + scheduledFunctions = {}; + delayedFnCount = 0; + }; + + return self; + + function indexOfFirstToPass(array, testFn) { + var index = -1; + + for (var i = 0; i < array.length; ++i) { + if (testFn(array[i])) { + index = i; + break; + } + } + + return index; + } + + function deleteFromLookup(key) { + var value = Number(key); + var i = indexOfFirstToPass(scheduledLookup, function (millis) { + return millis === value; + }); + + if (i > -1) { + scheduledLookup.splice(i, 1); + } + } + + function reschedule(scheduledFn) { + self.scheduleFunction(scheduledFn.funcToCall, + scheduledFn.millis, + scheduledFn.params, + true, + scheduledFn.timeoutKey, + scheduledFn.runAtMillis + scheduledFn.millis); + } + + function forEachFunction(funcsToRun, callback) { + for (var i = 0; i < funcsToRun.length; ++i) { + callback(funcsToRun[i]); + } + } + + function runScheduledFunctions(endTime) { + if (scheduledLookup.length === 0 || scheduledLookup[0] > endTime) { + return; + } + + do { + currentTime = scheduledLookup.shift(); + + var funcsToRun = scheduledFunctions[currentTime]; + delete scheduledFunctions[currentTime]; + + forEachFunction(funcsToRun, function(funcToRun) { + if (funcToRun.recurring) { + reschedule(funcToRun); + } + }); + + forEachFunction(funcsToRun, function(funcToRun) { + funcToRun.funcToCall.apply(null, funcToRun.params || []); + }); + } while (scheduledLookup.length > 0 && + // checking first if we're out of time prevents setTimeout(0) + // scheduled in a funcToRun from forcing an extra iteration + currentTime !== endTime && + scheduledLookup[0] <= endTime); + } + } + + return DelayedFunctionScheduler; +}; + +getJasmineRequireObj().ExceptionFormatter = function() { + function ExceptionFormatter() { + this.message = function(error) { + var message = ''; + + if (error.name && error.message) { + message += error.name + ': ' + error.message; + } else { + message += error.toString() + ' thrown'; + } + + if (error.fileName || error.sourceURL) { + message += ' in ' + (error.fileName || error.sourceURL); + } + + if (error.line || error.lineNumber) { + message += ' (line ' + (error.line || error.lineNumber) + ')'; + } + + return message; + }; + + this.stack = function(error) { + return error ? error.stack : null; + }; + } + + return ExceptionFormatter; +}; + +getJasmineRequireObj().Expectation = function() { + + function Expectation(options) { + this.util = options.util || { buildFailureMessage: function() {} }; + this.customEqualityTesters = options.customEqualityTesters || []; + this.actual = options.actual; + this.addExpectationResult = options.addExpectationResult || function(){}; + this.isNot = options.isNot; + + var customMatchers = options.customMatchers || {}; + for (var matcherName in customMatchers) { + this[matcherName] = Expectation.prototype.wrapCompare(matcherName, customMatchers[matcherName]); + } + } + + Expectation.prototype.wrapCompare = function(name, matcherFactory) { + return function() { + var args = Array.prototype.slice.call(arguments, 0), + expected = args.slice(0), + message = ''; + + args.unshift(this.actual); + + var matcher = matcherFactory(this.util, this.customEqualityTesters), + matcherCompare = matcher.compare; + + function defaultNegativeCompare() { + var result = matcher.compare.apply(null, args); + result.pass = !result.pass; + return result; + } + + if (this.isNot) { + matcherCompare = matcher.negativeCompare || defaultNegativeCompare; + } + + var result = matcherCompare.apply(null, args); + + if (!result.pass) { + if (!result.message) { + args.unshift(this.isNot); + args.unshift(name); + message = this.util.buildFailureMessage.apply(null, args); + } else { + if (Object.prototype.toString.apply(result.message) === '[object Function]') { + message = result.message(); + } else { + message = result.message; + } + } + } + + if (expected.length == 1) { + expected = expected[0]; + } + + // TODO: how many of these params are needed? + this.addExpectationResult( + result.pass, + { + matcherName: name, + passed: result.pass, + message: message, + actual: this.actual, + expected: expected // TODO: this may need to be arrayified/sliced + } + ); + }; + }; + + Expectation.addCoreMatchers = function(matchers) { + var prototype = Expectation.prototype; + for (var matcherName in matchers) { + var matcher = matchers[matcherName]; + prototype[matcherName] = prototype.wrapCompare(matcherName, matcher); + } + }; + + Expectation.Factory = function(options) { + options = options || {}; + + var expect = new Expectation(options); + + // TODO: this would be nice as its own Object - NegativeExpectation + // TODO: copy instead of mutate options + options.isNot = true; + expect.not = new Expectation(options); + + return expect; + }; + + return Expectation; +}; + +//TODO: expectation result may make more sense as a presentation of an expectation. +getJasmineRequireObj().buildExpectationResult = function() { + function buildExpectationResult(options) { + var messageFormatter = options.messageFormatter || function() {}, + stackFormatter = options.stackFormatter || function() {}; + + var result = { + matcherName: options.matcherName, + message: message(), + stack: stack(), + passed: options.passed + }; + + if(!result.passed) { + result.expected = options.expected; + result.actual = options.actual; + } + + return result; + + function message() { + if (options.passed) { + return 'Passed.'; + } else if (options.message) { + return options.message; + } else if (options.error) { + return messageFormatter(options.error); + } + return ''; + } + + function stack() { + if (options.passed) { + return ''; + } + + var error = options.error; + if (!error) { + try { + throw new Error(message()); + } catch (e) { + error = e; + } + } + return stackFormatter(error); + } + } + + return buildExpectationResult; +}; + +getJasmineRequireObj().MockDate = function() { + function MockDate(global) { + var self = this; + var currentTime = 0; + + if (!global || !global.Date) { + self.install = function() {}; + self.tick = function() {}; + self.uninstall = function() {}; + return self; + } + + var GlobalDate = global.Date; + + self.install = function(mockDate) { + if (mockDate instanceof GlobalDate) { + currentTime = mockDate.getTime(); + } else { + currentTime = new GlobalDate().getTime(); + } + + global.Date = FakeDate; + }; + + self.tick = function(millis) { + millis = millis || 0; + currentTime = currentTime + millis; + }; + + self.uninstall = function() { + currentTime = 0; + global.Date = GlobalDate; + }; + + createDateProperties(); + + return self; + + function FakeDate() { + switch(arguments.length) { + case 0: + return new GlobalDate(currentTime); + case 1: + return new GlobalDate(arguments[0]); + case 2: + return new GlobalDate(arguments[0], arguments[1]); + case 3: + return new GlobalDate(arguments[0], arguments[1], arguments[2]); + case 4: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3]); + case 5: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], + arguments[4]); + case 6: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], + arguments[4], arguments[5]); + default: + return new GlobalDate(arguments[0], arguments[1], arguments[2], arguments[3], + arguments[4], arguments[5], arguments[6]); + } + } + + function createDateProperties() { + FakeDate.prototype = GlobalDate.prototype; + + FakeDate.now = function() { + if (GlobalDate.now) { + return currentTime; + } else { + throw new Error('Browser does not support Date.now()'); + } + }; + + FakeDate.toSource = GlobalDate.toSource; + FakeDate.toString = GlobalDate.toString; + FakeDate.parse = GlobalDate.parse; + FakeDate.UTC = GlobalDate.UTC; + } + } + + return MockDate; +}; + +getJasmineRequireObj().pp = function(j$) { + + function PrettyPrinter() { + this.ppNestLevel_ = 0; + this.seen = []; + } + + PrettyPrinter.prototype.format = function(value) { + this.ppNestLevel_++; + try { + if (j$.util.isUndefined(value)) { + this.emitScalar('undefined'); + } else if (value === null) { + this.emitScalar('null'); + } else if (value === 0 && 1/value === -Infinity) { + this.emitScalar('-0'); + } else if (value === j$.getGlobal()) { + this.emitScalar(''); + } else if (value.jasmineToString) { + this.emitScalar(value.jasmineToString()); + } else if (typeof value === 'string') { + this.emitString(value); + } else if (j$.isSpy(value)) { + this.emitScalar('spy on ' + value.and.identity()); + } else if (value instanceof RegExp) { + this.emitScalar(value.toString()); + } else if (typeof value === 'function') { + this.emitScalar('Function'); + } else if (typeof value.nodeType === 'number') { + this.emitScalar('HTMLNode'); + } else if (value instanceof Date) { + this.emitScalar('Date(' + value + ')'); + } else if (j$.util.arrayContains(this.seen, value)) { + this.emitScalar(''); + } else if (j$.isArray_(value) || j$.isA_('Object', value)) { + this.seen.push(value); + if (j$.isArray_(value)) { + this.emitArray(value); + } else { + this.emitObject(value); + } + this.seen.pop(); + } else { + this.emitScalar(value.toString()); + } + } finally { + this.ppNestLevel_--; + } + }; + + PrettyPrinter.prototype.iterateObject = function(obj, fn) { + for (var property in obj) { + if (!Object.prototype.hasOwnProperty.call(obj, property)) { continue; } + fn(property, obj.__lookupGetter__ ? (!j$.util.isUndefined(obj.__lookupGetter__(property)) && + obj.__lookupGetter__(property) !== null) : false); + } + }; + + PrettyPrinter.prototype.emitArray = j$.unimplementedMethod_; + PrettyPrinter.prototype.emitObject = j$.unimplementedMethod_; + PrettyPrinter.prototype.emitScalar = j$.unimplementedMethod_; + PrettyPrinter.prototype.emitString = j$.unimplementedMethod_; + + function StringPrettyPrinter() { + PrettyPrinter.call(this); + + this.string = ''; + } + + j$.util.inherit(StringPrettyPrinter, PrettyPrinter); + + StringPrettyPrinter.prototype.emitScalar = function(value) { + this.append(value); + }; + + StringPrettyPrinter.prototype.emitString = function(value) { + this.append('\'' + value + '\''); + }; + + StringPrettyPrinter.prototype.emitArray = function(array) { + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + this.append('Array'); + return; + } + var length = Math.min(array.length, j$.MAX_PRETTY_PRINT_ARRAY_LENGTH); + this.append('[ '); + for (var i = 0; i < length; i++) { + if (i > 0) { + this.append(', '); + } + this.format(array[i]); + } + if(array.length > length){ + this.append(', ...'); + } + this.append(' ]'); + }; + + StringPrettyPrinter.prototype.emitObject = function(obj) { + var constructorName = obj.constructor ? j$.fnNameFor(obj.constructor) : 'null'; + this.append(constructorName); + + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + return; + } + + var self = this; + this.append('({ '); + var first = true; + + this.iterateObject(obj, function(property, isGetter) { + if (first) { + first = false; + } else { + self.append(', '); + } + + self.append(property); + self.append(': '); + if (isGetter) { + self.append(''); + } else { + self.format(obj[property]); + } + }); + + this.append(' })'); + }; + + StringPrettyPrinter.prototype.append = function(value) { + this.string += value; + }; + + return function(value) { + var stringPrettyPrinter = new StringPrettyPrinter(); + stringPrettyPrinter.format(value); + return stringPrettyPrinter.string; + }; +}; + +getJasmineRequireObj().QueueRunner = function(j$) { + + function once(fn) { + var called = false; + return function() { + if (!called) { + called = true; + fn(); + } + }; + } + + function QueueRunner(attrs) { + this.queueableFns = attrs.queueableFns || []; + this.onComplete = attrs.onComplete || function() {}; + this.clearStack = attrs.clearStack || function(fn) {fn();}; + this.onException = attrs.onException || function() {}; + this.catchException = attrs.catchException || function() { return true; }; + this.userContext = attrs.userContext || {}; + this.timer = attrs.timeout || {setTimeout: setTimeout, clearTimeout: clearTimeout}; + this.fail = attrs.fail || function() {}; + } + + QueueRunner.prototype.execute = function() { + this.run(this.queueableFns, 0); + }; + + QueueRunner.prototype.run = function(queueableFns, recursiveIndex) { + var length = queueableFns.length, + self = this, + iterativeIndex; + + + for(iterativeIndex = recursiveIndex; iterativeIndex < length; iterativeIndex++) { + var queueableFn = queueableFns[iterativeIndex]; + if (queueableFn.fn.length > 0) { + attemptAsync(queueableFn); + return; + } else { + attemptSync(queueableFn); + } + } + + var runnerDone = iterativeIndex >= length; + + if (runnerDone) { + this.clearStack(this.onComplete); + } + + function attemptSync(queueableFn) { + try { + queueableFn.fn.call(self.userContext); + } catch (e) { + handleException(e, queueableFn); + } + } + + function attemptAsync(queueableFn) { + var clearTimeout = function () { + Function.prototype.apply.apply(self.timer.clearTimeout, [j$.getGlobal(), [timeoutId]]); + }, + next = once(function () { + clearTimeout(timeoutId); + self.run(queueableFns, iterativeIndex + 1); + }), + timeoutId; + + next.fail = function() { + self.fail.apply(null, arguments); + next(); + }; + + if (queueableFn.timeout) { + timeoutId = Function.prototype.apply.apply(self.timer.setTimeout, [j$.getGlobal(), [function() { + var error = new Error('Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.'); + onException(error, queueableFn); + next(); + }, queueableFn.timeout()]]); + } + + try { + queueableFn.fn.call(self.userContext, next); + } catch (e) { + handleException(e, queueableFn); + next(); + } + } + + function onException(e, queueableFn) { + self.onException(e); + } + + function handleException(e, queueableFn) { + onException(e, queueableFn); + if (!self.catchException(e)) { + //TODO: set a var when we catch an exception and + //use a finally block to close the loop in a nice way.. + throw e; + } + } + }; + + return QueueRunner; +}; + +getJasmineRequireObj().ReportDispatcher = function() { + function ReportDispatcher(methods) { + + var dispatchedMethods = methods || []; + + for (var i = 0; i < dispatchedMethods.length; i++) { + var method = dispatchedMethods[i]; + this[method] = (function(m) { + return function() { + dispatch(m, arguments); + }; + }(method)); + } + + var reporters = []; + + this.addReporter = function(reporter) { + reporters.push(reporter); + }; + + return this; + + function dispatch(method, args) { + for (var i = 0; i < reporters.length; i++) { + var reporter = reporters[i]; + if (reporter[method]) { + reporter[method].apply(reporter, args); + } + } + } + } + + return ReportDispatcher; +}; + + +getJasmineRequireObj().SpyRegistry = function(j$) { + + function SpyRegistry(options) { + options = options || {}; + var currentSpies = options.currentSpies || function() { return []; }; + + this.spyOn = function(obj, methodName) { + if (j$.util.isUndefined(obj)) { + throw new Error('spyOn could not find an object to spy upon for ' + methodName + '()'); + } + + if (j$.util.isUndefined(methodName)) { + throw new Error('No method name supplied'); + } + + if (j$.util.isUndefined(obj[methodName])) { + throw new Error(methodName + '() method does not exist'); + } + + if (obj[methodName] && j$.isSpy(obj[methodName])) { + //TODO?: should this return the current spy? Downside: may cause user confusion about spy state + throw new Error(methodName + ' has already been spied upon'); + } + + var spy = j$.createSpy(methodName, obj[methodName]); + + currentSpies().push({ + spy: spy, + baseObj: obj, + methodName: methodName, + originalValue: obj[methodName] + }); + + obj[methodName] = spy; + + return spy; + }; + + this.clearSpies = function() { + var spies = currentSpies(); + for (var i = 0; i < spies.length; i++) { + var spyEntry = spies[i]; + spyEntry.baseObj[spyEntry.methodName] = spyEntry.originalValue; + } + }; + } + + return SpyRegistry; +}; + +getJasmineRequireObj().SpyStrategy = function() { + + function SpyStrategy(options) { + options = options || {}; + + var identity = options.name || 'unknown', + originalFn = options.fn || function() {}, + getSpy = options.getSpy || function() {}, + plan = function() {}; + + this.identity = function() { + return identity; + }; + + this.exec = function() { + return plan.apply(this, arguments); + }; + + this.callThrough = function() { + plan = originalFn; + return getSpy(); + }; + + this.returnValue = function(value) { + plan = function() { + return value; + }; + return getSpy(); + }; + + this.returnValues = function() { + var values = Array.prototype.slice.call(arguments); + plan = function () { + return values.shift(); + }; + return getSpy(); + }; + + this.throwError = function(something) { + var error = (something instanceof Error) ? something : new Error(something); + plan = function() { + throw error; + }; + return getSpy(); + }; + + this.callFake = function(fn) { + plan = fn; + return getSpy(); + }; + + this.stub = function(fn) { + plan = function() {}; + return getSpy(); + }; + } + + return SpyStrategy; +}; + +getJasmineRequireObj().Suite = function() { + function Suite(attrs) { + this.env = attrs.env; + this.id = attrs.id; + this.parentSuite = attrs.parentSuite; + this.description = attrs.description; + this.onStart = attrs.onStart || function() {}; + this.resultCallback = attrs.resultCallback || function() {}; + this.clearStack = attrs.clearStack || function(fn) {fn();}; + this.expectationFactory = attrs.expectationFactory; + this.expectationResultFactory = attrs.expectationResultFactory; + this.runnablesExplictlySetGetter = attrs.runnablesExplictlySetGetter || function() {}; + + this.beforeFns = []; + this.afterFns = []; + this.beforeAllFns = []; + this.afterAllFns = []; + this.queueRunner = attrs.queueRunner || function() {}; + this.disabled = false; + + this.children = []; + + this.result = { + id: this.id, + description: this.description, + fullName: this.getFullName(), + failedExpectations: [] + }; + } + + Suite.prototype.expect = function(actual) { + return this.expectationFactory(actual, this); + }; + + Suite.prototype.getFullName = function() { + var fullName = this.description; + for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) { + if (parentSuite.parentSuite) { + fullName = parentSuite.description + ' ' + fullName; + } + } + return fullName; + }; + + Suite.prototype.disable = function() { + this.disabled = true; + }; + + Suite.prototype.beforeEach = function(fn) { + this.beforeFns.unshift(fn); + }; + + Suite.prototype.beforeAll = function(fn) { + this.beforeAllFns.push(fn); + }; + + Suite.prototype.afterEach = function(fn) { + this.afterFns.unshift(fn); + }; + + Suite.prototype.afterAll = function(fn) { + this.afterAllFns.push(fn); + }; + + Suite.prototype.addChild = function(child) { + this.children.push(child); + }; + + Suite.prototype.status = function() { + if (this.disabled) { + return 'disabled'; + } + + if (this.result.failedExpectations.length > 0) { + return 'failed'; + } else { + return 'finished'; + } + }; + + Suite.prototype.execute = function(onComplete) { + var self = this; + + this.onStart(this); + + if (this.disabled) { + complete(); + return; + } + + var allFns = []; + + for (var i = 0; i < this.children.length; i++) { + allFns.push(wrapChildAsAsync(this.children[i])); + } + + if (this.isExecutable()) { + allFns = this.beforeAllFns.concat(allFns); + allFns = allFns.concat(this.afterAllFns); + } + + this.queueRunner({ + queueableFns: allFns, + onComplete: complete, + userContext: this.sharedUserContext(), + onException: function() { self.onException.apply(self, arguments); } + }); + + function complete() { + self.result.status = self.status(); + self.resultCallback(self.result); + + if (onComplete) { + onComplete(); + } + } + + function wrapChildAsAsync(child) { + return { fn: function(done) { child.execute(done); } }; + } + }; + + Suite.prototype.isExecutable = function() { + var runnablesExplicitlySet = this.runnablesExplictlySetGetter(); + return !runnablesExplicitlySet && hasExecutableChild(this.children); + }; + + Suite.prototype.sharedUserContext = function() { + if (!this.sharedContext) { + this.sharedContext = this.parentSuite ? clone(this.parentSuite.sharedUserContext()) : {}; + } + + return this.sharedContext; + }; + + Suite.prototype.clonedSharedUserContext = function() { + return clone(this.sharedUserContext()); + }; + + Suite.prototype.onException = function() { + if(isAfterAll(this.children)) { + var data = { + matcherName: '', + passed: false, + expected: '', + actual: '', + error: arguments[0] + }; + this.result.failedExpectations.push(this.expectationResultFactory(data)); + } else { + for (var i = 0; i < this.children.length; i++) { + var child = this.children[i]; + child.onException.apply(child, arguments); + } + } + }; + + Suite.prototype.addExpectationResult = function () { + if(isAfterAll(this.children) && isFailure(arguments)){ + var data = arguments[1]; + this.result.failedExpectations.push(this.expectationResultFactory(data)); + } else { + for (var i = 0; i < this.children.length; i++) { + var child = this.children[i]; + child.addExpectationResult.apply(child, arguments); + } + } + }; + + function isAfterAll(children) { + return children && children[0].result.status; + } + + function isFailure(args) { + return !args[0]; + } + + function hasExecutableChild(children) { + var foundActive = false; + for (var i = 0; i < children.length; i++) { + if (children[i].isExecutable()) { + foundActive = true; + break; + } + } + return foundActive; + } + + function clone(obj) { + var clonedObj = {}; + for (var prop in obj) { + if (obj.hasOwnProperty(prop)) { + clonedObj[prop] = obj[prop]; + } + } + + return clonedObj; + } + + return Suite; +}; + +if (typeof window == void 0 && typeof exports == 'object') { + exports.Suite = jasmineRequire.Suite; +} + +getJasmineRequireObj().Timer = function() { + var defaultNow = (function(Date) { + return function() { return new Date().getTime(); }; + })(Date); + + function Timer(options) { + options = options || {}; + + var now = options.now || defaultNow, + startTime; + + this.start = function() { + startTime = now(); + }; + + this.elapsed = function() { + return now() - startTime; + }; + } + + return Timer; +}; + +getJasmineRequireObj().Any = function() { + + function Any(expectedObject) { + this.expectedObject = expectedObject; + } + + Any.prototype.asymmetricMatch = function(other) { + if (this.expectedObject == String) { + return typeof other == 'string' || other instanceof String; + } + + if (this.expectedObject == Number) { + return typeof other == 'number' || other instanceof Number; + } + + if (this.expectedObject == Function) { + return typeof other == 'function' || other instanceof Function; + } + + if (this.expectedObject == Object) { + return typeof other == 'object'; + } + + if (this.expectedObject == Boolean) { + return typeof other == 'boolean'; + } + + return other instanceof this.expectedObject; + }; + + Any.prototype.jasmineToString = function() { + return ''; + }; + + return Any; +}; + +getJasmineRequireObj().Anything = function(j$) { + + function Anything() {} + + Anything.prototype.asymmetricMatch = function(other) { + return !j$.util.isUndefined(other) && other !== null; + }; + + Anything.prototype.jasmineToString = function() { + return ''; + }; + + return Anything; +}; + +getJasmineRequireObj().ArrayContaining = function(j$) { + function ArrayContaining(sample) { + this.sample = sample; + } + + ArrayContaining.prototype.asymmetricMatch = function(other) { + var className = Object.prototype.toString.call(this.sample); + if (className !== '[object Array]') { throw new Error('You must provide an array to arrayContaining, not \'' + this.sample + '\'.'); } + + for (var i = 0; i < this.sample.length; i++) { + var item = this.sample[i]; + if (!j$.matchersUtil.contains(other, item)) { + return false; + } + } + + return true; + }; + + ArrayContaining.prototype.jasmineToString = function () { + return ''; + }; + + return ArrayContaining; +}; + +getJasmineRequireObj().ObjectContaining = function(j$) { + + function ObjectContaining(sample) { + this.sample = sample; + } + + ObjectContaining.prototype.asymmetricMatch = function(other) { + if (typeof(this.sample) !== 'object') { throw new Error('You must provide an object to objectContaining, not \''+this.sample+'\'.'); } + + for (var property in this.sample) { + if (!Object.prototype.hasOwnProperty.call(other, property) || + !j$.matchersUtil.equals(this.sample[property], other[property])) { + return false; + } + } + + return true; + }; + + ObjectContaining.prototype.jasmineToString = function() { + return ''; + }; + + return ObjectContaining; +}; + +getJasmineRequireObj().StringMatching = function(j$) { + + function StringMatching(expected) { + if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) { + throw new Error('Expected is not a String or a RegExp'); + } + + this.regexp = new RegExp(expected); + } + + StringMatching.prototype.asymmetricMatch = function(other) { + return this.regexp.test(other); + }; + + StringMatching.prototype.jasmineToString = function() { + return ''; + }; + + return StringMatching; +}; + +getJasmineRequireObj().matchersUtil = function(j$) { + // TODO: what to do about jasmine.pp not being inject? move to JSON.stringify? gut PrettyPrinter? + + return { + equals: function(a, b, customTesters) { + customTesters = customTesters || []; + + return eq(a, b, [], [], customTesters); + }, + + contains: function(haystack, needle, customTesters) { + customTesters = customTesters || []; + + if ((Object.prototype.toString.apply(haystack) === '[object Array]') || + (!!haystack && !haystack.indexOf)) + { + for (var i = 0; i < haystack.length; i++) { + if (eq(haystack[i], needle, [], [], customTesters)) { + return true; + } + } + return false; + } + + return !!haystack && haystack.indexOf(needle) >= 0; + }, + + buildFailureMessage: function() { + var args = Array.prototype.slice.call(arguments, 0), + matcherName = args[0], + isNot = args[1], + actual = args[2], + expected = args.slice(3), + englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); + + var message = 'Expected ' + + j$.pp(actual) + + (isNot ? ' not ' : ' ') + + englishyPredicate; + + if (expected.length > 0) { + for (var i = 0; i < expected.length; i++) { + if (i > 0) { + message += ','; + } + message += ' ' + j$.pp(expected[i]); + } + } + + return message + '.'; + } + }; + + function isAsymmetric(obj) { + return obj && j$.isA_('Function', obj.asymmetricMatch); + } + + function asymmetricMatch(a, b) { + var asymmetricA = isAsymmetric(a), + asymmetricB = isAsymmetric(b); + + if (asymmetricA && asymmetricB) { + return undefined; + } + + if (asymmetricA) { + return a.asymmetricMatch(b); + } + + if (asymmetricB) { + return b.asymmetricMatch(a); + } + } + + // Equality function lovingly adapted from isEqual in + // [Underscore](http://underscorejs.org) + function eq(a, b, aStack, bStack, customTesters) { + var result = true; + + var asymmetricResult = asymmetricMatch(a, b); + if (!j$.util.isUndefined(asymmetricResult)) { + return asymmetricResult; + } + + for (var i = 0; i < customTesters.length; i++) { + var customTesterResult = customTesters[i](a, b); + if (!j$.util.isUndefined(customTesterResult)) { + return customTesterResult; + } + } + + if (a instanceof Error && b instanceof Error) { + return a.message == b.message; + } + + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) { return a !== 0 || 1 / a == 1 / b; } + // A strict comparison is necessary because `null == undefined`. + if (a === null || b === null) { return a === b; } + var className = Object.prototype.toString.call(a); + if (className != Object.prototype.toString.call(b)) { return false; } + switch (className) { + // Strings, numbers, dates, and booleans are compared by value. + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return a == String(b); + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for + // other numeric values. + return a != +a ? b != +b : (a === 0 ? 1 / a == 1 / b : a == +b); + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a == +b; + // RegExps are compared by their source patterns and flags. + case '[object RegExp]': + return a.source == b.source && + a.global == b.global && + a.multiline == b.multiline && + a.ignoreCase == b.ignoreCase; + } + if (typeof a != 'object' || typeof b != 'object') { return false; } + + var aIsDomNode = j$.isDomNode(a); + var bIsDomNode = j$.isDomNode(b); + if (aIsDomNode && bIsDomNode) { + // At first try to use DOM3 method isEqualNode + if (a.isEqualNode) { + return a.isEqualNode(b); + } + // IE8 doesn't support isEqualNode, try to use outerHTML && innerText + var aIsElement = a instanceof Element; + var bIsElement = b instanceof Element; + if (aIsElement && bIsElement) { + return a.outerHTML == b.outerHTML; + } + if (aIsElement || bIsElement) { + return false; + } + return a.innerText == b.innerText && a.textContent == b.textContent; + } + if (aIsDomNode || bIsDomNode) { + return false; + } + + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] == a) { return bStack[length] == b; } + } + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + var size = 0; + // Recursively compare objects and arrays. + // Compare array lengths to determine if a deep comparison is necessary. + if (className == '[object Array]' && a.length !== b.length) { + result = false; + } + + if (result) { + // Objects with different constructors are not equivalent, but `Object`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction(aCtor) && (aCtor instanceof aCtor) && + isFunction(bCtor) && (bCtor instanceof bCtor))) { + return false; + } + // Deep compare objects. + for (var key in a) { + if (has(a, key)) { + // Count the expected number of properties. + size++; + // Deep compare each member. + if (!(result = has(b, key) && eq(a[key], b[key], aStack, bStack, customTesters))) { break; } + } + } + // Ensure that both objects contain the same number of properties. + if (result) { + for (key in b) { + if (has(b, key) && !(size--)) { break; } + } + result = !size; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + + return result; + + function has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); + } + + function isFunction(obj) { + return typeof obj === 'function'; + } + } +}; + +getJasmineRequireObj().toBe = function() { + function toBe() { + return { + compare: function(actual, expected) { + return { + pass: actual === expected + }; + } + }; + } + + return toBe; +}; + +getJasmineRequireObj().toBeCloseTo = function() { + + function toBeCloseTo() { + return { + compare: function(actual, expected, precision) { + if (precision !== 0) { + precision = precision || 2; + } + + return { + pass: Math.abs(expected - actual) < (Math.pow(10, -precision) / 2) + }; + } + }; + } + + return toBeCloseTo; +}; + +getJasmineRequireObj().toBeDefined = function() { + function toBeDefined() { + return { + compare: function(actual) { + return { + pass: (void 0 !== actual) + }; + } + }; + } + + return toBeDefined; +}; + +getJasmineRequireObj().toBeFalsy = function() { + function toBeFalsy() { + return { + compare: function(actual) { + return { + pass: !!!actual + }; + } + }; + } + + return toBeFalsy; +}; + +getJasmineRequireObj().toBeGreaterThan = function() { + + function toBeGreaterThan() { + return { + compare: function(actual, expected) { + return { + pass: actual > expected + }; + } + }; + } + + return toBeGreaterThan; +}; + + +getJasmineRequireObj().toBeLessThan = function() { + function toBeLessThan() { + return { + + compare: function(actual, expected) { + return { + pass: actual < expected + }; + } + }; + } + + return toBeLessThan; +}; +getJasmineRequireObj().toBeNaN = function(j$) { + + function toBeNaN() { + return { + compare: function(actual) { + var result = { + pass: (actual !== actual) + }; + + if (result.pass) { + result.message = 'Expected actual not to be NaN.'; + } else { + result.message = function() { return 'Expected ' + j$.pp(actual) + ' to be NaN.'; }; + } + + return result; + } + }; + } + + return toBeNaN; +}; + +getJasmineRequireObj().toBeNull = function() { + + function toBeNull() { + return { + compare: function(actual) { + return { + pass: actual === null + }; + } + }; + } + + return toBeNull; +}; + +getJasmineRequireObj().toBeTruthy = function() { + + function toBeTruthy() { + return { + compare: function(actual) { + return { + pass: !!actual + }; + } + }; + } + + return toBeTruthy; +}; + +getJasmineRequireObj().toBeUndefined = function() { + + function toBeUndefined() { + return { + compare: function(actual) { + return { + pass: void 0 === actual + }; + } + }; + } + + return toBeUndefined; +}; + +getJasmineRequireObj().toContain = function() { + function toContain(util, customEqualityTesters) { + customEqualityTesters = customEqualityTesters || []; + + return { + compare: function(actual, expected) { + + return { + pass: util.contains(actual, expected, customEqualityTesters) + }; + } + }; + } + + return toContain; +}; + +getJasmineRequireObj().toEqual = function() { + + function toEqual(util, customEqualityTesters) { + customEqualityTesters = customEqualityTesters || []; + + return { + compare: function(actual, expected) { + var result = { + pass: false + }; + + result.pass = util.equals(actual, expected, customEqualityTesters); + + return result; + } + }; + } + + return toEqual; +}; + +getJasmineRequireObj().toHaveBeenCalled = function(j$) { + + function toHaveBeenCalled() { + return { + compare: function(actual) { + var result = {}; + + if (!j$.isSpy(actual)) { + throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.'); + } + + if (arguments.length > 1) { + throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith'); + } + + result.pass = actual.calls.any(); + + result.message = result.pass ? + 'Expected spy ' + actual.and.identity() + ' not to have been called.' : + 'Expected spy ' + actual.and.identity() + ' to have been called.'; + + return result; + } + }; + } + + return toHaveBeenCalled; +}; + +getJasmineRequireObj().toHaveBeenCalledWith = function(j$) { + + function toHaveBeenCalledWith(util, customEqualityTesters) { + return { + compare: function() { + var args = Array.prototype.slice.call(arguments, 0), + actual = args[0], + expectedArgs = args.slice(1), + result = { pass: false }; + + if (!j$.isSpy(actual)) { + throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.'); + } + + if (!actual.calls.any()) { + result.message = function() { return 'Expected spy ' + actual.and.identity() + ' to have been called with ' + j$.pp(expectedArgs) + ' but it was never called.'; }; + return result; + } + + if (util.contains(actual.calls.allArgs(), expectedArgs, customEqualityTesters)) { + result.pass = true; + result.message = function() { return 'Expected spy ' + actual.and.identity() + ' not to have been called with ' + j$.pp(expectedArgs) + ' but it was.'; }; + } else { + result.message = function() { return 'Expected spy ' + actual.and.identity() + ' to have been called with ' + j$.pp(expectedArgs) + ' but actual calls were ' + j$.pp(actual.calls.allArgs()).replace(/^\[ | \]$/g, '') + '.'; }; + } + + return result; + } + }; + } + + return toHaveBeenCalledWith; +}; + +getJasmineRequireObj().toMatch = function(j$) { + + function toMatch() { + return { + compare: function(actual, expected) { + if (!j$.isString_(expected) && !j$.isA_('RegExp', expected)) { + throw new Error('Expected is not a String or a RegExp'); + } + + var regexp = new RegExp(expected); + + return { + pass: regexp.test(actual) + }; + } + }; + } + + return toMatch; +}; + +getJasmineRequireObj().toThrow = function(j$) { + + function toThrow(util) { + return { + compare: function(actual, expected) { + var result = { pass: false }, + threw = false, + thrown; + + if (typeof actual != 'function') { + throw new Error('Actual is not a Function'); + } + + try { + actual(); + } catch (e) { + threw = true; + thrown = e; + } + + if (!threw) { + result.message = 'Expected function to throw an exception.'; + return result; + } + + if (arguments.length == 1) { + result.pass = true; + result.message = function() { return 'Expected function not to throw, but it threw ' + j$.pp(thrown) + '.'; }; + + return result; + } + + if (util.equals(thrown, expected)) { + result.pass = true; + result.message = function() { return 'Expected function not to throw ' + j$.pp(expected) + '.'; }; + } else { + result.message = function() { return 'Expected function to throw ' + j$.pp(expected) + ', but it threw ' + j$.pp(thrown) + '.'; }; + } + + return result; + } + }; + } + + return toThrow; +}; + +getJasmineRequireObj().toThrowError = function(j$) { + function toThrowError (util) { + return { + compare: function(actual) { + var threw = false, + pass = {pass: true}, + fail = {pass: false}, + thrown; + + if (typeof actual != 'function') { + throw new Error('Actual is not a Function'); + } + + var errorMatcher = getMatcher.apply(null, arguments); + + try { + actual(); + } catch (e) { + threw = true; + thrown = e; + } + + if (!threw) { + fail.message = 'Expected function to throw an Error.'; + return fail; + } + + if (!(thrown instanceof Error)) { + fail.message = function() { return 'Expected function to throw an Error, but it threw ' + j$.pp(thrown) + '.'; }; + return fail; + } + + if (errorMatcher.hasNoSpecifics()) { + pass.message = 'Expected function not to throw an Error, but it threw ' + j$.fnNameFor(thrown) + '.'; + return pass; + } + + if (errorMatcher.matches(thrown)) { + pass.message = function() { + return 'Expected function not to throw ' + errorMatcher.errorTypeDescription + errorMatcher.messageDescription() + '.'; + }; + return pass; + } else { + fail.message = function() { + return 'Expected function to throw ' + errorMatcher.errorTypeDescription + errorMatcher.messageDescription() + + ', but it threw ' + errorMatcher.thrownDescription(thrown) + '.'; + }; + return fail; + } + } + }; + + function getMatcher() { + var expected = null, + errorType = null; + + if (arguments.length == 2) { + expected = arguments[1]; + if (isAnErrorType(expected)) { + errorType = expected; + expected = null; + } + } else if (arguments.length > 2) { + errorType = arguments[1]; + expected = arguments[2]; + if (!isAnErrorType(errorType)) { + throw new Error('Expected error type is not an Error.'); + } + } + + if (expected && !isStringOrRegExp(expected)) { + if (errorType) { + throw new Error('Expected error message is not a string or RegExp.'); + } else { + throw new Error('Expected is not an Error, string, or RegExp.'); + } + } + + function messageMatch(message) { + if (typeof expected == 'string') { + return expected == message; + } else { + return expected.test(message); + } + } + + return { + errorTypeDescription: errorType ? j$.fnNameFor(errorType) : 'an exception', + thrownDescription: function(thrown) { + var thrownName = errorType ? j$.fnNameFor(thrown.constructor) : 'an exception', + thrownMessage = ''; + + if (expected) { + thrownMessage = ' with message ' + j$.pp(thrown.message); + } + + return thrownName + thrownMessage; + }, + messageDescription: function() { + if (expected === null) { + return ''; + } else if (expected instanceof RegExp) { + return ' with a message matching ' + j$.pp(expected); + } else { + return ' with message ' + j$.pp(expected); + } + }, + hasNoSpecifics: function() { + return expected === null && errorType === null; + }, + matches: function(error) { + return (errorType === null || error.constructor === errorType) && + (expected === null || messageMatch(error.message)); + } + }; + } + + function isStringOrRegExp(potential) { + return potential instanceof RegExp || (typeof potential == 'string'); + } + + function isAnErrorType(type) { + if (typeof type !== 'function') { + return false; + } + + var Surrogate = function() {}; + Surrogate.prototype = type.prototype; + return (new Surrogate()) instanceof Error; + } + } + + return toThrowError; +}; + +getJasmineRequireObj().interface = function(jasmine, env) { + var jasmineInterface = { + describe: function(description, specDefinitions) { + return env.describe(description, specDefinitions); + }, + + xdescribe: function(description, specDefinitions) { + return env.xdescribe(description, specDefinitions); + }, + + fdescribe: function(description, specDefinitions) { + return env.fdescribe(description, specDefinitions); + }, + + it: function() { + return env.it.apply(env, arguments); + }, + + xit: function() { + return env.xit.apply(env, arguments); + }, + + fit: function() { + return env.fit.apply(env, arguments); + }, + + beforeEach: function() { + return env.beforeEach.apply(env, arguments); + }, + + afterEach: function() { + return env.afterEach.apply(env, arguments); + }, + + beforeAll: function() { + return env.beforeAll.apply(env, arguments); + }, + + afterAll: function() { + return env.afterAll.apply(env, arguments); + }, + + expect: function(actual) { + return env.expect(actual); + }, + + pending: function() { + return env.pending.apply(env, arguments); + }, + + fail: function() { + return env.fail.apply(env, arguments); + }, + + spyOn: function(obj, methodName) { + return env.spyOn(obj, methodName); + }, + + jsApiReporter: new jasmine.JsApiReporter({ + timer: new jasmine.Timer() + }), + + jasmine: jasmine + }; + + jasmine.addCustomEqualityTester = function(tester) { + env.addCustomEqualityTester(tester); + }; + + jasmine.addMatchers = function(matchers) { + return env.addMatchers(matchers); + }; + + jasmine.clock = function() { + return env.clock; + }; + + return jasmineInterface; +}; + +getJasmineRequireObj().version = function() { + return '2.2.0'; +}; diff --git a/test/unittest/jasmine-2.2.0/jasmine_favicon.png b/test/unittest/jasmine-2.2.0/jasmine_favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..3b84583be4b9d5ae9cd5cae07b2dbaa5ebb0ad1c GIT binary patch literal 1486 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0VDb;}332@o1PuQh8X8uGu4-^- zn3*=SA+%wV=cI;&hMB$%-Lc(MLmN8%IwwUpbcA;F2Q;)twND9bn-tpC9oR4-vb8I; zp+Bg#FSKP+P(yD-%f!%zo}iZgh=%Ua=KkP@iNVbiLYsSn8~VeW`+}P$1~&ACHcbd_ z=nZb_32o{NZkZ6&1k^hrxT!a&r8lIdAIJ@9nh?|iRMsET+#A%`AKKg-(%2K)*cZ|~ zA-J&*$PEUH08MM`4Q=iVY3vVfhN$TUscGs5sR8P31X|G_+SnTcv<0XVC=Rr!u|K4# zHyCJU6UYRR;%2BtKv^I=q#2|DECn_k@wXU|=@ zeD&J(8#iy=zH|5fgNKiwJbm`!<*V0k-oF3v@zdvTKYsrD^Y>rGdNDU(R>|^oaSW-5 z%f0Y2x+hSk{p0&HA;E60Oq1S3r7U;(X3MH#?W9nxXzk)srlC4P;cZYe&v*G}mgi%< ze(bTl{@&_)cX8b-kvX%ff9D22e*M~7edm|;|Jb8m2JBzkzKiSBKR0n*?XSyM6fxZY zJ4bb;vGKRiKP(ztq3sJx9iq$Re`-EEQU0KE$sdyqayzp6H-7x+oGKZ_6;hQ_Y|p&y z7o`N7g@ z8Yl1HKL;mFo4BdxljF1}KbfMR6nNdLyPnEap1MqBdI?{g$L58$P8+wftLX5R70)7n`#pwItnbma$w{%`M(`wpsu2rJ60rdGCc> z+~lm)viMYM`=uXwK_$`#_UtRZMO=2-IV)l2vc~)doyPvg-RmxtACQ#v{7}5$&isV+ zPws~n?@yNGy#H1=vTI?;CAl9~9#VgqJ+7`4y~R+Wyj0U+){?lm9r6mtf0gl_VmUW^ z%eje%?jM%^eLuUg#ybXaQM{yQy&8UgiQ`HQ+=iTpjfd0iJ@ ssyFi&dF4%9dEry;pNN)Q>$jg_dr3r;PHA*CFc&d+y85}Sb4q9e0J812W&i*H literal 0 HcmV?d00001 diff --git a/test/unittest/jasmine-2.2.0/jasmine_helper.js b/test/unittest/jasmine-2.2.0/jasmine_helper.js new file mode 100644 index 0000000..29a18be --- /dev/null +++ b/test/unittest/jasmine-2.2.0/jasmine_helper.js @@ -0,0 +1,96 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +'use strict'; + +var JasmineHelper = (function() { + var env, iface; + + function extend(destination, source) { + for (var property in source) destination[property] = source[property]; + return destination; + } + + function addJasmineReporters(jasmineInterface, jasmineEnv) { + jasmineInterface.jsApiReporter = new jasmineInterface.jasmine.JsApiReporter({ timer: new jasmineInterface.jasmine.Timer() }); + jasmineEnv.addReporter(jasmineInterface.jsApiReporter); + + jasmineInterface.htmlReporter = new jasmineInterface.jasmine.HtmlReporter({ + env: jasmineEnv, + queryString: function() { return null; }, + onRaiseExceptionsClick: function() { }, + getContainer: function() { return document.getElementById('content'); }, + createElement: function() { return document.createElement.apply(document, arguments); }, + createTextNode: function() { return document.createTextNode.apply(document, arguments); }, + timer: new jasmineInterface.jasmine.Timer() + }); + jasmineInterface.htmlReporter.initialize(); + jasmineEnv.addReporter(jasmineInterface.htmlReporter); + + var ConsoleReporter = jasmineRequire.ConsoleReporter(); + jasmineEnv.addReporter(new ConsoleReporter({ + print: function () {console.log.apply(console, arguments);}, + timer: new jasmine.Timer + })); + } + + function setUpJasmine() { + // Set up jasmine + var jasmine = jasmineRequire.core(jasmineRequire); + jasmineRequire.html(jasmine); + var jasmineEnv = jasmine.currentEnv_ = new jasmine.Env(); + + jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000; + jasmineEnv.catchExceptions(false); + + // Set up jasmine interface + var jasmineInterface = jasmineRequire.interface(jasmine, jasmineEnv); + + // Add Spec Filter + jasmineEnv.specFilter = function(spec) { + //console.log(spec.getFullName()); + return true; + }; + + // Jasmine 2.2.0 moved this symbol, so we add a shim here. + jasmine.Expectation.addMatchers = jasmine.Expectation.addMatchers || function() { + return jasmine.addMatchers.apply(this, arguments); + }; + + window.jasmine = jasmine; + extend(window, jasmineInterface); + + env = jasmineEnv; + iface = jasmineInterface; + } + + function runJasmineTests() { + // Add Reporters + addJasmineReporters(iface, env); + env.execute(); + } + + return { + setup: setUpJasmine, + run: runJasmineTests + }; +})(); + diff --git a/test/unittest/splashscreen.html b/test/unittest/splashscreen.html new file mode 100644 index 0000000..76711c1 --- /dev/null +++ b/test/unittest/splashscreen.html @@ -0,0 +1,47 @@ + + + + + + + + Tizen Web IDE - Tizen - Tizen basic Application + + + + + + + + + + + + + + + diff --git a/test/unittest/tests/accelerometer.tests.js b/test/unittest/tests/accelerometer.tests.js new file mode 100644 index 0000000..1e6f2b9 --- /dev/null +++ b/test/unittest/tests/accelerometer.tests.js @@ -0,0 +1,353 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + var isWindows = (cordova.platformId === "windows") || (cordova.platformId === "windows8"), + // Checking existence of accelerometer for windows platform + // Assumed that accelerometer always exists on other platforms. Extend + // condition to support accelerometer check on other platforms + isAccelExist = isWindows ? Windows.Devices.Sensors.Accelerometer.getDefault() !== null : true; + + describe('Accelerometer (navigator.accelerometer)', function () { + var fail = function(done) { + expect(true).toBe(false); + done(); + }; + + // This timeout is here to lessen the load on native accelerometer + // intensive use of which can lead to occasional test failures + afterEach(function(done) { + setTimeout(function() { + done(); + }, 100); + }); + + it("accelerometer.spec.1 should exist", function () { + expect(navigator.accelerometer).toBeDefined(); + }); + + describe("getCurrentAcceleration", function() { + it("accelerometer.spec.2 should exist", function() { + expect(typeof navigator.accelerometer.getCurrentAcceleration).toBeDefined(); + expect(typeof navigator.accelerometer.getCurrentAcceleration == 'function').toBe(true); + }); + + it("accelerometer.spec.3 success callback should be called with an Acceleration object", function(done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var win = function(a) { + expect(a).toBeDefined(); + expect(a.x).toBeDefined(); + expect(typeof a.x == 'number').toBe(true); + expect(a.y).toBeDefined(); + expect(typeof a.y == 'number').toBe(true); + expect(a.z).toBeDefined(); + expect(typeof a.z == 'number').toBe(true); + expect(a.timestamp).toBeDefined(); + expect(typeof a.timestamp).toBe('number'); + done(); + }; + + navigator.accelerometer.getCurrentAcceleration(win, fail.bind(null, done)); + }); + + it("accelerometer.spec.4 success callback Acceleration object should have (reasonable) values for x, y and z expressed in m/s^2", function(done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var reasonableThreshold = 15; + var win = function(a) { + expect(a.x).toBeLessThan(reasonableThreshold); + expect(a.x).toBeGreaterThan(reasonableThreshold * -1); + expect(a.y).toBeLessThan(reasonableThreshold); + expect(a.y).toBeGreaterThan(reasonableThreshold * -1); + expect(a.z).toBeLessThan(reasonableThreshold); + expect(a.z).toBeGreaterThan(reasonableThreshold * -1); + done() + }; + + navigator.accelerometer.getCurrentAcceleration(win, fail.bind(null,done)); + }); + + it("accelerometer.spec.5 success callback Acceleration object should return a recent timestamp", function(done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var veryRecently = (new Date()).getTime(); + // Need to check that dates returned are not vastly greater than a recent time stamp. + // In case the timestamps returned are ridiculously high + var reasonableTimeLimit = veryRecently + 5000; // 5 seconds from now + var win = function(a) { + expect(a.timestamp).toBeGreaterThan(veryRecently); + expect(a.timestamp).toBeLessThan(reasonableTimeLimit); + done(); + }; + + navigator.accelerometer.getCurrentAcceleration(win, fail.bind(null,done)); + }); + }); + + describe("watchAcceleration", function() { + var id; + + afterEach(function() { + navigator.accelerometer.clearWatch(id); + }); + + it("accelerometer.spec.6 should exist", function() { + expect(navigator.accelerometer.watchAcceleration).toBeDefined(); + expect(typeof navigator.accelerometer.watchAcceleration == 'function').toBe(true); + }); + + it("accelerometer.spec.7 success callback should be called with an Acceleration object", function(done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var win = function(a) { + expect(a).toBeDefined(); + expect(a.x).toBeDefined(); + expect(typeof a.x == 'number').toBe(true); + expect(a.y).toBeDefined(); + expect(typeof a.y == 'number').toBe(true); + expect(a.z).toBeDefined(); + expect(typeof a.z == 'number').toBe(true); + expect(a.timestamp).toBeDefined(); + expect(typeof a.timestamp).toBe('number'); + done(); + }; + + id = navigator.accelerometer.watchAcceleration(win, fail.bind(null,done), {frequency:100}); + }); + + it("accelerometer.spec.8 success callback Acceleration object should have (reasonable) values for x, y and z expressed in m/s^2", function(done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var reasonableThreshold = 15; + var win = function(a) { + expect(a.x).toBeLessThan(reasonableThreshold); + expect(a.x).toBeGreaterThan(reasonableThreshold * -1); + expect(a.y).toBeLessThan(reasonableThreshold); + expect(a.y).toBeGreaterThan(reasonableThreshold * -1); + expect(a.z).toBeLessThan(reasonableThreshold); + expect(a.z).toBeGreaterThan(reasonableThreshold * -1); + done(); + }; + + id = navigator.accelerometer.watchAcceleration(win, fail.bind(null,done), {frequency:100}); + }); + + it("accelerometer.spec.9 success callback Acceleration object should return a recent timestamp", function(done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var veryRecently = (new Date()).getTime(); + // Need to check that dates returned are not vastly greater than a recent time stamp. + // In case the timestamps returned are ridiculously high + var reasonableTimeLimit = veryRecently + 5000; // 5 seconds from now + var win = function(a) { + expect(a.timestamp).toBeGreaterThan(veryRecently); + expect(a.timestamp).toBeLessThan(reasonableTimeLimit); + done(); + }; + + id = navigator.accelerometer.watchAcceleration(win, fail.bind(null,done), {frequency:100}); + }); + + it("accelerometer.spec.12 success callback should be preserved and called several times", function (done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var callbacksCallCount = 0, + callbacksCallTestCount = 3; + + var win = function (a) { + if (callbacksCallCount++ < callbacksCallTestCount) return; + expect(typeof a).toBe('object'); + done(); + }; + + id = navigator.accelerometer.watchAcceleration(win, fail.bind(null, done), { frequency: 100 }); + }); + }); + + describe("clearWatch", function() { + it("accelerometer.spec.10 should exist", function() { + expect(navigator.accelerometer.clearWatch).toBeDefined(); + expect(typeof navigator.accelerometer.clearWatch == 'function').toBe(true); + }); + + it("accelerometer.spec.11 should clear an existing watch", function(done) { + // skip the test if Accelerometer doesn't exist on this device + if (!isAccelExist) { + pending(); + } + var id; + + // expect win to get called exactly once + var win = function(a) { + // clear watch on first call + navigator.accelerometer.clearWatch(id); + // if win isn't called again in 201 ms we assume success + var tid = setTimeout(function() { + expect(true).toBe(true); + done(); + }, 101); + // if win is called again, clear the timeout and fail the test + win = function() { + clearTimeout(tid); + fail(done); + } + }; + + // wrap the success call in a closure since the value of win changes between calls + id = navigator.accelerometer.watchAcceleration(function() { win(); }, fail.bind(null, done), {frequency:100}); + }); + }); + }); +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + function roundNumber(num) { + var dec = 3; + var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec); + return result; + } + + var watchAccelId = null; + + /** + * Start watching acceleration + */ + var watchAccel = function () { + console.log("watchAccel()"); + + // Success callback + var success = function (a) { + document.getElementById('x').innerHTML = roundNumber(a.x); + document.getElementById('y').innerHTML = roundNumber(a.y); + document.getElementById('z').innerHTML = roundNumber(a.z); + }; + + // Fail callback + var fail = function (e) { + console.log("watchAccel fail callback with error code " + e); + stopAccel(); + setAccelStatus(e); + }; + + // Update acceleration every 1 sec + var opt = {}; + opt.frequency = 1000; + watchAccelId = navigator.accelerometer.watchAcceleration(success, fail, opt); + + setAccelStatus("Running"); + }; + + /** + * Stop watching the acceleration + */ + var stopAccel = function () { + console.log("stopAccel()"); + setAccelStatus("Stopped"); + if (watchAccelId) { + navigator.accelerometer.clearWatch(watchAccelId); + watchAccelId = null; + } + }; + + /** + * Get current acceleration + */ + var getAccel = function () { + console.log("getAccel()"); + + // Stop accel if running + stopAccel(); + + // Success callback + var success = function (a) { + document.getElementById('x').innerHTML = roundNumber(a.x); + document.getElementById('y').innerHTML = roundNumber(a.y); + document.getElementById('z').innerHTML = roundNumber(a.z); + console.log("getAccel success callback"); + }; + + // Fail callback + var fail = function (e) { + console.log("getAccel fail callback with error code " + e); + setAccelStatus(e); + }; + + // Make call + var opt = {}; + navigator.accelerometer.getCurrentAcceleration(success, fail, opt); + }; + + /** + * Set accelerometer status + */ + var setAccelStatus = function (status) { + document.getElementById('accel_status').innerHTML = status; + }; + + /******************************************************************************/ + + var accelerometer_tests = '

' + + 'Expected result: Will update the status box with X, Y, and Z values when pressed. Status will read "Stopped"' + + '

' + + 'Expected result: When pressed, will start a watch on the accelerometer and update X,Y,Z values when movement is sensed. Status will read "Running"' + + '

' + + 'Expected result: Will clear the accelerometer watch, so X,Y,Z values will no longer be updated. Status will read "Stopped"'; + + contentEl.innerHTML = '
' + + 'Status: Stopped' + + '' + + '' + + '' + + '' + + '
X:
Y:
Z:
' + + accelerometer_tests; + + createActionButton('Get Acceleration', function () { + getAccel(); + }, 'getAcceleration'); + + createActionButton('Start Watch', function () { + watchAccel(); + }, 'watchAcceleration'); + + createActionButton('Clear Watch', function () { + stopAccel(); + }, 'clearAcceleration'); +}; diff --git a/test/unittest/tests/battery.tests.js b/test/unittest/tests/battery.tests.js new file mode 100644 index 0000000..fa06ead --- /dev/null +++ b/test/unittest/tests/battery.tests.js @@ -0,0 +1,549 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +exports.defineAutoTests = function () { + var isWindowsStore = (cordova.platformId == "windows8") || (cordova.platformId == "windows" && !WinJS.Utilities.isPhone), + onEvent; + + describe('Battery (navigator.battery)', function () { + + it("battery.spec.1 should exist", function () { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + expect(navigator.battery).toBeDefined(); + }); + }); + + describe('Battery Events', function () { + + describe("batterystatus", function () { + + afterEach(function () { + if (!isWindowsStore) { + try { + window.removeEventListener("batterystatus", onEvent, false); + } + catch (e) { + console.err('Error removing batterystatus event listener: ' + e) + } + } + }); + + it("battery.spec.2 should fire batterystatus events", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryStatus"); + + // batterystatus -> 30 + window.addEventListener("batterystatus", onEvent, false); + + navigator.battery._status({ + level: 30, + isPlugged: false + }); + + setTimeout(function () { + expect(onEvent).toHaveBeenCalled(); + done(); + }, 100); + + }); + }); + + describe("batterylow", function () { + + afterEach(function () { + if (!isWindowsStore) { + try { + window.removeEventListener("batterylow", onEvent, false); + } + catch (e) { + console.err('Error removing batterylow event listener: ' + e) + } + } + }); + + it("battery.spec.3 should fire batterylow event (30 -> 20)", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryLow"); + + // batterylow 30 -> 20 + window.addEventListener("batterylow", onEvent, false); + + navigator.battery._status({ + level : 30, + isPlugged : false + }); + + navigator.battery._status({ + level : 20, + isPlugged : false + }); + + setTimeout(function () { + expect(onEvent).toHaveBeenCalled(); + done(); + }, 100); + + }); + + it("battery.spec.3.1 should fire batterylow event (30 -> 19)", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryLow"); + + // batterylow 30 -> 19 + window.addEventListener("batterylow", onEvent, false); + + navigator.battery._status({ + level : 30, + isPlugged : false + }); + + navigator.battery._status({ + level : 19, + isPlugged : false + }); + + setTimeout(function () { + expect(onEvent).toHaveBeenCalled(); + done(); + }, 100); + }); + + it("battery.spec.3.2 should not fire batterylow event (5 -> 20)", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryLow"); + + // batterylow should not fire when level increases (5->20) ( CB-4519 ) + window.addEventListener("batterylow", onEvent, false); + + navigator.battery._status({ + level : 5, + isPlugged : false + }); + + navigator.battery._status({ + level: 20, + isPlugged: false + }); + + setTimeout(function () { + expect(onEvent).not.toHaveBeenCalled(); + done(); + }, 100); + }); + + it("battery.spec.3.3 batterylow event(21 -> 20) should not fire if charging", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryLow"); + + // batterylow should NOT fire if we are charging ( CB-4520 ) + window.addEventListener("batterylow", onEvent, false); + + navigator.battery._status({ + level : 21, + isPlugged : true + }); + + navigator.battery._status({ + level : 20, + isPlugged : true + }); + + setTimeout(function () { + expect(onEvent).not.toHaveBeenCalled(); + done(); + }, 100); + }); + }); + + describe("batterycritical", function () { + + afterEach(function () { + if (!isWindowsStore) { + try { + window.removeEventListener("batterycritical", onEvent, false); + } + catch (e) { + console.err('Error removing batterycritical event listener: ' + e) + } + } + }); + + it("battery.spec.4 should fire batterycritical event (19 -> 5)", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryCritical"); + + // batterycritical 19->5 + window.addEventListener("batterycritical", onEvent, false); + + navigator.battery._status({ + level: 19, + isPlugged: false + }); + + navigator.battery._status({ + level: 5, + isPlugged: false + }); + + setTimeout(function () { + expect(onEvent).toHaveBeenCalled(); + done(); + }, 100); + + }); + + it("battery.spec.4.1 should fire batterycritical event (19 -> 4)", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryCritical"); + + // batterycritical 19->4 + window.addEventListener("batterycritical", onEvent, false); + + navigator.battery._status({ + level: 19, + isPlugged: false + }); + + navigator.battery._status({ + level: 4, + isPlugged: false + }); + + setTimeout(function () { + expect(onEvent).toHaveBeenCalled(); + done(); + }, 100); + + }); + + it("battery.spec.4.2 should fire batterycritical event (100 -> 4) when decreases", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryCritical"); + + // setup: batterycritical should fire when level decreases (100->4) ( CB-4519 ) + window.addEventListener("batterycritical", onEvent, false); + + navigator.battery._status({ + level: 100, + isPlugged: false + }); + + navigator.battery._status({ + level: 4, + isPlugged: false + }); + + setTimeout(function () { + expect(onEvent).toHaveBeenCalled(); + done(); + }, 100); + }); + + it("battery.spec.4.3 should not fire batterycritical event (4 -> 5) when increasing", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryCritical"); + + window.addEventListener("batterycritical", onEvent, false); + + // batterycritical should not fire when level increases (4->5)( CB-4519 ) + navigator.battery._status({ + level: 4, + isPlugged: false + }); + + navigator.battery._status({ + level: 5, + isPlugged: false + }); + + setTimeout(function () { + expect(onEvent.calls.count()).toBeLessThan(2); + done(); + }, 100); + }); + + it("battery.spec.4.4 should not fire batterycritical event (6 -> 5) if charging", function (done) { + if (isWindowsStore) { + pending('Battery status is not supported on windows store'); + } + + onEvent = jasmine.createSpy("BatteryCritical"); + + window.addEventListener("batterycritical", onEvent, false); + + // batterycritical should NOT fire if we are charging ( CB-4520 ) + navigator.battery._status({ + level: 6, + isPlugged: true + }); + + navigator.battery._status({ + level: 5, + isPlugged: true + }); + + setTimeout(function () { + expect(onEvent).not.toHaveBeenCalled(); + done(); + }, 100); + }); + }); + }); +}; + +//****************************************************************************************** +//***************************************Manual Tests*************************************** +//****************************************************************************************** + +exports.defineManualTests = function (contentEl, createActionButton) { + + /* Battery */ + function updateInfo(info) { + document.getElementById('levelValue').innerText = info.level; + document.getElementById('pluggedValue').innerText = info.isPlugged; + if (info.level > 5) { + document.getElementById('criticalValue').innerText = "false"; + } + if (info.level > 20) { + document.getElementById('lowValue').innerText = "false"; + } + } + + function batteryLow(info) { + document.getElementById('lowValue').innerText = "true"; + } + + function batteryCritical(info) { + document.getElementById('criticalValue').innerText = "true"; + } + + function addBattery() { + window.addEventListener("batterystatus", updateInfo, false); + } + + function removeBattery() { + window.removeEventListener("batterystatus", updateInfo, false); + } + + function addLow() { + window.addEventListener("batterylow", batteryLow, false); + } + + function removeLow() { + window.removeEventListener("batterylow", batteryLow, false); + } + + function addCritical() { + window.addEventListener("batterycritical", batteryCritical, false); + } + + function removeCritical() { + window.removeEventListener("batterycritical", batteryCritical, false); + } + + //Generate Dynamic Table + function generateTable(tableId, rows, cells, elements) { + var table = document.createElement('table'); + for (var r = 0; r < rows; r++) { + var row = table.insertRow(r); + for (var c = 0; c < cells; c++) { + var cell = row.insertCell(c); + cell.setAttribute("align", "center"); + for (var e in elements) { + if (elements[e].position.row == r && elements[e].position.cell == c) { + var htmlElement = document.createElement(elements[e].tag); + var content; + + if (elements[e].content !== "") { + content = document.createTextNode(elements[e].content); + htmlElement.appendChild(content); + } + if (elements[e].type) { + htmlElement.type = elements[e].type; + } + htmlElement.setAttribute("id", elements[e].id); + cell.appendChild(htmlElement); + } + } + } + } + table.setAttribute("align", "center"); + table.setAttribute("id", tableId); + return table; + } + // Battery Elements + var batteryElements = + [{ + id : "statusTag", + content : "Status:", + tag : "div", + position : { + row : 0, + cell : 0 + } + }, { + id : "statusValue", + content : "", + tag : "div", + position : { + row : 0, + cell : 1 + } + }, { + id : "levelTag", + content : "Level:", + tag : "div", + position : { + row : 1, + cell : 0 + } + }, { + id : "levelValue", + content : "", + tag : "div", + position : { + row : 1, + cell : 1 + } + }, { + id : "pluggedTag", + content : "Plugged:", + tag : "div", + position : { + row : 2, + cell : 0 + } + }, { + id : "pluggedValue", + content : "", + tag : "div", + position : { + row : 2, + cell : 1 + } + }, { + id : "lowTag", + content : "Low:", + tag : "div", + position : { + row : 3, + cell : 0 + } + }, { + id : "lowValue", + content : "", + tag : "div", + position : { + row : 3, + cell : 1 + } + }, { + id : "criticalTag", + content : "Critical:", + tag : "div", + position : { + row : 4, + cell : 0 + } + }, { + id : "criticalValue", + content : "", + tag : "div", + position : { + row : 4, + cell : 1 + } + } + ]; + + //Title audio results + var div = document.createElement('h2'); + div.appendChild(document.createTextNode('Battery Status')); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + + var batteryTable = generateTable('info', 5, 3, batteryElements); + contentEl.appendChild(batteryTable); + + div = document.createElement('h2'); + div.appendChild(document.createTextNode('Actions')); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + + contentEl.innerHTML += '

Battery Status Tests

' + + 'Will update values for level and plugged when they change. If battery low and critical values are false, they will get updated in status box, but only once' + + '
' + + '

Battery Low Tests

' + + '

Will update value for battery low to true when battery is below 20%' + + '
' + + '

Battery Critical Tests

' + + '

Will update value for battery critical to true when battery is below 5%' + + '
'; + + createActionButton('Add "batterystatus" listener', function () { + addBattery(); + }, 'addBS'); + createActionButton('Remove "batterystatus" listener', function () { + removeBattery(); + }, 'remBs'); + createActionButton('Add "batterylow" listener', function () { + addLow(); + }, 'addBl'); + createActionButton('Remove "batterylow" listener', function () { + removeLow(); + }, 'remBl'); + createActionButton('Add "batterycritical" listener', function () { + addCritical(); + }, 'addBc'); + createActionButton('Remove "batterycritical" listener', function () { + removeCritical(); + }, 'remBc'); +}; diff --git a/test/unittest/tests/bridge.tests.js b/test/unittest/tests/bridge.tests.js new file mode 100644 index 0000000..19c9105 --- /dev/null +++ b/test/unittest/tests/bridge.tests.js @@ -0,0 +1,128 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +/* This test requires some extra code to run, because we want benchmark results */ + +/* + It's never going to be OVER 9000 + http://youtu.be/SiMHTK15Pik +*/ +var FENCEPOST = 9000; + +var exec = cordova.require('cordova/exec'), + echo = cordova.require('cordova/plugin/echo'), + startTime, + endTime, + callCount, + durationMs = 1000, + asyncEcho, + useSetTimeout, + payloadSize, + payload; + +var vanillaWin = function(result) { + callCount++; + if (result != payload) { + console.log('Wrong echo data!'); + } + var elapsedMs = new Date() - startTime; + if (elapsedMs < durationMs) { + if (useSetTimeout) { + setTimeout(echoMessage, 0); + } else { + echoMessage(); + } + } else { + endTime = +new Date(); + } +} + +var reset = function() +{ + endTime = null; + callCount = 0; + useSetTimeout = false; + payloadSize = 5; + callsPerSecond = 0; +} + +var echoMessage = function() +{ + echo(vanillaWin, fail, payload, asyncEcho); +} + +var fail = function() { + expect(false).toBe(true); +}; + +function createTestCase(jsToNativeModeName, nativeToJsModeName, testAsyncEcho) { + it(jsToNativeModeName + '+' + nativeToJsModeName, function() { + expect(exec.jsToNativeModes[jsToNativeModeName]).toBeDefined(); + expect(exec.nativeToJsModes[nativeToJsModeName]).toBeDefined(); + reset(); + payload = new Array(payloadSize * 10 + 1).join('012\n\n 6789'); + asyncEcho = testAsyncEcho; + exec.setJsToNativeBridgeMode(exec.jsToNativeModes[jsToNativeModeName]); + exec.setNativeToJsBridgeMode(exec.nativeToJsModes[nativeToJsModeName]); + + waits(300); + runs(function() { + startTime = +new Date(); + echoMessage(); + }); + waitsFor(function() { return endTime; }, "never completed", durationMs * 2); + runs(function() { + var elapsedMs = endTime - startTime, + callsPerSecond = callCount * 1000 / elapsedMs; + expect(callsPerSecond).toBeGreaterThan(FENCEPOST); + }); + }); +}; + +// Wait so that the first benchmark doesn't have contention. +describe('Wait for page to load.', function() { + it('waiting...', function() { + waits(1000); + }); +}); + +// Before running on Android, set the following constants in NativeToJsMessagingBridge: +// - ENABLE_LOCATION_CHANGE_EXEC_MODE = true +// - DISABLE_EXEC_CHAINING = true +describe('Android bridge with', function() { + var testAsyncEcho = false; + createTestCase('PROMPT', 'POLLING', testAsyncEcho); + createTestCase('JS_OBJECT', 'POLLING', testAsyncEcho); + createTestCase('LOCATION_CHANGE', 'ONLINE_EVENT', testAsyncEcho); + + testAsyncEcho = true; + createTestCase('PROMPT', 'POLLING', testAsyncEcho); + createTestCase('PROMPT', 'HANGING_GET', testAsyncEcho); + createTestCase('PROMPT', 'LOAD_URL', testAsyncEcho); + createTestCase('PROMPT', 'ONLINE_EVENT', testAsyncEcho); + createTestCase('PROMPT', 'PRIVATE_API', testAsyncEcho); + + createTestCase('JS_OBJECT', 'POLLING', testAsyncEcho); + createTestCase('JS_OBJECT', 'HANGING_GET', testAsyncEcho); + createTestCase('JS_OBJECT', 'LOAD_URL', testAsyncEcho); + createTestCase('JS_OBJECT', 'ONLINE_EVENT', testAsyncEcho); + createTestCase('JS_OBJECT', 'PRIVATE_API', testAsyncEcho); +}); diff --git a/test/unittest/tests/camera.tests.js b/test/unittest/tests/camera.tests.js new file mode 100644 index 0000000..fd97ec2 --- /dev/null +++ b/test/unittest/tests/camera.tests.js @@ -0,0 +1,504 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + describe('Camera (navigator.camera)', function () { + it("should exist", function () { + expect(navigator.camera).toBeDefined(); + }); + + it("should contain a getPicture function", function () { + expect(navigator.camera.getPicture).toBeDefined(); + expect(typeof navigator.camera.getPicture == 'function').toBe(true); + }); + }); + + describe('Camera Constants (window.Camera + navigator.camera)', function () { + it("camera.spec.1 window.Camera should exist", function () { + expect(window.Camera).toBeDefined(); + }); + + it("camera.spec.2 should contain three DestinationType constants", function () { + expect(Camera.DestinationType.DATA_URL).toBe(0); + expect(Camera.DestinationType.FILE_URI).toBe(1); + expect(Camera.DestinationType.NATIVE_URI).toBe(2); + expect(navigator.camera.DestinationType.DATA_URL).toBe(0); + expect(navigator.camera.DestinationType.FILE_URI).toBe(1); + expect(navigator.camera.DestinationType.NATIVE_URI).toBe(2); + }); + + it("camera.spec.3 should contain two EncodingType constants", function () { + expect(Camera.EncodingType.JPEG).toBe(0); + expect(Camera.EncodingType.PNG).toBe(1); + expect(navigator.camera.EncodingType.JPEG).toBe(0); + expect(navigator.camera.EncodingType.PNG).toBe(1); + }); + + it("camera.spec.4 should contain three MediaType constants", function () { + expect(Camera.MediaType.PICTURE).toBe(0); + expect(Camera.MediaType.VIDEO).toBe(1); + expect(Camera.MediaType.ALLMEDIA).toBe(2); + expect(navigator.camera.MediaType.PICTURE).toBe(0); + expect(navigator.camera.MediaType.VIDEO).toBe(1); + expect(navigator.camera.MediaType.ALLMEDIA).toBe(2); + }); + + it("camera.spec.5 should contain three PictureSourceType constants", function () { + expect(Camera.PictureSourceType.PHOTOLIBRARY).toBe(0); + expect(Camera.PictureSourceType.CAMERA).toBe(1); + expect(Camera.PictureSourceType.SAVEDPHOTOALBUM).toBe(2); + expect(navigator.camera.PictureSourceType.PHOTOLIBRARY).toBe(0); + expect(navigator.camera.PictureSourceType.CAMERA).toBe(1); + expect(navigator.camera.PictureSourceType.SAVEDPHOTOALBUM).toBe(2); + }); + }); +}; + + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + var platformId = cordova.require('cordova/platform').id; + var pictureUrl = null; + var fileObj = null; + var fileEntry = null; + var pageStartTime = +new Date(); + + //default camera options + var camQualityDefault = ['50', 50]; + var camDestinationTypeDefault = ['FILE_URI', 1]; + var camPictureSourceTypeDefault = ['CAMERA', 1]; + var camAllowEditDefault = ['allowEdit', false]; + var camEncodingTypeDefault = ['JPEG', 0]; + var camMediaTypeDefault = ['mediaType', 0]; + var camCorrectOrientationDefault = ['correctOrientation', false]; + var camSaveToPhotoAlbumDefault = ['saveToPhotoAlbum', true]; + + var clearLog = function () { + var log = document.getElementById('info'); + log.innerHTML = ""; + } + + function log(value) { + console.log(value); + document.getElementById('camera_status').textContent += (new Date() - pageStartTime) / 1000 + ': ' + value + '\n'; + } + + function clearStatus() { + document.getElementById('camera_status').innerHTML = ''; + document.getElementById('camera_image').src = 'about:blank'; + var canvas = document.getElementById('canvas'); + canvas.width = canvas.height = 1; + pictureUrl = null; + fileObj = null; + fileEntry = null; + } + + function setPicture(url, callback) { + try { + window.atob(url); + // if we got here it is a base64 string (DATA_URL) + url = "data:image/jpeg;base64," + url; + } catch (e) { + // not DATA_URL + log('URL: ' + url.slice(0, 100)); + } + + pictureUrl = url; + var img = document.getElementById('camera_image'); + var startTime = new Date(); + img.src = url; + img.onloadend = function () { + log('Image tag load time: ' + (new Date() - startTime)); + callback && callback(); + }; + } + + function onGetPictureError(e) { + log('Error getting picture: ' + (e.code || e)); + } + + function getPictureWin(data) { + setPicture(data); + // TODO: Fix resolveLocalFileSystemURI to work with native-uri. + if (pictureUrl.indexOf('file:') == 0 || pictureUrl.indexOf('content:') == 0 || pictureUrl.indexOf('ms-appdata:') === 0) { + resolveLocalFileSystemURI(data, function (e) { + fileEntry = e; + logCallback('resolveLocalFileSystemURI()', true)(e.toURL()); + }, logCallback('resolveLocalFileSystemURI()', false)); + } else if (pictureUrl.indexOf('data:image/jpeg;base64') == 0) { + // do nothing + } else { + var path = pictureUrl.replace(/^file:\/\/(localhost)?/, '').replace(/%20/g, ' '); + fileEntry = new FileEntry('image_name.png', path); + } + } + + function getPicture() { + clearStatus(); + var options = extractOptions(); + log('Getting picture with options: ' + JSON.stringify(options)); + var popoverHandle = navigator.camera.getPicture(getPictureWin, onGetPictureError, options); + + // Reposition the popover if the orientation changes. + window.onorientationchange = function () { + var newPopoverOptions = new CameraPopoverOptions(0, 0, 100, 100, 0); + popoverHandle.setPosition(newPopoverOptions); + } + } + + function uploadImage() { + var ft = new FileTransfer(), + uploadcomplete = 0, + progress = 0, + options = new FileUploadOptions(); + options.fileKey = "photo"; + options.fileName = 'test.jpg'; + options.mimeType = "image/jpeg"; + ft.onprogress = function (progressEvent) { + console.log('progress: ' + progressEvent.loaded + ' of ' + progressEvent.total); + }; + var server = "http://cordova-filetransfer.jitsu.com"; + + ft.upload(pictureUrl, server + '/upload', win, fail, options); + function win(information_back) { + log('upload complete'); + } + function fail(message) { + log('upload failed: ' + JSON.stringify(message)); + } + } + + function logCallback(apiName, success) { + return function () { + log('Call to ' + apiName + (success ? ' success: ' : ' failed: ') + JSON.stringify([].slice.call(arguments))); + }; + } + + /** + * Select image from library using a NATIVE_URI destination type + * This calls FileEntry.getMetadata, FileEntry.setMetadata, FileEntry.getParent, FileEntry.file, and FileReader.readAsDataURL. + */ + function readFile() { + function onFileReadAsDataURL(evt) { + var img = document.getElementById('camera_image'); + img.style.visibility = "visible"; + img.style.display = "block"; + img.src = evt.target.result; + log("FileReader.readAsDataURL success"); + }; + + function onFileReceived(file) { + log('Got file: ' + JSON.stringify(file)); + fileObj = file; + + var reader = new FileReader(); + reader.onload = function () { + log('FileReader.readAsDataURL() - length = ' + reader.result.length); + }; + reader.onerror = logCallback('FileReader.readAsDataURL', false); + reader.readAsDataURL(file); + }; + // Test out onFileReceived when the file object was set via a native elements. + if (fileObj) { + onFileReceived(fileObj); + } else { + fileEntry.file(onFileReceived, logCallback('FileEntry.file', false)); + } + } + function getFileInfo() { + // Test FileEntry API here. + fileEntry.getMetadata(logCallback('FileEntry.getMetadata', true), logCallback('FileEntry.getMetadata', false)); + fileEntry.setMetadata(logCallback('FileEntry.setMetadata', true), logCallback('FileEntry.setMetadata', false), { "com.apple.MobileBackup": 1 }); + fileEntry.getParent(logCallback('FileEntry.getParent', true), logCallback('FileEntry.getParent', false)); + fileEntry.getParent(logCallback('FileEntry.getParent', true), logCallback('FileEntry.getParent', false)); + }; + + /** + * Copy image from library using a NATIVE_URI destination type + * This calls FileEntry.copyTo and FileEntry.moveTo. + */ + function copyImage() { + var onFileSystemReceived = function (fileSystem) { + var destDirEntry = fileSystem.root; + var origName = fileEntry.name; + + // Test FileEntry API here. + fileEntry.copyTo(destDirEntry, 'copied_file.png', logCallback('FileEntry.copyTo', true), logCallback('FileEntry.copyTo', false)); + fileEntry.moveTo(destDirEntry, 'moved_file.png', logCallback('FileEntry.moveTo', true), logCallback('FileEntry.moveTo', false)); + + //cleanup + //rename moved file back to original name so other tests can reference image + resolveLocalFileSystemURI(destDirEntry.nativeURL+'moved_file.png', function(fileEntry) { + fileEntry.moveTo(destDirEntry, origName, logCallback('FileEntry.moveTo', true), logCallback('FileEntry.moveTo', false)); + console.log('Cleanup: successfully renamed file back to original name'); + }, function () { + console.log('Cleanup: failed to rename file back to original name'); + }); + + //remove copied file + resolveLocalFileSystemURI(destDirEntry.nativeURL+'copied_file.png', function(fileEntry) { + fileEntry.remove(logCallback('FileEntry.remove', true), logCallback('FileEntry.remove', false)); + console.log('Cleanup: successfully removed copied file'); + }, function () { + console.log('Cleanup: failed to remove copied file'); + }); + }; + + window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, onFileSystemReceived, null); + }; + + /** + * Write image to library using a NATIVE_URI destination type + * This calls FileEntry.createWriter, FileWriter.write, and FileWriter.truncate. + */ + function writeImage() { + var onFileWriterReceived = function (fileWriter) { + fileWriter.onwrite = logCallback('FileWriter.write', true); + fileWriter.onerror = logCallback('FileWriter.write', false); + fileWriter.write("some text!"); + }; + + var onFileTruncateWriterReceived = function (fileWriter) { + fileWriter.onwrite = logCallback('FileWriter.truncate', true); + fileWriter.onerror = logCallback('FileWriter.truncate', false); + fileWriter.truncate(10); + }; + + fileEntry.createWriter(onFileWriterReceived, logCallback('FileEntry.createWriter', false)); + fileEntry.createWriter(onFileTruncateWriterReceived, null); + }; + + function displayImageUsingCanvas() { + var canvas = document.getElementById('canvas'); + var img = document.getElementById('camera_image'); + var w = img.width; + var h = img.height; + h = 100 / w * h; + w = 100; + canvas.width = w; + canvas.height = h; + var context = canvas.getContext('2d'); + context.drawImage(img, 0, 0, w, h); + }; + + /** + * Remove image from library using a NATIVE_URI destination type + * This calls FileEntry.remove. + */ + function removeImage() { + fileEntry.remove(logCallback('FileEntry.remove', true), logCallback('FileEntry.remove', false)); + }; + + function testInputTag(inputEl) { + clearStatus(); + // iOS 6 likes to dead-lock in the onchange context if you + // do any alerts or try to remote-debug. + window.setTimeout(function () { + testNativeFile2(inputEl); + }, 0); + }; + + function testNativeFile2(inputEl) { + if (!inputEl.value) { + alert('No file selected.'); + return; + } + fileObj = inputEl.files[0]; + if (!fileObj) { + alert('Got value but no file.'); + return; + } + var URLApi = window.URL || window.webkitURL; + if (URLApi) { + var blobURL = URLApi.createObjectURL(fileObj); + if (blobURL) { + setPicture(blobURL, function () { + URLApi.revokeObjectURL(blobURL); + }); + } else { + log('URL.createObjectURL returned null'); + } + } else { + log('URL.createObjectURL() not supported.'); + } + } + + function extractOptions() { + var els = document.querySelectorAll('#image-options select'); + var ret = {}; + for (var i = 0, el; el = els[i]; ++i) { + var value = el.value; + if (value === '') continue; + if (el.isBool) { + ret[el.getAttribute("name")] = !!+value; + } else { + ret[el.getAttribute("name")] = +value; + } + } + return ret; + } + + function createOptionsEl(name, values, selectionDefault) { + var openDiv = '
' + name + ': '; + var select = '
'; + + return openDiv + select + defaultOption + options + closeDiv; + } + + /******************************************************************************/ + + var info_div = '

Camera

' + + '
' + + 'Status:
' + + 'img: ' + + 'canvas: ' + + '
', + options_div = '

Cordova Camera API Options

' + + '
' + + createOptionsEl('sourceType', Camera.PictureSourceType, camPictureSourceTypeDefault) + + createOptionsEl('destinationType', Camera.DestinationType, camDestinationTypeDefault) + + createOptionsEl('encodingType', Camera.EncodingType, camEncodingTypeDefault) + + createOptionsEl('mediaType', Camera.MediaType, camMediaTypeDefault) + + createOptionsEl('quality', { '0': 0, '50': 50, '80': 80, '100': 100 }, camQualityDefault) + + createOptionsEl('targetWidth', { '50': 50, '200': 200, '800': 800, '2048': 2048 }) + + createOptionsEl('targetHeight', { '50': 50, '200': 200, '800': 800, '2048': 2048 }) + + createOptionsEl('allowEdit', true, camAllowEditDefault) + + createOptionsEl('correctOrientation', true, camCorrectOrientationDefault) + + createOptionsEl('saveToPhotoAlbum', true, camSaveToPhotoAlbumDefault) + + createOptionsEl('cameraDirection', Camera.Direction) + + '
', + getpicture_div = '
', + test_procedure = '

Recommended Test Procedure

' + + 'Options not specified should be the default value' + + '
Status box should update with image and info whenever an image is taken or selected from library' + + '

' + + '
  1. All default options. Should be able to edit once picture is taken and will be saved to library.
  2. ' + + '

  3. sourceType=PHOTOLIBRARY
    Should be able to see picture that was just taken in previous test and edit when selected
  4. ' + + '

  5. sourceType=Camera
    allowEdit=false
    saveToPhotoAlbum=false
    Should not be able to edit when taken and will not save to library
  6. ' + + '

  7. encodingType=PNG
    allowEdit=true
    saveToPhotoAlbum=true
    cameraDirection=FRONT
    Should bring up front camera. Verify in status box info URL that image is encoded as PNG.
  8. ' + + '

  9. sourceType=SAVEDPHOTOALBUM
    mediaType=VIDEO
    Should only be able to select a video
  10. ' + + '

  11. sourceType=SAVEDPHOTOALBUM
    mediaType=PICTURE
    allowEdit=false
    Should only be able to select a picture and not edit
  12. ' + + '

  13. sourceType=PHOTOLIBRARY
    mediaType=ALLMEDIA
    allowEdit=true
    Should be able to select pics and videos and edit picture if selected
  14. ' + + '

  15. sourceType=CAMERA
    targetWidth & targetHeight=50
    allowEdit=false
    Do Get File Metadata test below and take note of size
    Repeat test but with width and height=800. Size should be significantly larger.
  16. ' + + '

  17. quality=0
    targetWidth & targetHeight=default
    allowEdit=false
    Do Get File Metadata test below and take note of size
    Repeat test but with quality=80. Size should be significantly larger.
  18. ' + + '
', + inputs_div = '

Native File Inputs

' + + 'For the following tests, status box should update with file selected' + + '

input type=file
' + + '
capture=camera
' + + '
capture=camcorder
' + + '
capture=microphone
', + actions_div = '

Actions

' + + 'For the following tests, ensure that an image is set in status box' + + '

' + + 'Expected result: Get metadata about file selected.
Status box will show, along with the metadata, "Call to FileEntry.getMetadata success, Call to FileEntry.setMetadata success, Call to FileEntry.getParent success"' + + '

' + + 'Expected result: Read contents of file.
Status box will show "Got file: {some metadata}, FileReader.readAsDataURL() - length = someNumber"' + + '

' + + 'Expected result: Copy image to new location and move file to different location.
Status box will show "Call to FileEntry.copyTo success:{some metadata}, Call to FileEntry.moveTo success:{some metadata}"' + + '

' + + 'Expected result: Write image to library.
Status box will show "Call to FileWriter.write success:{some metadata}, Call to FileWriter.truncate success:{some metadata}"' + + '

' + + 'Expected result: Upload image to server.
Status box may print out progress. Once finished will show "upload complete"' + + '

' + + 'Expected result: Display image using canvas.
Image will be displayed in status box under "canvas:"' + + '

' + + 'Expected result: Remove image from library.
Status box will show "FileEntry.remove success:["OK"]'; + + // We need to wrap this code due to Windows security restrictions + // see http://msdn.microsoft.com/en-us/library/windows/apps/hh465380.aspx#differences for details + if (window.MSApp && window.MSApp.execUnsafeLocalFunction) { + MSApp.execUnsafeLocalFunction(function() { + contentEl.innerHTML = info_div + options_div + getpicture_div + test_procedure + inputs_div + actions_div; + }); + } else { + contentEl.innerHTML = info_div + options_div + getpicture_div + test_procedure + inputs_div + actions_div; + } + + var elements = document.getElementsByClassName("testInputTag"); + var listener = function (e) { + testInputTag(e.target); + } + for (var i = 0; i < elements.length; ++i) { + var item = elements[i]; + item.addEventListener("change", listener, false); + } + + createActionButton('Get picture', function () { + getPicture(); + }, 'getpicture'); + + createActionButton('Clear Status', function () { + clearStatus(); + }, 'getpicture'); + + createActionButton('Get File Metadata', function () { + getFileInfo(); + }, 'metadata'); + + createActionButton('Read with FileReader', function () { + readFile(); + }, 'reader'); + + createActionButton('Copy Image', function () { + copyImage(); + }, 'copy'); + + createActionButton('Write Image', function () { + writeImage(); + }, 'write'); + + createActionButton('Upload Image', function () { + uploadImage(); + }, 'upload'); + + createActionButton('Draw Using Canvas', function () { + displayImageUsingCanvas(); + }, 'draw_canvas'); + + createActionButton('Remove Image', function () { + removeImage(); + }, 'remove'); +}; diff --git a/test/unittest/tests/capture.tests.js b/test/unittest/tests/capture.tests.js new file mode 100644 index 0000000..28c3dd2 --- /dev/null +++ b/test/unittest/tests/capture.tests.js @@ -0,0 +1,263 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + describe('Capture (navigator.device.capture)', function () { + it("capture.spec.1 should exist", function () { + expect(navigator.device).toBeDefined(); + expect(navigator.device.capture).toBeDefined(); + }); + + it("capture.spec.2 should have the correct properties ", function () { + expect(navigator.device.capture.supportedAudioModes).toBeDefined(); + expect(navigator.device.capture.supportedImageModes).toBeDefined(); + expect(navigator.device.capture.supportedVideoModes).toBeDefined(); + }); + + it("capture.spec.3 should contain a captureAudio function", function () { + expect(navigator.device.capture.captureAudio).toBeDefined(); + expect(typeof navigator.device.capture.captureAudio == 'function').toBe(true); + }); + + it("capture.spec.4 should contain a captureImage function", function () { + expect(navigator.device.capture.captureImage).toBeDefined(); + expect(typeof navigator.device.capture.captureImage == 'function').toBe(true); + }); + + it("capture.spec.5 should contain a captureVideo function", function () { + expect(navigator.device.capture.captureVideo).toBeDefined(); + expect(typeof navigator.device.capture.captureVideo == 'function').toBe(true); + }); + + describe('CaptureAudioOptions', function () { + it("capture.spec.6 CaptureAudioOptions constructor should exist", function () { + var options = new CaptureAudioOptions(); + expect(options).toBeDefined(); + expect(options.limit).toBeDefined(); + expect(options.duration).toBeDefined(); + }); + }); + + describe('CaptureImageOptions', function () { + it("capture.spec.7 CaptureImageOptions constructor should exist", function () { + var options = new CaptureImageOptions(); + expect(options).toBeDefined(); + expect(options.limit).toBeDefined(); + }); + }); + + describe('CaptureVideoOptions', function () { + it("capture.spec.8 CaptureVideoOptions constructor should exist", function () { + var options = new CaptureVideoOptions(); + expect(options).toBeDefined(); + expect(options.limit).toBeDefined(); + expect(options.duration).toBeDefined(); + }); + }); + + describe('CaptureError interface', function () { + it("capture.spec.9 CaptureError constants should be defined", function () { + expect(CaptureError.CAPTURE_INTERNAL_ERR).toBe(0); + expect(CaptureError.CAPTURE_APPLICATION_BUSY).toBe(1); + expect(CaptureError.CAPTURE_INVALID_ARGUMENT).toBe(2); + expect(CaptureError.CAPTURE_NO_MEDIA_FILES).toBe(3); + }); + + it("capture.spec.10 CaptureError properties should exist", function () { + var error = new CaptureError(); + expect(error).toBeDefined(); + expect(error.code).toBeDefined(); + }); + }); + + describe('MediaFileData', function () { + it("capture.spec.11 MediaFileData constructor should exist", function () { + var fileData = new MediaFileData(); + expect(fileData).toBeDefined(); + expect(fileData.bitrate).toBeDefined(); + expect(fileData.codecs).toBeDefined(); + expect(fileData.duration).toBeDefined(); + expect(fileData.height).toBeDefined(); + expect(fileData.width).toBeDefined(); + }); + }); + + describe('MediaFile', function () { + it("capture.spec.12 MediaFile constructor should exist", function () { + var fileData = new MediaFile(); + expect(fileData).toBeDefined(); + expect(fileData.name).toBeDefined(); + expect(fileData.type).toBeDefined(); + expect(fileData.lastModifiedDate).toBeDefined(); + expect(fileData.size).toBeDefined(); + }); + }); + }); +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + var platformId = cordova.require('cordova/platform').id; + var pageStartTime = +new Date(); + + function log(value) { + document.getElementById('camera_status').textContent += (new Date() - pageStartTime) / 1000 + ': ' + value + '\n'; + console.log(value); + } + + function captureAudioWin(mediaFiles) { + var path = mediaFiles[0].fullPath; + log('Audio captured: ' + path); + var m = new Media(path); + m.play(); + } + + function captureAudioFail(e) { + log('Error getting audio: ' + e.code); + } + + function getAudio() { + clearStatus(); + var options = { limit: 1, duration: 10 }; + navigator.device.capture.captureAudio(captureAudioWin, captureAudioFail, options); + } + + function captureImageWin(mediaFiles) { + var path = mediaFiles[0].fullPath; + // Necessary since windows doesn't allow file URLs for elements + if (cordova.platformId == 'windows' || cordova.platformId == 'windows8' || cordova.platformId === 'browser') { + path = mediaFiles[0].localURL; + } + log('Image captured: ' + path); + document.getElementById('camera_image').src = path; + } + + function captureImageFail(e) { + log('Error getting image: ' + e.code); + } + + function getImage() { + clearStatus(); + var options = { limit: 1 }; + navigator.device.capture.captureImage(captureImageWin, captureImageFail, options); + } + + function captureVideoWin(mediaFiles) { + var path = mediaFiles[0].fullPath; + log('Video captured: ' + path); + + // need to inject the video element into the html + // doesn't seem to work if you have a pre-existing video element and + // add in a source tag + var vid = document.createElement('video'); + vid.id = "theVideo"; + vid.width = "320"; + vid.height = "240"; + vid.controls = "true"; + var source_vid = document.createElement('source'); + source_vid.id = "theSource"; + source_vid.src = path; + vid.appendChild(source_vid); + document.getElementById('video_container').appendChild(vid); + } + + function captureVideoFail(e) { + log('Error getting video: ' + e.code); + } + + function getVideo() { + clearStatus(); + var options = { limit: 1, duration: 10 }; + navigator.device.capture.captureVideo(captureVideoWin, captureVideoFail, options); + } + + function resolveMediaFileURL(mediaFile, callback) { + resolveLocalFileSystemURL(mediaFile.localURL, function (entry) { + log("Resolved by URL: " + mediaFile.localURL); + if (callback) callback(); + }, function (err) { + log("Failed to resolve by URL: " + mediaFile.localURL); + log("Error: " + JSON.stringify(err)); + if (callback) callback(); + }); + } + + function resolveMediaFile(mediaFile, callback) { + resolveLocalFileSystemURL(mediaFile.fullPath, function (entry) { + log("Resolved by path: " + mediaFile.fullPath); + if (callback) callback(); + }, function (err) { + log("Failed to resolve by path: " + mediaFile.fullPath); + log("Error: " + JSON.stringify(err)); + if (callback) callback(); + }); + } + + function resolveVideo() { + clearStatus(); + var options = { limit: 1, duration: 5 }; + navigator.device.capture.captureVideo(function (mediaFiles) { + captureVideoWin(mediaFiles); + resolveMediaFile(mediaFiles[0], function () { + resolveMediaFileURL(mediaFiles[0]); + }); + }, captureVideoFail, options); + } + + function clearStatus() { + document.getElementById('camera_status').innerHTML = ''; + document.getElementById('camera_image').src = 'about:blank'; + } + + /******************************************************************************/ + + contentEl.innerHTML = '
' + + 'Status:
' + + 'img: ' + + 'video:
' + + '
' + + 'Expected result: Audio recorder will come up. Press record button to record for 10 seconds. Press Done. Status box will update with audio file and automatically play recording.' + + '

' + + 'Expected result: Status box will update with image just taken.' + + '

' + + 'Expected result: Record 10 second video. Status box will update with video file that you can play.' + + '

' + + 'Expected result: Record 5 second video. Status box will show that URL was resolved and video will get added at the bottom of the status box for playback.'; + + createActionButton('Capture 10 sec of audio and play', function () { + getAudio(); + }, 'audio'); + + createActionButton('Capture 1 image', function () { + getImage(); + }, 'image'); + + createActionButton('Capture 10 sec of video', function () { + getVideo(); + }, 'video'); + + createActionButton('Capture 5 sec of video and resolve', function () { + resolveVideo(); + }, 'video_and_resolve'); +}; diff --git a/test/unittest/tests/compass.tests.js b/test/unittest/tests/compass.tests.js new file mode 100644 index 0000000..7353178 --- /dev/null +++ b/test/unittest/tests/compass.tests.js @@ -0,0 +1,252 @@ +/* +* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +* +*/ + +exports.defineAutoTests = function () { + var fail = function (done, message) { + message = (typeof message !== 'string') ? "Forced failure: wrong callback called" : message; + expect(true).toFailWithMessage(message); + done(); + }, + unexpectedSuccess = "Forced failure: success callback should not have been called", + unexpectedFailure = "Forced failure: error callback should not have been called"; + + describe('Compass (navigator.compass)', function () { + beforeEach(function () { + jasmine.Expectation.addMatchers({ + toFailWithMessage: function () { + return { + compare: function (actual, customMessage) { + var pass = false; + if (customMessage === undefined) { + customMessage = "Forced failure: wrong callback called"; + } + return { + pass: pass, + message: customMessage + }; + } + }; + } + }); + }); + + var isCompassAvailable = true; + + beforeEach(function (done) { + if (!isCompassAvailable) { + // if we're already ensured that compass is not available, no need to check it again + done(); + return; + } + // Try to access compass device, and if it is not available + // set hardwarefailure flag to mark some tests pending + navigator.compass.getCurrentHeading(done, function (error) { + if (error.code == CompassError.COMPASS_NOT_SUPPORTED) { + isCompassAvailable = false; + } + done(); + }); + }); + + it("compass.spec.1 should exist", function () { + expect(navigator.compass).toBeDefined(); + }); + + it("compass.spec.2 should contain a getCurrentHeading function", function () { + expect(navigator.compass.getCurrentHeading).toBeDefined(); + expect(typeof navigator.compass.getCurrentHeading == 'function').toBe(true); + }); + + it("compass.spec.3 getCurrentHeading success callback should be called with a Heading object", function (done) { + if (!isCompassAvailable) { + pending(); + } + navigator.compass.getCurrentHeading(function (a) { + expect(a instanceof CompassHeading).toBe(true); + expect(a.magneticHeading).toBeDefined(); + expect(typeof a.magneticHeading == 'number').toBe(true); + expect(a.trueHeading).not.toBe(undefined); + expect(typeof a.trueHeading == 'number' || a.trueHeading === null).toBe(true); + expect(a.headingAccuracy).not.toBe(undefined); + expect(typeof a.headingAccuracy == 'number' || a.headingAccuracy === null).toBe(true); + expect(typeof a.timestamp == 'number').toBe(true); + done(); + }, fail.bind(null, done, unexpectedFailure)); + }); + + it("compass.spec.4 should contain a watchHeading function", function () { + expect(navigator.compass.watchHeading).toBeDefined(); + expect(typeof navigator.compass.watchHeading == 'function').toBe(true); + }); + + it("compass.spec.5 should contain a clearWatch function", function () { + expect(navigator.compass.clearWatch).toBeDefined(); + expect(typeof navigator.compass.clearWatch == 'function').toBe(true); + }); + + describe('Compass Constants (window.CompassError)', function () { + it("compass.spec.1 should exist", function () { + expect(window.CompassError).toBeDefined(); + expect(window.CompassError.COMPASS_INTERNAL_ERR).toBe(0); + expect(window.CompassError.COMPASS_NOT_SUPPORTED).toBe(20); + }); + }); + + describe('Compass Heading model (CompassHeading)', function () { + it("compass.spec.1 should exist", function () { + expect(CompassHeading).toBeDefined(); + }); + + it("compass.spec.8 should be able to create a new CompassHeading instance with no parameters", function () { + var h = new CompassHeading(); + expect(h).toBeDefined(); + expect(h.magneticHeading).toBeUndefined(); + expect(h.trueHeading).toBeUndefined(); + expect(h.headingAccuracy).toBeUndefined(); + expect(typeof h.timestamp == 'number').toBe(true); + }); + + it("compass.spec.9 should be able to create a new CompassHeading instance with parameters", function () { + var h = new CompassHeading(1, 2, 3, 4); + expect(h.magneticHeading).toBe(1); + expect(h.trueHeading).toBe(2); + expect(h.headingAccuracy).toBe(3); + expect(h.timestamp.valueOf()).toBe(4); + expect(typeof h.timestamp == 'number').toBe(true); + }); + }); + }); +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + function roundNumber(num) { + var dec = 3; + var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec); + return result; + } + + var watchCompassId = null; + + /** + * Start watching compass + */ + var watchCompass = function () { + console.log("watchCompass()"); + + // Success callback + var success = function (a) { + document.getElementById('compassHeading').innerHTML = roundNumber(a.magneticHeading); + }; + + // Fail callback + var fail = function (e) { + console.log("watchCompass fail callback with error code " + e); + stopCompass(); + setCompassStatus(e); + }; + + // Stop compass if running + stopCompass(); + + // Update heading every 1 sec + var opt = {}; + opt.frequency = 1000; + watchCompassId = navigator.compass.watchHeading(success, fail, opt); + + setCompassStatus("Running"); + }; + + /** + * Stop watching the acceleration + */ + var stopCompass = function () { + setCompassStatus("Stopped"); + if (watchCompassId) { + navigator.compass.clearWatch(watchCompassId); + watchCompassId = null; + } + }; + + /** + * Get current compass + */ + var getCompass = function () { + console.log("getCompass()"); + + // Stop compass if running + stopCompass(); + + // Success callback + var success = function (a) { + document.getElementById('compassHeading').innerHTML = roundNumber(a.magneticHeading); + }; + + // Fail callback + var fail = function (e) { + console.log("getCompass fail callback with error code " + e.toString); + setCompassStatus(e); + }; + + // Make call + var opt = {}; + navigator.compass.getCurrentHeading(success, fail, opt); + }; + + /** + * Set compass status + */ + var setCompassStatus = function (status) { + document.getElementById('compass_status').innerHTML = status; + }; + + /******************************************************************************/ + + var orientation_tests = '

iOS devices may bring up a calibration screen when initiating these tests

' + + '
' + + 'Expected result: Will update the status box with current heading. Status will read "Stopped"' + + '

' + + 'Expected result: When pressed, will start a watch on the compass and update the heading value when heading changes. Status will read "Running"' + + '

' + + 'Expected result: Will clear the compass watch, so heading value will no longer be updated. Status will read "Stopped"'; + + contentEl.innerHTML = '
Status: ' + + 'Stopped' + + '' + + '
Heading: ' + + '
' + + orientation_tests; + + createActionButton('Get Compass', function () { + getCompass(); + }, 'getCompass'); + + createActionButton('Start Watching Compass', function () { + watchCompass(); + }, 'watchCompass'); + + createActionButton('Stop Watching Compass', function () { + stopCompass(); + }, 'stopCompass'); +}; diff --git a/test/unittest/tests/console.tests.js b/test/unittest/tests/console.tests.js new file mode 100644 index 0000000..6479e41 --- /dev/null +++ b/test/unittest/tests/console.tests.js @@ -0,0 +1,43 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + describe("Console", function () { + it("console.spec.1 should exist", function() { + expect(window.console).toBeDefined(); + }); + + it("console.spec.2 has required methods log|warn|error", function(){ + expect(window.console.log).toBeDefined(); + expect(typeof window.console.log).toBe('function'); + + expect(window.console.warn).toBeDefined(); + expect(typeof window.console.warn).toBe('function'); + + expect(window.console.error).toBeDefined(); + expect(typeof window.console.error).toBe('function'); + + }); + + }); +}; + +exports.defineManualTests = function (contentEl, createActionButton) {}; diff --git a/test/unittest/tests/contacts.tests.js b/test/unittest/tests/contacts.tests.js new file mode 100644 index 0000000..a3bb98d --- /dev/null +++ b/test/unittest/tests/contacts.tests.js @@ -0,0 +1,594 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + // global to store a contact so it doesn't have to be created or retrieved multiple times + // all of the setup/teardown test methods can reference the following variables to make sure to do the right cleanup + var gContactObj = null, + gContactId = null, + isWindowsPhone8 = cordova.platformId == 'windowsphone', + isWindows = (cordova.platformId === "windows") || (cordova.platformId === "windows8"), + isWindowsPhone81 = isWindows && WinJS.Utilities.isPhone; + var fail = function(done) { + expect(true).toBe(false); + done(); + }; + + var MEDIUM_TIMEOUT = 30000; + + var removeContact = function(){ + if (gContactObj) { + gContactObj.remove(function(){},function(){ + console.log("[CONTACTS ERROR]: removeContact cleanup method failed to clean up test artifacts."); + }); + gContactObj = null; + } + }; + + describe("Contacts (navigator.contacts)", function () { + it("contacts.spec.1 should exist", function() { + expect(navigator.contacts).toBeDefined(); + }); + it("contacts.spec.2 should contain a find function", function() { + expect(navigator.contacts.find).toBeDefined(); + expect(typeof navigator.contacts.find).toBe('function'); + }); + describe("find method", function() { + it("contacts.spec.3 success callback should be called with an array", function(done) { + // Find method is not supported on Windows platform + if (isWindows && !isWindowsPhone81) { + pending(); + return; + } + var win = function(result) { + expect(result).toBeDefined(); + expect(result instanceof Array).toBe(true); + done(); + }, + obj = new ContactFindOptions(); + + obj.filter=""; + obj.multiple=true; + navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], win, fail.bind(null, done), obj); + }); + it("success callback should be called with an array, even if partial ContactFindOptions specified", function (done) { + // Find method is not supported on Windows platform + if (isWindows && !isWindowsPhone81) { + pending(); + return; + } + var win = function (result) { + expect(result).toBeDefined(); + expect(result instanceof Array).toBe(true); + done(); + }; + + navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], win, fail.bind(null, done), + { multiple: true }); + }); + it("contacts.spec.4 should throw an exception if success callback is empty", function() { + var obj = new ContactFindOptions(); + obj.filter=""; + obj.multiple=true; + + expect(function () { + navigator.contacts.find(["displayName", "name", "emails", "phoneNumbers"], null, fail.bind(null, done), obj); + }).toThrow(); + }); + it("contacts.spec.5 error callback should be called when no fields are specified", function(done) { + var win = fail, // we don't want this to be called + error = function(result) { + expect(result).toBeDefined(); + expect(result.code).toBe(ContactError.INVALID_ARGUMENT_ERROR); + done(); + }, + obj = new ContactFindOptions(); + + obj.filter=""; + obj.multiple=true; + navigator.contacts.find([], win, error, obj); + }); + describe("with newly-created contact", function () { + + afterEach(removeContact); + + it("contacts.spec.6 should be able to find a contact by name", function (done) { + // Find method is not supported on Windows Store apps. + // also this test will be skipped for Windows Phone 8.1 because function "save" not supported on WP8.1 + if (isWindows || isWindowsPhone8) { + pending(); + } + + var foundName = function(result) { + var bFound = false; + try { + for (var i=0; i < result.length; i++) { + if (result[i].name.familyName == "Delete") { + bFound = true; + break; + } + } + } catch(e) { + return false; + } + return bFound; + }, + test = function(savedContact) { + // update so contact will get removed + gContactObj = savedContact; + // ---- + // Find asserts + // --- + var findWin = function(object) { + expect(object instanceof Array).toBe(true); + expect(object.length >= 1).toBe(true); + expect(foundName(object)).toBe(true); + done(); + }, + findFail = fail, + obj = new ContactFindOptions(); + + obj.filter="Delete"; + obj.multiple=true; + + navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], findWin, findFail.bind(null, done), obj); + }; + + gContactObj = new Contact(); + gContactObj.name = new ContactName(); + gContactObj.name.familyName = "Delete"; + gContactObj.save(test, fail.bind(null, done)); + }); + }); + + }); + describe('create method', function() { + it("contacts.spec.1 should exist", function() { + expect(navigator.contacts.create).toBeDefined(); + expect(typeof navigator.contacts.create).toBe('function'); + }); + it("contacts.spec.8 should return a Contact object", function() { + var bDay = new Date(1976, 7,4); + var obj = navigator.contacts.create({"displayName": "test name", "gender": "male", "note": "my note", "name": {"formatted": "Mr. Test Name"}, "emails": [{"value": "here@there.com"}, {"value": "there@here.com"}], "birthday": bDay}); + + expect(obj).toBeDefined(); + expect(obj.displayName).toBe('test name'); + expect(obj.note).toBe('my note'); + expect(obj.name.formatted).toBe('Mr. Test Name'); + expect(obj.emails.length).toBe(2); + expect(obj.emails[0].value).toBe('here@there.com'); + expect(obj.emails[1].value).toBe('there@here.com'); + expect(obj.nickname).toBe(null); + expect(obj.birthday).toBe(bDay); + }); + }); + + describe("Contact object", function () { + it("contacts.spec.9 should be able to create instance", function() { + var contact = new Contact("a", "b", new ContactName("a", "b", "c", "d", "e", "f"), "c", [], [], [], [], [], "f", "i", + [], [], []); + expect(contact).toBeDefined(); + expect(contact.id).toBe("a"); + expect(contact.displayName).toBe("b"); + expect(contact.name.formatted).toBe("a"); + expect(contact.nickname).toBe("c"); + expect(contact.phoneNumbers).toBeDefined(); + expect(contact.emails).toBeDefined(); + expect(contact.addresses).toBeDefined(); + expect(contact.ims).toBeDefined(); + expect(contact.organizations).toBeDefined(); + expect(contact.birthday).toBe("f"); + expect(contact.note).toBe("i"); + expect(contact.photos).toBeDefined(); + expect(contact.categories).toBeDefined(); + expect(contact.urls).toBeDefined(); + }); + it("contacts.spec.10 should be able to define a ContactName object", function() { + var contactName = new ContactName("Dr. First Last Jr.", "Last", "First", "Middle", "Dr.", "Jr."); + expect(contactName).toBeDefined(); + expect(contactName.formatted).toBe("Dr. First Last Jr."); + expect(contactName.familyName).toBe("Last"); + expect(contactName.givenName).toBe("First"); + expect(contactName.middleName).toBe("Middle"); + expect(contactName.honorificPrefix).toBe("Dr."); + expect(contactName.honorificSuffix).toBe("Jr."); + }); + it("contacts.spec.11 should be able to define a ContactField object", function() { + var contactField = new ContactField("home", "8005551212", true); + expect(contactField).toBeDefined(); + expect(contactField.type).toBe("home"); + expect(contactField.value).toBe("8005551212"); + expect(contactField.pref).toBe(true); + }); + it("contacts.spec.12 ContactField object should coerce type and value properties to strings", function() { + var contactField = new ContactField(12345678, 12345678, true); + expect(contactField.type).toBe("12345678"); + expect(contactField.value).toBe("12345678"); + }); + it("contacts.spec.13 should be able to define a ContactAddress object", function() { + var contactAddress = new ContactAddress(true, "home", "a","b","c","d","e","f"); + expect(contactAddress).toBeDefined(); + expect(contactAddress.pref).toBe(true); + expect(contactAddress.type).toBe("home"); + expect(contactAddress.formatted).toBe("a"); + expect(contactAddress.streetAddress).toBe("b"); + expect(contactAddress.locality).toBe("c"); + expect(contactAddress.region).toBe("d"); + expect(contactAddress.postalCode).toBe("e"); + expect(contactAddress.country).toBe("f"); + }); + it("contacts.spec.14 should be able to define a ContactOrganization object", function() { + var contactOrg = new ContactOrganization(true, "home", "a","b","c","d","e","f","g"); + expect(contactOrg).toBeDefined(); + expect(contactOrg.pref).toBe(true); + expect(contactOrg.type).toBe("home"); + expect(contactOrg.name).toBe("a"); + expect(contactOrg.department).toBe("b"); + expect(contactOrg.title).toBe("c"); + }); + it("contacts.spec.15 should be able to define a ContactFindOptions object", function() { + var contactFindOptions = new ContactFindOptions("a", true, "b"); + expect(contactFindOptions).toBeDefined(); + expect(contactFindOptions.filter).toBe("a"); + expect(contactFindOptions.multiple).toBe(true); + }); + it("contacts.spec.16 should contain a clone function", function() { + var contact = new Contact(); + expect(contact.clone).toBeDefined(); + expect(typeof contact.clone).toBe('function'); + }); + it("contacts.spec.17 clone function should make deep copy of Contact Object", function() { + var contact = new Contact(); + contact.id=1; + contact.displayName="Test Name"; + contact.nickname="Testy"; + contact.gender="male"; + contact.note="note to be cloned"; + contact.name = new ContactName("Mr. Test Name"); + + var clonedContact = contact.clone(); + + expect(contact.id).toBe(1); + expect(clonedContact.id).toBe(null); + expect(clonedContact.displayName).toBe(contact.displayName); + expect(clonedContact.nickname).toBe(contact.nickname); + expect(clonedContact.gender).toBe(contact.gender); + expect(clonedContact.note).toBe(contact.note); + expect(clonedContact.name.formatted).toBe(contact.name.formatted); + expect(clonedContact.connected).toBe(contact.connected); + }); + it("contacts.spec.18 should contain a save function", function() { + var contact = new Contact(); + expect(contact.save).toBeDefined(); + expect(typeof contact.save).toBe('function'); + }); + it("contacts.spec.19 should contain a remove function", function() { + var contact = new Contact(); + expect(contact.remove).toBeDefined(); + expect(typeof contact.remove).toBe('function'); + }); + }); + describe('save method', function () { + it("contacts.spec.20 should be able to save a contact", function (done) { + // Save method is not supported on Windows platform + if (isWindows || isWindowsPhone8) { + pending(); + } + + var bDay = new Date(1976, 6,4); + gContactObj = navigator.contacts.create({"gender": "male", "note": "my note", "name": {"familyName": "Delete", "givenName": "Test"}, "emails": [{"value": "here@there.com"}, {"value": "there@here.com"}], "birthday": bDay}); + + var saveSuccess = function(obj) { + expect(obj).toBeDefined(); + expect(obj.note).toBe('my note'); + expect(obj.name.familyName).toBe('Delete'); + expect(obj.name.givenName).toBe('Test'); + expect(obj.emails.length).toBe(2); + expect(obj.emails[0].value).toBe('here@there.com'); + expect(obj.emails[1].value).toBe('there@here.com'); + expect(obj.birthday.toDateString()).toBe(bDay.toDateString()); + expect(obj.addresses).toBe(null); + // must store returned object in order to have id for update test below + gContactObj = obj; + done(); + }, + saveFail = fail; + + gContactObj.save(saveSuccess, saveFail); + }); + // HACK: there is a reliance between the previous and next test. This is bad form. + it("contacts.spec.21 update a contact", function (done) { + // Save method is not supported on Windows platform + if (isWindows || isWindowsPhone8) { + pending(); + } + + expect(gContactObj).toBeDefined(); + + var bDay = new Date(1975, 5,4); + var noteText = "an UPDATED note"; + + var win = function(obj) { + expect(obj).toBeDefined(); + expect(obj.id).toBe(gContactObj.id); + expect(obj.note).toBe(noteText); + expect(obj.birthday.toDateString()).toBe(bDay.toDateString()); + expect(obj.emails.length).toBe(1); + expect(obj.emails[0].value).toBe('here@there.com'); + removeContact(); // Clean up contact object + done(); + }, fail = function() { removeContact(); fail(done); }; + + // remove an email + gContactObj.emails[1].value = ""; + // change birthday + gContactObj.birthday = bDay; + // update note + gContactObj.note = noteText; + gContactObj.save(win, fail); + }, MEDIUM_TIMEOUT); + }); + describe('Contact.remove method', function (done) { + afterEach(removeContact); + + it("contacts.spec.22 calling remove on a contact has an id of null should return ContactError.UNKNOWN_ERROR", function(done) { + var win = function() {}; + var fail = function(result) { + expect(result.code).toBe(ContactError.UNKNOWN_ERROR); + done(); + }; + + var rmContact = new Contact(); + rmContact.remove(win, fail); + }); + it("contacts.spec.23 calling remove on a contact that does not exist should return ContactError.UNKNOWN_ERROR", function(done) { + // remove method is not supported on Windows platform + if (isWindows || isWindowsPhone8) { + pending(); + } + var rmWin = fail; + var rmFail = function(result) { + expect(result.code).toBe(ContactError.UNKNOWN_ERROR); + done(); + }; + + var rmContact = new Contact(); + // this is a bit risky as some devices may have contact ids that large + var contact = new Contact("this string is supposed to be a unique identifier that will never show up on a device"); + contact.remove(rmWin, rmFail); + }, MEDIUM_TIMEOUT); + }); + describe("Round trip Contact tests (creating + save + delete + find).", function () { + afterEach(removeContact); + + it("contacts.spec.24 Creating, saving, finding a contact should work, removing it should work, after which we should not be able to find it, and we should not be able to delete it again.", function (done) { + // Save method is not supported on Windows platform + if (isWindows || isWindowsPhone8) { + pending(); + } + // First, count already existing 'DeleteMe' contacts, if any + var initialCount = 0; + var initialSearchOptions = new ContactFindOptions(); + initialSearchOptions.filter = "DeleteMe"; + initialSearchOptions.multiple = true; + navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], function (initialContacts) { + initialCount = initialContacts.length; + gContactObj = new Contact(); + gContactObj.name = new ContactName(); + gContactObj.name.familyName = "DeleteMe"; + gContactObj.save(function(c_obj) { + var findWin = function(cs) { + expect(cs.length).toBe(initialCount + 1); + // update to have proper saved id + gContactObj = cs[0]; + gContactObj.remove(function() { + var findWinAgain = function(seas) { + expect(seas.length).toBe(initialCount); + gContactObj.remove(function() { + throw("success callback called after non-existent Contact object called remove(). Test failed."); + }, function(e) { + expect(e.code).toBe(ContactError.UNKNOWN_ERROR); + done(); + }); + }; + var findFailAgain = function(e) { + throw("find error callback invoked after delete, test failed."); + }; + var obj = new ContactFindOptions(); + obj.filter="DeleteMe"; + obj.multiple=true; + navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], findWinAgain, findFailAgain, obj); + }, function(e) { + throw("Newly created contact's remove function invoked error callback. Test failed."); + }); + }; + var findFail = fail; + var obj = new ContactFindOptions(); + obj.filter="DeleteMe"; + obj.multiple=true; + navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails"], findWin, findFail, obj); + }, fail); + }, function () {}, initialSearchOptions); + }, MEDIUM_TIMEOUT); + }); + describe('ContactError interface', function () { + it("contacts.spec.25 ContactError constants should be defined", function() { + expect(ContactError.UNKNOWN_ERROR).toBe(0); + expect(ContactError.INVALID_ARGUMENT_ERROR).toBe(1); + expect(ContactError.TIMEOUT_ERROR).toBe(2); + expect(ContactError.PENDING_OPERATION_ERROR).toBe(3); + expect(ContactError.IO_ERROR).toBe(4); + expect(ContactError.NOT_SUPPORTED_ERROR).toBe(5); + expect(ContactError.PERMISSION_DENIED_ERROR).toBe(20); + }); + }); + }); +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + function getContacts() { + var results = document.getElementById('contact_results'); + obj = new ContactFindOptions(); + // show all contacts, so don't filter + obj.multiple = true; + navigator.contacts.find( + ["displayName", "name", "phoneNumbers", "emails", "urls", "note"], + function (contacts) { + var s = ""; + if (contacts.length == 0) { + s = "No contacts found"; + } + else { + s = "Number of contacts: " + contacts.length + "
"; + for (var i = 0; i < contacts.length; i++) { + var contact = contacts[i]; + s = s + ""; + } + s = s + "
NamePhoneEmail
" + contact.name.formatted + ""; + if (contact.phoneNumbers && contact.phoneNumbers.length > 0) { + s = s + contact.phoneNumbers[0].value; + } + s = s + "" + if (contact.emails && contact.emails.length > 0) { + s = s + contact.emails[0].value; + } + s = s + "
"; + } + + results.innerHTML = s; + }, + function (e) { + if (e.code === ContactError.NOT_SUPPORTED_ERROR) { + results.innerHTML = "Searching for contacts is not supported."; + } else { + results.innerHTML = "Search failed: error " + e.code; + } + }, + obj); + } + + function addContact() { + var results = document.getElementById('contact_results'); + + try { + var contact = navigator.contacts.create({ "displayName": "Dooney Evans" }); + var contactName = { + formatted: "Dooney Evans", + familyName: "Evans", + givenName: "Dooney", + middleName: "" + }; + + contact.name = contactName; + + var phoneNumbers = [1]; + phoneNumbers[0] = new ContactField('work', '512-555-1234', true); + contact.phoneNumbers = phoneNumbers; + + contact.save( + function () { results.innerHTML = "Contact saved."; }, + function (e) { + if (e.code === ContactError.NOT_SUPPORTED_ERROR) { + results.innerHTML = "Saving contacts not supported."; + } else { + results.innerHTML = "Contact save failed: error " + e.code; + } + } + ); + } + catch (e) { + alert(e); + } + } + + function removeDooneyEvans() { + var results = document.getElementById('contact_results'); + + navigator.contacts.find(["displayName", "name", "phoneNumbers", "emails", "urls", "note"], function(contacts) { + var removes = []; + contacts.forEach(function(contact) { + if (contact.name.formatted.indexOf('Dooney Evans') > -1) { + removes.push(contact); + } + }); + + var nextToRemove = undefined; + if (removes.length > 0) { + nextToRemove = removes.shift(); + } + function removeNext(item) { + if (typeof item === 'undefined') + return; + + if (removes.length > 0) { + nextToRemove = removes.shift(); + } else { + nextToRemove = undefined; + } + + item.remove(function removeSucceeded() { + results.innerHTML += '
Removed contact with ID ' + item.id; + removeNext(nextToRemove); + }, function removeFailed(e) { + results.innerHTML += '
Remove failed contact with ID ' + item.id; + removeNext(nextToRemove); + }); + } + removeNext(nextToRemove); + }, function (e) { + if (e.code === ContactError.NOT_SUPPORTED_ERROR) { + results.innerHTML = 'Searching for contacts is not supported.'; + } + else { + results.innerHTML = 'Search failed: error ' + e.code; + } + }) + } + + /******************************************************************************/ + + contentEl.innerHTML = '
' + + 'Results:
' + + '
' + + '
' + + '
' + + 'Expected result: Status box will show number of contacts and list them. May be empty on a fresh device until you click Add.' + + '

' + + 'Expected result: Will add a new contact. Log will say "Contact saved." or "Saving contacts not supported." if not supported on current platform. Verify by running Get phone contacts again' + + '
' + + '

Expected result: Will remove any contacts named "Dooney Evans". Log will output success or failure, plus ID, or fail like getting contacts will fail.

'; + + createActionButton("Get phone's contacts", function () { + getContacts(); + }, 'get_contacts'); + + createActionButton("Add a new contact 'Dooney Evans'", function () { + addContact(); + }, 'add_contact'); + + createActionButton("Delete all 'Dooney Evans'", function() { + removeDooneyEvans(); + }, 'remove_dooney_evans'); +}; diff --git a/test/unittest/tests/datauri.tests.js b/test/unittest/tests/datauri.tests.js new file mode 100644 index 0000000..51623ca --- /dev/null +++ b/test/unittest/tests/datauri.tests.js @@ -0,0 +1,40 @@ +exports.defineAutoTests = function () { +describe('data uris', function () { + it("datauri.spec.1 should work with iframes", function() { + var gotFoo = false, + frame = document.createElement('iframe'); + function onMessage(msg) { + gotFoo = gotFoo || msg.data == 'foo'; + }; + + this.after(function() { + document.body.removeChild(frame); + window.removeEventListener('message', onMessage, false); + }); + + window.addEventListener('message', onMessage, false); + frame.src = 'data:text/html;charset=utf-8,%3Chtml%3E%3Cscript%3Eparent.postMessage%28%27foo%27%2C%27%2A%27%29%3C%2Fscript%3E%3C%2Fhtml%3E' + document.body.appendChild(frame); + waitsFor(function() { + return gotFoo; + }, 'iframe did not load.', 1000); + runs(function() { + expect(gotFoo).toBe(true); + }); + }); + it("datauri.spec.2 should work with images", function() { + var img = new Image(); + img.onload = jasmine.createSpy('onLoad'); + img.onerror = jasmine.createSpy('onError'); + img.src = 'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7' + waitsFor(function() { + return img.onload.wasCalled || img.onerror.wasCalled; + }, 'image did not load or error', 1000); + runs(function() { + expect(img.onload).toHaveBeenCalled(); + }); + }); +}); +}; + +exports.defineManualTests = function (contentEl, createActionButton) {}; diff --git a/test/unittest/tests/device.tests.js b/test/unittest/tests/device.tests.js new file mode 100644 index 0000000..21e4160 --- /dev/null +++ b/test/unittest/tests/device.tests.js @@ -0,0 +1,111 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function() { + describe('Device Information (window.device)', function () { + it("should exist", function() { + expect(window.device).toBeDefined(); + }); + + it("should contain a platform specification that is a string", function() { + expect(window.device.platform).toBeDefined(); + expect((new String(window.device.platform)).length > 0).toBe(true); + }); + + it("should contain a version specification that is a string", function() { + expect(window.device.version).toBeDefined(); + expect((new String(window.device.version)).length > 0).toBe(true); + }); + + it("should contain a UUID specification that is a string or a number", function() { + expect(window.device.uuid).toBeDefined(); + if (typeof window.device.uuid == 'string' || typeof window.device.uuid == 'object') { + expect((new String(window.device.uuid)).length > 0).toBe(true); + } else { + expect(window.device.uuid > 0).toBe(true); + } + }); + + it("should contain a cordova specification that is a string", function() { + expect(window.device.cordova).toBeDefined(); + expect((new String(window.device.cordova)).length > 0).toBe(true); + }); + + it("should depend on the presence of cordova.version string", function() { + expect(window.cordova.version).toBeDefined(); + expect((new String(window.cordova.version)).length > 0).toBe(true); + }); + + it("should contain device.cordova equal to cordova.version", function() { + expect(window.device.cordova).toBe(window.cordova.version); + }); + + it("should contain a model specification that is a string", function() { + expect(window.device.model).toBeDefined(); + expect((new String(window.device.model)).length > 0).toBe(true); + }); + + it("should contain a manufacturer property that is a string", function() { + expect(window.device.manufacturer).toBeDefined(); + expect((new String(window.device.manufacturer)).length > 0).toBe(true); + }); + + it("should contain an isVirtual property that is a boolean", function() { + expect(window.device.isVirtual).toBeDefined(); + expect(typeof window.device.isVirtual).toBe("boolean"); + }); + + it("should contain a serial number specification that is a string", function() { + expect(window.device.serial).toBeDefined(); + expect((new String(window.device.serial)).length > 0).toBe(true); + + }); + + }); +}; + +exports.defineManualTests = function(contentEl, createActionButton) { + var logMessage = function (message, color) { + var log = document.getElementById('info'); + var logLine = document.createElement('div'); + if (color) { + logLine.style.color = color; + } + logLine.innerHTML = message; + log.appendChild(logLine); + } + + var clearLog = function () { + var log = document.getElementById('info'); + log.innerHTML = ''; + } + + var device_tests = '

Press Dump Device button to get device information

' + + '
' + + 'Expected result: Status box will get updated with device info. (i.e. platform, version, uuid, model, etc)'; + + contentEl.innerHTML = '
' + device_tests; + + createActionButton('Dump device', function() { + clearLog(); + logMessage(JSON.stringify(window.device, null, '\t')); + }, "dump_device"); +}; diff --git a/test/unittest/tests/file.tests.js b/test/unittest/tests/file.tests.js new file mode 100644 index 0000000..0cf7690 --- /dev/null +++ b/test/unittest/tests/file.tests.js @@ -0,0 +1,3689 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +/*global cordova, exports*/ +/*jshint jasmine: true*/ +/*global FileError, LocalFileSystem, Metadata, Flags*/ + +exports.defineAutoTests = function () { + var isBrowser = (cordova.platformId === "browser"); + // Use feature detection to determine current browser instead of checking user-agent + var isChrome = isBrowser && window.webkitRequestFileSystem && window.webkitResolveLocalFileSystemURL; + var isIE = isBrowser && (window.msIndexedDB); + var isIndexedDBShim = isBrowser && !isChrome; // Firefox and IE for example + + var isWindows = (cordova.platformId === "windows" || cordova.platformId === "windows8"); + + var MEDIUM_TIMEOUT = 15000; + + describe('File API', function () { + // Adding a Jasmine helper matcher, to report errors when comparing to FileError better. + var fileErrorMap = { + 1 : 'NOT_FOUND_ERR', + 2 : 'SECURITY_ERR', + 3 : 'ABORT_ERR', + 4 : 'NOT_READABLE_ERR', + 5 : 'ENCODING_ERR', + 6 : 'NO_MODIFICATION_ALLOWED_ERR', + 7 : 'INVALID_STATE_ERR', + 8 : 'SYNTAX_ERR', + 9 : 'INVALID_MODIFICATION_ERR', + 10 : 'QUOTA_EXCEEDED_ERR', + 11 : 'TYPE_MISMATCH_ERR', + 12 : 'PATH_EXISTS_ERR' + }, + root, + temp_root, + persistent_root; + beforeEach(function (done) { + // Custom Matchers + jasmine.Expectation.addMatchers({ + toBeFileError : function () { + return { + compare : function (error, code) { + var pass = error.code === code; + return { + pass : pass, + message : 'Expected FileError with code ' + fileErrorMap[error.code] + ' (' + error.code + ') to be ' + fileErrorMap[code] + '(' + code + ')' + }; + } + }; + }, + toCanonicallyMatch : function () { + return { + compare : function (currentPath, path) { + var a = path.split("/").join("").split("\\").join(""), + b = currentPath.split("/").join("").split("\\").join(""), + pass = a === b; + return { + pass : pass, + message : 'Expected paths to match : ' + path + ' should be ' + currentPath + }; + } + }; + }, + toFailWithMessage : function () { + return { + compare : function (error, message) { + var pass = false; + return { + pass : pass, + message : message + }; + } + }; + }, + toBeDataUrl: function () { + return { + compare : function (url) { + var pass = false; + // "data:application/octet-stream;base64," + var header = url.substr(0, url.indexOf(',')); + var headerParts = header.split(/[:;]/); + if (headerParts.length === 3 && + headerParts[0] === 'data' && + headerParts[2] === 'base64') { + pass = true; + } + var message = 'Expected ' + url + ' to be a valid data url. ' + header + ' is not valid header for data uris'; + return { + pass : pass, + message : message + }; + } + }; + } + }); + //Define global variables + var onError = function (e) { + console.log('[ERROR] Problem setting up root filesystem for test running! Error to follow.'); + console.log(JSON.stringify(e)); + }; + window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) { + root = fileSystem.root; + // set in file.tests.js + persistent_root = root; + window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function (fileSystem) { + temp_root = fileSystem.root; + // set in file.tests.js + done(); + }, onError); + }, onError); + }); + // HELPER FUNCTIONS + // deletes specified file or directory + var deleteEntry = function (name, success, error) { + // deletes entry, if it exists + // entry.remove success callback is required: http://www.w3.org/TR/2011/WD-file-system-api-20110419/#the-entry-interface + success = success || function() {}; + error = error || failed.bind(null, success, 'deleteEntry failed.'); + + window.resolveLocalFileSystemURL(root.toURL() + '/' + name, function (entry) { + if (entry.isDirectory === true) { + entry.removeRecursively(success, error); + } else { + entry.remove(success, error); + } + }, success); + }; + // deletes file, if it exists, then invokes callback + var deleteFile = function (fileName, callback) { + // entry.remove success callback is required: http://www.w3.org/TR/2011/WD-file-system-api-20110419/#the-entry-interface + callback = callback || function() {}; + + root.getFile(fileName, null, // remove file system entry + function (entry) { + entry.remove(callback, function () { + console.log('[ERROR] deleteFile cleanup method invoked fail callback.'); + }); + }, // doesn't exist + callback); + }; + // deletes and re-creates the specified file + var createFile = function (fileName, success, error) { + deleteEntry(fileName, function () { + root.getFile(fileName, { + create : true + }, success, error); + }, error); + }; + // deletes and re-creates the specified directory + var createDirectory = function (dirName, success, error) { + deleteEntry(dirName, function () { + root.getDirectory(dirName, { + create : true + }, success, error); + }, error); + }; + var failed = function (done, msg, error) { + var info = typeof msg == 'undefined' ? 'Unexpected error callback' : msg; + var codeMsg = (error && error.code) ? (': ' + fileErrorMap[error.code]) : ''; + expect(true).toFailWithMessage(info + '\n' + JSON.stringify(error) + codeMsg); + done(); + }; + var succeed = function (done, msg) { + var info = typeof msg == 'undefined' ? 'Unexpected success callback' : msg; + expect(true).toFailWithMessage(info); + done(); + }; + var joinURL = function (base, extension) { + if (base.charAt(base.length - 1) !== '/' && extension.charAt(0) !== '/') { + return base + '/' + extension; + } + if (base.charAt(base.length - 1) === '/' && extension.charAt(0) === '/') { + return base + extension.substring(1); + } + return base + extension; + }; + describe('FileError object', function () { + it("file.spec.1 should define FileError constants", function () { + expect(FileError.NOT_FOUND_ERR).toBe(1); + expect(FileError.SECURITY_ERR).toBe(2); + expect(FileError.ABORT_ERR).toBe(3); + expect(FileError.NOT_READABLE_ERR).toBe(4); + expect(FileError.ENCODING_ERR).toBe(5); + expect(FileError.NO_MODIFICATION_ALLOWED_ERR).toBe(6); + expect(FileError.INVALID_STATE_ERR).toBe(7); + expect(FileError.SYNTAX_ERR).toBe(8); + expect(FileError.INVALID_MODIFICATION_ERR).toBe(9); + expect(FileError.QUOTA_EXCEEDED_ERR).toBe(10); + expect(FileError.TYPE_MISMATCH_ERR).toBe(11); + expect(FileError.PATH_EXISTS_ERR).toBe(12); + }); + }); + describe('LocalFileSystem', function () { + it("file.spec.2 should define LocalFileSystem constants", function () { + expect(LocalFileSystem.TEMPORARY).toBe(0); + expect(LocalFileSystem.PERSISTENT).toBe(1); + }); + describe('window.requestFileSystem', function () { + it("file.spec.3 should be defined", function () { + expect(window.requestFileSystem).toBeDefined(); + }); + it("file.spec.4 should be able to retrieve a PERSISTENT file system", function (done) { + var win = function (fileSystem) { + expect(fileSystem).toBeDefined(); + expect(fileSystem.name).toBeDefined(); + isChrome ? expect(fileSystem.name).toContain("Persistent") + : expect(fileSystem.name).toBe("persistent"); + expect(fileSystem.root).toBeDefined(); + expect(fileSystem.root.filesystem).toBeDefined(); + // Shouldn't use cdvfile by default. + expect(fileSystem.root.toURL()).not.toMatch(/^cdvfile:/); + // All DirectoryEntry URLs should always have a trailing slash. + expect(fileSystem.root.toURL()).toMatch(/\/$/); + done(); + }; + // retrieve PERSISTENT file system + window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, win, failed.bind(null, done, 'window.requestFileSystem - Error retrieving PERSISTENT file system')); + }); + it("file.spec.5 should be able to retrieve a TEMPORARY file system", function (done) { + var win = function (fileSystem) { + expect(fileSystem).toBeDefined(); + isChrome ? expect(fileSystem.name).toContain("Temporary") + : expect(fileSystem.name).toBe("temporary"); + expect(fileSystem.root).toBeDefined(); + expect(fileSystem.root.filesystem).toBeDefined(); + expect(fileSystem.root.filesystem).toBe(fileSystem); + done(); + }; + //retrieve TEMPORARY file system + window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, win, failed.bind(null, done, 'window.requestFileSystem - Error retrieving TEMPORARY file system')); + }); + it("file.spec.6 should error if you request a file system that is too large", function (done) { + if (isBrowser) { + /*window.requestFileSystem TEMPORARY and PERSISTENT filesystem quota is not limited in Chrome. + Firefox filesystem size is not limited but every 50MB request user permission. + IE10 allows up to 10mb of combined AppCache and IndexedDB used in implementation + of filesystem without prompting, once you hit that level you will be asked if you + want to allow it to be increased up to a max of 250mb per site. + So `size` parameter for `requestFileSystem` function does not affect on filesystem in Firefox and IE.*/ + pending(); + } + + var fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.QUOTA_EXCEEDED_ERR); + done(); + }; + //win = createWin('window.requestFileSystem'); + // Request the file system + window.requestFileSystem(LocalFileSystem.TEMPORARY, 1000000000000000, failed.bind(null, done, 'window.requestFileSystem - Error retrieving TEMPORARY file system'), fail); + }); + it("file.spec.7 should error out if you request a file system that does not exist", function (done) { + + var fail = function (error) { + expect(error).toBeDefined(); + if (isChrome) { + /*INVALID_MODIFICATION_ERR (code: 9) is thrown instead of SYNTAX_ERR(code: 8) + on requesting of a non-existant filesystem.*/ + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + } else { + expect(error).toBeFileError(FileError.SYNTAX_ERR); + } + done(); + }; + // Request the file system + window.requestFileSystem(-1, 0, succeed.bind(null, done, 'window.requestFileSystem'), fail); + }); + }); + describe('window.resolveLocalFileSystemURL', function () { + it("file.spec.8 should be defined", function () { + expect(window.resolveLocalFileSystemURL).toBeDefined(); + }); + it("file.spec.9 should resolve a valid file name", function (done) { + var fileName = 'file.spec.9'; + var win = function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.name).toCanonicallyMatch(fileName); + expect(fileEntry.toURL()).not.toMatch(/^cdvfile:/, 'should not use cdvfile URL'); + expect(fileEntry.toURL()).not.toMatch(/\/$/, 'URL should not end with a slash'); + // Clean-up + deleteEntry(fileName, done); + }; + createFile(fileName, function (entry) { + window.resolveLocalFileSystemURL(entry.toURL(), win, failed.bind(null, done, 'window.resolveLocalFileSystemURL - Error resolving file URL: ' + entry.toURL())); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName), failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.9.5 should resolve a directory", function (done) { + var fileName = 'file.spec.9.5'; + var win = function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.name).toCanonicallyMatch(fileName); + expect(fileEntry.toURL()).not.toMatch(/^cdvfile:/, 'should not use cdvfile URL'); + expect(fileEntry.toURL()).toMatch(/\/$/, 'URL end with a slash'); + // cleanup + deleteEntry(fileName, done); + }; + function gotDirectory(entry) { + // lookup file system entry + window.resolveLocalFileSystemURL(entry.toURL(), win, failed.bind(null, done, 'window.resolveLocalFileSystemURL - Error resolving directory URL: ' + entry.toURL())); + } + createDirectory(fileName, gotDirectory, failed.bind(null, done, 'createDirectory - Error creating directory: ' + fileName), failed.bind(null, done, 'createDirectory - Error creating directory: ' + fileName)); + }); + it("file.spec.10 resolve valid file name with parameters", function (done) { + var fileName = "resolve.file.uri.params", + win = function (fileEntry) { + expect(fileEntry).toBeDefined(); + if (fileEntry.toURL().toLowerCase().substring(0, 10) === "cdvfile://") { + expect(fileEntry.fullPath).toBe("/" + fileName + "?1234567890"); + } + expect(fileEntry.name).toBe(fileName); + // cleanup + deleteEntry(fileName, done); + }; + // create a new file entry + createFile(fileName, function (entry) { + window.resolveLocalFileSystemURL(entry.toURL() + "?1234567890", win, failed.bind(null, done, 'window.resolveLocalFileSystemURL - Error resolving file URI: ' + entry.toURL())); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.11 should error (NOT_FOUND_ERR) when resolving (non-existent) invalid file name", function (done) { + var fileName = cordova.platformId === 'windowsphone' ? root.toURL() + "/" + "this.is.not.a.valid.file.txt" : joinURL(root.toURL(), "this.is.not.a.valid.file.txt"); + fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }; + // lookup file system entry + window.resolveLocalFileSystemURL(fileName, succeed.bind(null, done, 'window.resolveLocalFileSystemURL - Error unexpected callback resolving file URI: ' + fileName), fail); + }); + it("file.spec.12 should error (ENCODING_ERR) when resolving invalid URI with leading /", function (done) { + var fileName = "/this.is.not.a.valid.url", + fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.ENCODING_ERR); + done(); + }; + // lookup file system entry + window.resolveLocalFileSystemURL(fileName, succeed.bind(null, done, 'window.resolveLocalFileSystemURL - Error unexpected callback resolving file URI: ' + fileName), fail); + }); + }); + }); + //LocalFileSystem + describe('Metadata interface', function () { + it("file.spec.13 should exist and have the right properties", function () { + var metadata = new Metadata(); + expect(metadata).toBeDefined(); + expect(metadata.modificationTime).toBeDefined(); + }); + }); + describe('Flags interface', function () { + it("file.spec.14 should exist and have the right properties", function () { + var flags = new Flags(false, true); + expect(flags).toBeDefined(); + expect(flags.create).toBeDefined(); + expect(flags.create).toBe(false); + expect(flags.exclusive).toBeDefined(); + expect(flags.exclusive).toBe(true); + }); + }); + describe('FileSystem interface', function () { + it("file.spec.15 should have a root that is a DirectoryEntry", function (done) { + var win = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(false); + expect(entry.isDirectory).toBe(true); + expect(entry.name).toBeDefined(); + expect(entry.fullPath).toBeDefined(); + expect(entry.getMetadata).toBeDefined(); + expect(entry.moveTo).toBeDefined(); + expect(entry.copyTo).toBeDefined(); + expect(entry.toURL).toBeDefined(); + expect(entry.remove).toBeDefined(); + expect(entry.getParent).toBeDefined(); + expect(entry.createReader).toBeDefined(); + expect(entry.getFile).toBeDefined(); + expect(entry.getDirectory).toBeDefined(); + expect(entry.removeRecursively).toBeDefined(); + done(); + }; + window.resolveLocalFileSystemURL(root.toURL(), win, failed.bind(null, done, 'window.resolveLocalFileSystemURL - Error resolving file URI: ' + root.toURL())); + }); + }); + describe('DirectoryEntry', function () { + it("file.spec.16 getFile: get Entry for file that does not exist", function (done) { + var fileName = "de.no.file", + filePath = joinURL(root.fullPath, fileName), + fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }; + // create:false, exclusive:false, file does not exist + root.getFile(fileName, { + create : false + }, succeed.bind(null, done, 'root.getFile - Error unexpected callback, file should not exists: ' + fileName), fail); + }); + it("file.spec.17 getFile: create new file", function (done) { + var fileName = "de.create.file", + filePath = joinURL(root.fullPath, fileName), + win = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(fileName); + expect(entry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(entry.name, done); + }; + // create:true, exclusive:false, file does not exist + root.getFile(fileName, { + create : true + }, win, succeed.bind(null, done, 'root.getFile - Error unexpected callback, file should not exists: ' + fileName)); + }); + it("file.spec.18 getFile: create new file (exclusive)", function (done) { + var fileName = "de.create.exclusive.file", + filePath = joinURL(root.fullPath, fileName), + win = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toBe(fileName); + expect(entry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(entry.name, done); + }; + // create:true, exclusive:true, file does not exist + root.getFile(fileName, { + create : true, + exclusive : true + }, win, failed.bind(null, done, 'root.getFile - Error creating file: ' + fileName)); + }); + it("file.spec.19 getFile: create file that already exists", function (done) { + var fileName = "de.create.existing.file", + filePath = joinURL(root.fullPath, fileName), + getFile = function (file) { + // create:true, exclusive:false, file exists + root.getFile(fileName, { + create : true + }, win, failed.bind(null, done, 'root.getFile - Error creating file: ' + fileName)); + }, + win = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(fileName); + expect(entry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(entry.name, done); + }; + // create file to kick off it + root.getFile(fileName, { + create : true + }, getFile, failed.bind(null, done, 'root.getFile - Error on initial creating file: ' + fileName)); + }); + it("file.spec.20 getFile: create file that already exists (exclusive)", function (done) { + + var fileName = "de.create.exclusive.existing.file", + filePath = joinURL(root.fullPath, fileName), + existingFile, + getFile = function (file) { + existingFile = file; + // create:true, exclusive:true, file exists + root.getFile(fileName, { + create : true, + exclusive : true + }, succeed.bind(null, done, 'root.getFile - getFile function - Error unexpected callback, file should exists: ' + fileName), fail); + }, + fail = function (error) { + expect(error).toBeDefined(); + if (isChrome) { + /*INVALID_MODIFICATION_ERR (code: 9) is thrown instead of PATH_EXISTS_ERR(code: 12) + on trying to exclusively create a file, which already exists in Chrome.*/ + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + } else { + expect(error).toBeFileError(FileError.PATH_EXISTS_ERR); + } + // cleanup + deleteEntry(existingFile.name, done); + }; + // create file to kick off it + root.getFile(fileName, { + create : true + }, getFile, failed.bind(null, done, 'root.getFile - Error creating file: ' + fileName)); + }); + it("file.spec.21 DirectoryEntry.getFile: get Entry for existing file", function (done) { + var fileName = "de.get.file", + filePath = joinURL(root.fullPath, fileName), + win = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(fileName); + expect(entry.fullPath).toCanonicallyMatch(filePath); + expect(entry.filesystem).toBeDefined(); + expect(entry.filesystem).toBe(root.filesystem); + //clean up + deleteEntry(entry.name, done); + }, + getFile = function (file) { + // create:false, exclusive:false, file exists + root.getFile(fileName, { + create : false + }, win, failed.bind(null, done, 'root.getFile - Error getting file entry: ' + fileName)); + }; + // create file to kick off it + root.getFile(fileName, { + create : true + }, getFile, failed.bind(null, done, 'root.getFile - Error creating file: ' + fileName)); + }); + it("file.spec.22 DirectoryEntry.getFile: get FileEntry for invalid path", function (done) { + if (isBrowser) { + /*The plugin does not follow to ["8.3 Naming restrictions"] + (http://www.w3.org/TR/2011/WD-file-system-api-20110419/#naming-restrictions).*/ + pending(); + } + + var fileName = "de:invalid:path", + fail = function (error) { + console.error(error); + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.ENCODING_ERR); + done(); + }; + // create:false, exclusive:false, invalid path + root.getFile(fileName, { + create : false + }, succeed.bind(null, done, 'root.getFile - Error unexpected callback, file should not exists: ' + fileName), fail); + }); + it("file.spec.23 DirectoryEntry.getDirectory: get Entry for directory that does not exist", function (done) { + var dirName = "de.no.dir", + dirPath = joinURL(root.fullPath, dirName), + fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }; + // create:false, exclusive:false, directory does not exist + root.getDirectory(dirName, { + create : false + }, succeed.bind(null, done, 'root.getDirectory - Error unexpected callback, directory should not exists: ' + dirName), fail); + }); + it("file.spec.24 DirectoryEntry.getDirectory: create new dir with space then resolveLocalFileSystemURL", function (done) { + var dirName = "de create dir", + dirPath = joinURL(root.fullPath, encodeURIComponent(dirName)), + getDir = function (dirEntry) { + expect(dirEntry.filesystem).toBeDefined(); + expect(dirEntry.filesystem).toBe(root.filesystem); + var dirURI = dirEntry.toURL(); + // now encode URI and try to resolve + window.resolveLocalFileSystemURL(dirURI, win, failed.bind(null, done, 'window.resolveLocalFileSystemURL - getDir function - Error resolving directory: ' + dirURI)); + }, + win = function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(dirName); + expect(directory.fullPath).toCanonicallyMatch(joinURL(root.fullPath, dirName)); + // cleanup + deleteEntry(directory.name, done); + }; + // create:true, exclusive:false, directory does not exist + root.getDirectory(dirName, { + create : true + }, getDir, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + // This test is excluded, and should probably be removed. Filesystem + // should always be properly encoded URLs, and *not* raw paths, and it + // doesn't make sense to double-encode the URLs and expect that to be + // handled by the implementation. + // If a particular platform uses paths internally rather than URLs, // then that platform should careful to pass them correctly to its + // backend. + xit("file.spec.25 DirectoryEntry.getDirectory: create new dir with space resolveLocalFileSystemURL with encoded URI", function (done) { + var dirName = "de create dir2", + dirPath = joinURL(root.fullPath, dirName), + getDir = function (dirEntry) { + var dirURI = dirEntry.toURL(); + // now encode URI and try to resolve + window.resolveLocalFileSystemURL(encodeURI(dirURI), win, failed.bind(null, done, 'window.resolveLocalFileSystemURL - getDir function - Error resolving directory: ' + dirURI)); + }, + win = function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(dirName); + expect(directory.fullPath).toCanonicallyMatch(dirPath); + // cleanup + deleteEntry(directory.name, done); + }; + // create:true, exclusive:false, directory does not exist + root.getDirectory(dirName, { + create : true + }, getDir, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.26 DirectoryEntry.getDirectory: create new directory", function (done) { + var dirName = "de.create.dir", + dirPath = joinURL(root.fullPath, dirName), + win = function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(dirName); + expect(directory.fullPath).toCanonicallyMatch(dirPath); + expect(directory.filesystem).toBeDefined(); + expect(directory.filesystem).toBe(root.filesystem); + // cleanup + deleteEntry(directory.name, done); + }; + // create:true, exclusive:false, directory does not exist + root.getDirectory(dirName, { + create : true + }, win, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.27 DirectoryEntry.getDirectory: create new directory (exclusive)", function (done) { + var dirName = "de.create.exclusive.dir", + dirPath = joinURL(root.fullPath, dirName), + win = function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(dirName); + expect(directory.fullPath).toCanonicallyMatch(dirPath); + expect(directory.filesystem).toBeDefined(); + expect(directory.filesystem).toBe(root.filesystem); + // cleanup + deleteEntry(directory.name, done); + }; + // create:true, exclusive:true, directory does not exist + root.getDirectory(dirName, { + create : true, + exclusive : true + }, win, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.28 DirectoryEntry.getDirectory: create directory that already exists", function (done) { + var dirName = "de.create.existing.dir", + dirPath = joinURL(root.fullPath, dirName), + win = function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(dirName); + expect(directory.fullPath).toCanonicallyMatch(dirPath); + // cleanup + deleteEntry(directory.name, done); + }; + // create directory to kick off it + root.getDirectory(dirName, { + create : true + }, function () { + root.getDirectory(dirName, { + create : true + }, win, failed.bind(null, done, 'root.getDirectory - Error creating existent second directory : ' + dirName)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.29 DirectoryEntry.getDirectory: create directory that already exists (exclusive)", function (done) { + + var dirName = "de.create.exclusive.existing.dir", + dirPath = joinURL(root.fullPath, dirName), + existingDir, + fail = function (error) { + expect(error).toBeDefined(); + if (isChrome) { + /*INVALID_MODIFICATION_ERR (code: 9) is thrown instead of PATH_EXISTS_ERR(code: 12) + on trying to exclusively create a file or directory, which already exists (Chrome).*/ + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + } else { + expect(error).toBeFileError(FileError.PATH_EXISTS_ERR); + } + // cleanup + deleteEntry(existingDir.name, done); + }; + // create directory to kick off it + root.getDirectory(dirName, { + create : true + }, function (directory) { + existingDir = directory; + // create:true, exclusive:true, directory exists + root.getDirectory(dirName, { + create : true, + exclusive : true + }, failed.bind(null, done, 'root.getDirectory - Unexpected success callback, second directory should not be created : ' + dirName), fail); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.30 DirectoryEntry.getDirectory: get Entry for existing directory", function (done) { + var dirName = "de.get.dir", + dirPath = joinURL(root.fullPath, dirName), + win = function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(dirName); + expect(directory.fullPath).toCanonicallyMatch(dirPath); + // cleanup + deleteEntry(directory.name, done); + }; + // create directory to kick it off + root.getDirectory(dirName, { + create : true + }, function () { + root.getDirectory(dirName, { + create : false + }, win, failed.bind(null, done, 'root.getDirectory - Error getting directory entry : ' + dirName)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.31 DirectoryEntry.getDirectory: get DirectoryEntry for invalid path", function (done) { + if (isBrowser) { + /*The plugin does not follow to ["8.3 Naming restrictions"] + (http://www.w3.org/TR/2011/WD-file-system-api-20110419/#naming-restrictions).*/ + pending(); + } + + var dirName = "de:invalid:path", + fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.ENCODING_ERR); + done(); + }; + // create:false, exclusive:false, invalid path + root.getDirectory(dirName, { + create : false + }, succeed.bind(null, done, 'root.getDirectory - Unexpected success callback, directory should not exists: ' + dirName), fail); + }); + it("file.spec.32 DirectoryEntry.getDirectory: get DirectoryEntry for existing file", function (done) { + var fileName = "de.existing.file", + existingFile, + filePath = joinURL(root.fullPath, fileName), + fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.TYPE_MISMATCH_ERR); + // cleanup + deleteEntry(existingFile.name, done); + }; + // create file to kick off it + root.getFile(fileName, { + create : true + }, function (file) { + existingFile = file; + root.getDirectory(fileName, { + create : false + }, succeed.bind(null, done, 'root.getDirectory - Unexpected success callback, directory should not exists: ' + fileName), fail); + }, failed.bind(null, done, 'root.getFile - Error creating file : ' + fileName)); + }); + it("file.spec.33 DirectoryEntry.getFile: get FileEntry for existing directory", function (done) { + var dirName = "de.existing.dir", + existingDir, + dirPath = joinURL(root.fullPath, dirName), + fail = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.TYPE_MISMATCH_ERR); + // cleanup + deleteEntry(existingDir.name, done); + }; + // create directory to kick off it + root.getDirectory(dirName, { + create : true + }, function (directory) { + existingDir = directory; + root.getFile(dirName, { + create : false + }, succeed.bind(null, done, 'root.getFile - Unexpected success callback, file should not exists: ' + dirName), fail); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.34 DirectoryEntry.removeRecursively on directory", function (done) { + var dirName = "de.removeRecursively", + subDirName = "dir", + dirPath = joinURL(root.fullPath, dirName), + subDirPath = joinURL(dirPath, subDirName), + dirExists = function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }; + // create a new directory entry to kick off it + root.getDirectory(dirName, { + create : true + }, function (entry) { + entry.getDirectory(subDirName, { + create : true + }, function (dir) { + entry.removeRecursively(function () { + root.getDirectory(dirName, { + create : false + }, succeed.bind(null, done, 'root.getDirectory - Unexpected success callback, directory should not exists: ' + dirName), dirExists); + }, failed.bind(null, done, 'entry.removeRecursively - Error removing directory recursively : ' + dirName)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + subDirName)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.35 createReader: create reader on existing directory", function () { + // create reader for root directory + var reader = root.createReader(); + expect(reader).toBeDefined(); + expect(typeof reader.readEntries).toBe('function'); + }); + it("file.spec.36 removeRecursively on root file system", function (done) { + + var remove = function (error) { + expect(error).toBeDefined(); + if (isChrome) { + /*INVALID_MODIFICATION_ERR (code: 9) is thrown instead of + NO_MODIFICATION_ALLOWED_ERR(code: 6) on trying to call removeRecursively + on the root file system (Chrome).*/ + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + } else { + expect(error).toBeFileError(FileError.NO_MODIFICATION_ALLOWED_ERR); + } + done(); + }; + // remove root file system + root.removeRecursively(succeed.bind(null, done, 'root.removeRecursively - Unexpected success callback, root cannot be removed'), remove); + }); + }); + describe('DirectoryReader interface', function () { + describe("readEntries", function () { + it("file.spec.37 should read contents of existing directory", function (done) { + var reader, + win = function (entries) { + expect(entries).toBeDefined(); + expect(entries instanceof Array).toBe(true); + done(); + }; + // create reader for root directory + reader = root.createReader(); + // read entries + reader.readEntries(win, failed.bind(null, done, 'reader.readEntries - Error reading entries')); + }); + it("file.spec.37.1 should read contents of existing directory", function (done) { + var dirName = 'readEntries.dir', + fileName = 'readeEntries.file'; + root.getDirectory(dirName, { + create : true + }, function (directory) { + directory.getFile(fileName, { + create : true + }, function (fileEntry) { + var reader = directory.createReader(); + reader.readEntries(function (entries) { + expect(entries).toBeDefined(); + expect(entries instanceof Array).toBe(true); + expect(entries.length).toBe(1); + expect(entries[0].fullPath).toCanonicallyMatch(fileEntry.fullPath); + expect(entries[0].filesystem).not.toBe(null); + if (isChrome) { + // Slicing '[object {type}]' -> '{type}' + expect(entries[0].filesystem.toString().slice(8, -1)).toEqual("DOMFileSystem"); + } + else { + expect(entries[0].filesystem instanceof FileSystem).toBe(true); + } + + // cleanup + deleteEntry(directory.name, done); + }, failed.bind(null, done, 'reader.readEntries - Error reading entries from directory: ' + dirName)); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + fileName)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.109 should return an empty entry list on the second call", function (done) { + var reader, + fileName = 'test109.txt'; + // Add a file to ensure the root directory is non-empty and then read the contents of the directory. + root.getFile(fileName, { + create : true + }, function (entry) { + reader = root.createReader(); + //First read + reader.readEntries(function (entries) { + expect(entries).toBeDefined(); + expect(entries instanceof Array).toBe(true); + expect(entries.length).not.toBe(0); + //Second read + reader.readEntries(function (entries_) { + expect(entries_).toBeDefined(); + expect(entries_ instanceof Array).toBe(true); + expect(entries_.length).toBe(0); + //Clean up + deleteEntry(entry.name, done); + }, failed.bind(null, done, 'reader.readEntries - Error during SECOND reading of entries from [root] directory')); + }, failed.bind(null, done, 'reader.readEntries - Error during FIRST reading of entries from [root] directory')); + }, failed.bind(null, done, 'root.getFile - Error creating file : ' + fileName)); + }); + }); + it("file.spec.38 should read contents of directory that has been removed", function (done) { + var dirName = "de.createReader.notfound", + dirPath = joinURL(root.fullPath, dirName); + // create a new directory entry to kick off it + root.getDirectory(dirName, { + create : true + }, function (directory) { + directory.removeRecursively(function () { + var reader = directory.createReader(); + reader.readEntries(succeed.bind(null, done, 'reader.readEntries - Unexpected success callback, it should not read entries from deleted dir: ' + dirName), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + root.getDirectory(dirName, { + create : false + }, succeed.bind(null, done, 'root.getDirectory - Unexpected success callback, it should not get deleted directory: ' + dirName), function (err) { + expect(err).toBeDefined(); + expect(err).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }); + }); + }, failed.bind(null, done, 'directory.removeRecursively - Error removing directory recursively : ' + dirName)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + }); + //DirectoryReader interface + describe('File', function () { + it("file.spec.39 constructor should be defined", function () { + expect(File).toBeDefined(); + expect(typeof File).toBe('function'); + }); + it("file.spec.40 should be define File attributes", function () { + var file = new File(); + expect(file.name).toBeDefined(); + expect(file.type).toBeDefined(); + expect(file.lastModifiedDate).toBeDefined(); + expect(file.size).toBeDefined(); + }); + }); + //File + describe('FileEntry', function () { + + it("file.spec.41 should be define FileEntry methods", function (done) { + var fileName = "fe.methods", + testFileEntry = function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(typeof fileEntry.createWriter).toBe('function'); + expect(typeof fileEntry.file).toBe('function'); + // cleanup + deleteEntry(fileEntry.name, done); + }; + // create a new file entry to kick off it + root.getFile(fileName, { + create : true + }, testFileEntry, failed.bind(null, done, 'root.getFile - Error creating file : ' + fileName)); + }); + it("file.spec.42 createWriter should return a FileWriter object", function (done) { + var fileName = "fe.createWriter", + testFile, + testWriter = function (writer) { + expect(writer).toBeDefined(); + if (isChrome) { + // Slicing '[object {type}]' -> '{type}' + expect(writer.toString().slice(8, -1)).toEqual("FileWriter"); + } + else { + expect(writer instanceof FileWriter).toBe(true); + } + + // cleanup + deleteEntry(testFile.name, done); + }; + // create a new file entry to kick off it + root.getFile(fileName, { + create : true + }, function (fileEntry) { + testFile = fileEntry; + fileEntry.createWriter(testWriter, failed.bind(null, done, 'fileEntry.createWriter - Error creating Writer from entry')); + }, failed.bind(null, done, 'root.getFile - Error creating file : ' + fileName)); + }); + it("file.spec.43 file should return a File object", function (done) { + var fileName = "fe.file", + newFile, + testFile = function (file) { + expect(file).toBeDefined(); + if (isChrome) { + // Slicing '[object {type}]' -> '{type}' + expect(file.toString().slice(8, -1)).toEqual("File"); + } + else { + expect(file instanceof File).toBe(true); + } + + // cleanup + deleteEntry(newFile.name, done); + }; + // create a new file entry to kick off it + root.getFile(fileName, { + create : true + }, function (fileEntry) { + newFile = fileEntry; + fileEntry.file(testFile, failed.bind(null, done, 'fileEntry.file - Error reading file using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'root.getFile - Error creating file : ' + fileName)); + }); + it("file.spec.44 file: on File that has been removed", function (done) { + var fileName = "fe.no.file"; + // create a new file entry to kick off it + root.getFile(fileName, { + create : true + }, function (fileEntry) { + fileEntry.remove(function () { + fileEntry.file(succeed.bind(null, done, 'fileEntry.file - Unexpected success callback, file it should not be created from removed entry'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }); + }, failed.bind(null, done, 'fileEntry.remove - Error removing entry : ' + fileName)); + }, failed.bind(null, done, 'root.getFile - Error creating file : ' + fileName)); + }); + }); + //FileEntry + describe('Entry', function () { + it("file.spec.45 Entry object", function (done) { + var fileName = "entry", + fullPath = joinURL(root.fullPath, fileName), + winEntry = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(fileName); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + expect(typeof entry.getMetadata).toBe('function'); + expect(typeof entry.setMetadata).toBe('function'); + expect(typeof entry.moveTo).toBe('function'); + expect(typeof entry.copyTo).toBe('function'); + expect(typeof entry.toURL).toBe('function'); + expect(typeof entry.remove).toBe('function'); + expect(typeof entry.getParent).toBe('function'); + expect(typeof entry.createWriter).toBe('function'); + expect(typeof entry.file).toBe('function'); + // Clean up + deleteEntry(fileName, done); + }; + // create a new file entry + createFile(fileName, winEntry, failed.bind(null, done, 'createFile - Error creating file : ' + fileName)); + }); + it("file.spec.46 Entry.getMetadata on file", function (done) { + var fileName = "entry.metadata.file"; + // create a new file entry + createFile(fileName, function (entry) { + entry.getMetadata(function (metadata) { + expect(metadata).toBeDefined(); + expect(metadata.modificationTime instanceof Date).toBe(true); + expect(typeof metadata.size).toBe("number"); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'entry.getMetadata - Error getting metadata from entry : ' + fileName)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + fileName)); + }); + it("file.spec.47 Entry.getMetadata on directory", function (done) { + if (isIndexedDBShim) { + /* Does not support metadata for directories (Firefox, IE) */ + pending(); + } + + var dirName = "entry.metadata.dir"; + // create a new directory entry + createDirectory(dirName, function (entry) { + entry.getMetadata(function (metadata) { + expect(metadata).toBeDefined(); + expect(metadata.modificationTime instanceof Date).toBe(true); + expect(typeof metadata.size).toBe("number"); + expect(metadata.size).toBe(0); + // cleanup + deleteEntry(dirName, done); + }, failed.bind(null, done, 'entry.getMetadata - Error getting metadata from entry : ' + dirName)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.48 Entry.getParent on file in root file system", function (done) { + var fileName = "entry.parent.file", + rootPath = root.fullPath; + // create a new file entry + createFile(fileName, function (entry) { + entry.getParent(function (parent) { + expect(parent).toBeDefined(); + expect(parent.fullPath).toCanonicallyMatch(rootPath); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'entry.getParent - Error getting parent directory of file : ' + fileName)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + fileName)); + }); + it("file.spec.49 Entry.getParent on directory in root file system", function (done) { + var dirName = "entry.parent.dir", + rootPath = root.fullPath; + // create a new directory entry + createDirectory(dirName, function (entry) { + entry.getParent(function (parent) { + expect(parent).toBeDefined(); + expect(parent.fullPath).toCanonicallyMatch(rootPath); + // cleanup + deleteEntry(dirName, done); + }, failed.bind(null, done, 'entry.getParent - Error getting parent directory of directory : ' + dirName)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.50 Entry.getParent on root file system", function (done) { + var rootPath = root.fullPath, + winParent = function (parent) { + expect(parent).toBeDefined(); + expect(parent.fullPath).toCanonicallyMatch(rootPath); + done(); + }; + // create a new directory entry + root.getParent(winParent, failed.bind(null, done, 'root.getParent - Error getting parent directory of root')); + }); + it("file.spec.51 Entry.toURL on file", function (done) { + var fileName = "entry.uri.file", + rootPath = root.fullPath, + winURI = function (entry) { + var uri = entry.toURL(); + expect(uri).toBeDefined(); + expect(uri.indexOf(rootPath)).not.toBe(-1); + // cleanup + deleteEntry(fileName, done); + }; + // create a new file entry + createFile(fileName, winURI, failed.bind(null, done, 'createFile - Error creating file : ' + fileName)); + }); + it("file.spec.52 Entry.toURL on directory", function (done) { + var dirName_1 = "num 1", + dirName_2 = "num 2", + rootPath = root.fullPath; + createDirectory(dirName_1, function (entry) { + entry.getDirectory(dirName_2, { + create : true + }, function (entryFile) { + var uri = entryFile.toURL(); + expect(uri).toBeDefined(); + expect(uri).toContain('/num%201/num%202/'); + expect(uri.indexOf(rootPath)).not.toBe(-1); + // cleanup + deleteEntry(dirName_1, done); + }, failed.bind(null, done, 'entry.getDirectory - Error creating directory : ' + dirName_2)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + dirName_1)); + }); + it("file.spec.53 Entry.remove on file", function (done) { + var fileName = "entr .rm.file"; + // create a new file entry + createFile(fileName, function (entry) { + expect(entry).toBeDefined(); + entry.remove(function () { + root.getFile(fileName, null, succeed.bind(null, done, 'root.getFile - Unexpected success callback, it should not get deleted file : ' + fileName), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(fileName, done); + }); + }, failed.bind(null, done, 'entry.remove - Error removing entry : ' + fileName)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + fileName)); + }); + it("file.spec.54 remove on empty directory", function (done) { + var dirName = "entry.rm.dir"; + // create a new directory entry + createDirectory(dirName, function (entry) { + expect(entry).toBeDefined(); + entry.remove(function () { + root.getDirectory(dirName, null, succeed.bind(null, done, 'root.getDirectory - Unexpected success callback, it should not get deleted directory : ' + dirName), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(dirName, done); + }); + }, failed.bind(null, done, 'entry.remove - Error removing entry : ' + dirName)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.55 remove on non-empty directory", function (done) { + if (isIndexedDBShim) { + /* Both Entry.remove and directoryEntry.removeRecursively don't fail when removing + non-empty directories - directories being removed are cleaned + along with contents instead (Firefox, IE)*/ + pending(); + } + + var dirName = "ent y.rm.dir.not.empty", + fileName = "re ove.txt", + fullPath = joinURL(root.fullPath, dirName); + // create a new directory entry + createDirectory(dirName, function (entry) { + entry.getFile(fileName, { + create : true + }, function (fileEntry) { + entry.remove(succeed.bind(null, done, 'entry.remove - Unexpected success callback, it should not remove a directory that contains files : ' + dirName), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + root.getDirectory(dirName, null, function (entry) { + expect(entry).toBeDefined(); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + // cleanup + deleteEntry(dirName, done); + }, failed.bind(null, done, 'root.getDirectory - Error getting directory : ' + dirName)); + }); + }, failed.bind(null, done, 'entry.getFile - Error creating file : ' + fileName + ' inside of ' + dirName)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + dirName)); + }); + it("file.spec.56 remove on root file system", function (done) { + + // remove entry that doesn't exist + root.remove(succeed.bind(null, done, 'entry.remove - Unexpected success callback, it should not remove entry that it does not exists'), function (error) { + expect(error).toBeDefined(); + if (isChrome) { + /*INVALID_MODIFICATION_ERR (code: 9) is thrown instead of + NO_MODIFICATION_ALLOWED_ERR(code: 6) on trying to call removeRecursively + on the root file system.*/ + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + } else { + expect(error).toBeFileError(FileError.NO_MODIFICATION_ALLOWED_ERR); + } + done(); + }); + }); + it("file.spec.57 copyTo: file", function (done) { + var file1 = "entry copy.file1", + file2 = "entry copy.file2", + fullPath = joinURL(root.fullPath, file2); + // create a new file entry to kick off it + deleteEntry(file2, function () { + createFile(file1, function (fileEntry) { + // copy file1 to file2 + fileEntry.copyTo(root, file2, function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + expect(entry.name).toCanonicallyMatch(file2); + root.getFile(file2, { + create : false + }, function (entry2) { + expect(entry2).toBeDefined(); + expect(entry2.isFile).toBe(true); + expect(entry2.isDirectory).toBe(false); + expect(entry2.fullPath).toCanonicallyMatch(fullPath); + expect(entry2.name).toCanonicallyMatch(file2); + // cleanup + deleteEntry(file1, function () { + deleteEntry(file2, done); + }); + }, failed.bind(null, done, 'root.getFile - Error getting copied file : ' + file2)); + }, failed.bind(null, done, 'fileEntry.copyTo - Error copying file : ' + file2)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'deleteEntry - Error removing file : ' + file2)); + }); + it("file.spec.58 copyTo: file onto itself", function (done) { + var file1 = "entry.copy.fos.file1"; + // create a new file entry to kick off it + createFile(file1, function (entry) { + // copy file1 onto itself + entry.copyTo(root, null, succeed.bind(null, done, 'entry.copyTo - Unexpected success callback, it should not copy a null file'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + // cleanup + deleteEntry(file1, done); + }); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }); + it("file.spec.59 copyTo: directory", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.copy.srcDir", + dstDir = "entry.copy.dstDir", + dstPath = joinURL(root.fullPath, dstDir), + filePath = joinURL(dstPath, file1); + // create a new directory entry to kick off it + deleteEntry(dstDir, function () { + createDirectory(srcDir, function (directory) { + // create a file within new directory + directory.getFile(file1, { + create : true + }, function () { + directory.copyTo(root, dstDir, function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.fullPath).toCanonicallyMatch(dstPath); + expect(directory.name).toCanonicallyMatch(dstDir); + root.getDirectory(dstDir, { + create : false + }, function (dirEntry) { + expect(dirEntry).toBeDefined(); + expect(dirEntry.isFile).toBe(false); + expect(dirEntry.isDirectory).toBe(true); + expect(dirEntry.fullPath).toCanonicallyMatch(dstPath); + expect(dirEntry.name).toCanonicallyMatch(dstDir); + dirEntry.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.isFile).toBe(true); + expect(fileEntry.isDirectory).toBe(false); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + expect(fileEntry.name).toCanonicallyMatch(file1); + // cleanup + deleteEntry(srcDir, function () { + deleteEntry(dstDir, done); + }); + }, failed.bind(null, done, 'dirEntry.getFile - Error getting file : ' + file1)); + }, failed.bind(null, done, 'root.getDirectory - Error getting copied directory : ' + dstDir)); + }, failed.bind(null, done, 'directory.copyTo - Error copying directory : ' + srcDir + ' to :' + dstDir)); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.60 copyTo: directory to backup at same root directory", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.copy srcDirSame", + dstDir = "entry.copy srcDirSame-backup", + dstPath = joinURL(root.fullPath, dstDir), + filePath = joinURL(dstPath, file1); + // create a new directory entry to kick off it + deleteEntry(dstDir, function () { + createDirectory(srcDir, function (directory) { + directory.getFile(file1, { + create : true + }, function () { + directory.copyTo(root, dstDir, function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.fullPath).toCanonicallyMatch(dstPath); + expect(directory.name).toCanonicallyMatch(dstDir); + root.getDirectory(dstDir, { + create : false + }, function (dirEntry) { + expect(dirEntry).toBeDefined(); + expect(dirEntry.isFile).toBe(false); + expect(dirEntry.isDirectory).toBe(true); + expect(dirEntry.fullPath).toCanonicallyMatch(dstPath); + expect(dirEntry.name).toCanonicallyMatch(dstDir); + dirEntry.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.isFile).toBe(true); + expect(fileEntry.isDirectory).toBe(false); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + expect(fileEntry.name).toCanonicallyMatch(file1); + // cleanup + deleteEntry(srcDir, function () { + deleteEntry(dstDir, done); + }); + }, failed.bind(null, done, 'dirEntry.getFile - Error getting file : ' + file1)); + }, failed.bind(null, done, 'root.getDirectory - Error getting copied directory : ' + dstDir)); + }, failed.bind(null, done, 'directory.copyTo - Error copying directory : ' + srcDir + ' to :' + dstDir)); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.61 copyTo: directory onto itself", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.copy.dos.srcDir", + srcPath = joinURL(root.fullPath, srcDir), + filePath = joinURL(srcPath, file1); + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // create a file within new directory + directory.getFile(file1, { + create : true + }, function (fileEntry) { + // copy srcDir onto itself + directory.copyTo(root, null, succeed.bind(null, done, 'directory.copyTo - Unexpected success callback, it should not copy file: ' + srcDir + ' to a null destination'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + root.getDirectory(srcDir, { + create : false + }, function (dirEntry) { + expect(dirEntry).toBeDefined(); + expect(dirEntry.fullPath).toCanonicallyMatch(srcPath); + dirEntry.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(srcDir, done); + }, failed.bind(null, done, 'dirEntry.getFile - Error getting file : ' + file1)); + }, failed.bind(null, done, 'root.getDirectory - Error getting directory : ' + srcDir)); + }); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }); + it("file.spec.62 copyTo: directory into itself", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var srcDir = "entry.copy.dis.srcDir", + dstDir = "entry.copy.dis.dstDir", + srcPath = joinURL(root.fullPath, srcDir); + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // copy source directory into itself + directory.copyTo(directory, dstDir, succeed.bind(null, done, 'directory.copyTo - Unexpected success callback, it should not copy a directory ' + srcDir + ' into itself'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + root.getDirectory(srcDir, { + create : false + }, function (dirEntry) { + // returning confirms existence so just check fullPath entry + expect(dirEntry).toBeDefined(); + expect(dirEntry.fullPath).toCanonicallyMatch(srcPath); + // cleanup + deleteEntry(srcDir, done); + }, failed.bind(null, done, 'root.getDirectory - Error getting directory : ' + srcDir)); + }); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }); + it("file.spec.63 copyTo: directory that does not exist", function (done) { + var file1 = "entry.copy.dnf.file1", + dirName = 'dir-foo'; + createFile(file1, function (fileEntry) { + createDirectory(dirName, function (dirEntry) { + dirEntry.remove(function () { + fileEntry.copyTo(dirEntry, null, succeed.bind(null, done, 'fileEntry.copyTo - Unexpected success callback, it should not copy a file ' + file1 + ' into a removed directory'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }); + }, failed.bind(null, done, 'dirEntry.remove - Error removing directory : ' + dirName)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + dirName)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }); + it("file.spec.64 copyTo: invalid target name", function (done) { + if (isBrowser) { + /*The plugin does not follow ["8.3 Naming restrictions"] + (http://www.w3.org/TR/2011/WD-file-system-api-20110419/#naming-restrictions*/ + pending(); + } + + var file1 = "entry.copy.itn.file1", + file2 = "bad:file:name"; + // create a new file entry + createFile(file1, function (entry) { + // copy file1 to file2 + entry.copyTo(root, file2, succeed.bind(null, done, 'entry.copyTo - Unexpected success callback, it should not copy a file ' + file1 + ' to an invalid file name: ' + file2), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.ENCODING_ERR); + // cleanup + deleteEntry(file1, done); + }); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }); + it("file.spec.65 moveTo: file to same parent", function (done) { + var file1 = "entry.move.fsp.file1", + file2 = "entry.move.fsp.file2", + dstPath = joinURL(root.fullPath, file2); + // create a new file entry to kick off it + createFile(file1, function (entry) { + // move file1 to file2 + entry.moveTo(root, file2, function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.fullPath).toCanonicallyMatch(dstPath); + expect(entry.name).toCanonicallyMatch(file2); + root.getFile(file2, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(dstPath); + root.getFile(file1, { + create : false + }, succeed.bind(null, done, 'root.getFile - Unexpected success callback, it should not get invalid or moved file: ' + file1), function (error) { + //expect(navigator.fileMgr.testFileExists(srcPath) === false, "original file should not exist."); + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(file1, function () { + deleteEntry(file2, done); + }); + }); + }, failed.bind(null, done, 'root.getFile - Error getting file : ' + file2)); + }, failed.bind(null, done, 'entry.moveTo - Error moving file : ' + file1 + ' to root as: ' + file2)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }); + it("file.spec.66 moveTo: file to new parent", function (done) { + var file1 = "entry.move.fnp.file1", + dir = "entry.move.fnp.dir", + dstPath = joinURL(joinURL(root.fullPath, dir), file1); + // ensure destination directory is cleaned up first + deleteEntry(dir, function () { + // create a new file entry to kick off it + createFile(file1, function (entry) { + // create a parent directory to move file to + root.getDirectory(dir, { + create : true + }, function (directory) { + // move file1 to new directory + // move the file + entry.moveTo(directory, null, function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.fullPath).toCanonicallyMatch(dstPath); + expect(entry.name).toCanonicallyMatch(file1); + // test the moved file exists + directory.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(dstPath); + root.getFile(file1, { + create : false + }, succeed.bind(null, done, 'root.getFile - Unexpected success callback, it should not get invalid or moved file: ' + file1), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(file1, function () { + deleteEntry(dir, done); + }); + }); + }, failed.bind(null, done, 'directory.getFile - Error getting file : ' + file1 + ' from: ' + dir)); + }, failed.bind(null, done, 'entry.moveTo - Error moving file : ' + file1 + ' to: ' + dir + ' with the same name')); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dir)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dir)); + }); + it("file.spec.67 moveTo: directory to same parent", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.move.dsp.srcDir", + dstDir = "entry.move.dsp.dstDir", + srcPath = joinURL(root.fullPath, srcDir), + dstPath = joinURL(root.fullPath, dstDir), + filePath = joinURL(dstPath, file1); + // ensure destination directory is cleaned up before it + deleteEntry(dstDir, function () { + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // create a file within directory + directory.getFile(file1, { + create : true + }, function () { + // move srcDir to dstDir + directory.moveTo(root, dstDir, function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.fullPath).toCanonicallyMatch(dstPath); + expect(directory.name).toCanonicallyMatch(dstDir); + // test that moved file exists in destination dir + directory.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // check that the moved file no longer exists in original dir + root.getFile(file1, { + create : false + }, succeed.bind(null, done, 'directory.getFile - Unexpected success callback, it should not get invalid or moved file: ' + file1), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(srcDir, function() { + deleteEntry(dstDir, done); + }); + }); + }, failed.bind(null, done, 'directory.getFile - Error getting file : ' + file1 + ' from: ' + srcDir)); + }, failed.bind(null, done, 'entry.moveTo - Error moving directory : ' + srcDir + ' to root as: ' + dstDir)); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.68 moveTo: directory to same parent with same name", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.move.dsp.srcDir", + dstDir = "entry.move.dsp.srcDir-backup", + srcPath = joinURL(root.fullPath, srcDir), + dstPath = joinURL(root.fullPath, dstDir), + filePath = joinURL(dstPath, file1); + // ensure destination directory is cleaned up before it + deleteEntry(dstDir, function () { + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // create a file within directory + directory.getFile(file1, { + create : true + }, function () { + // move srcDir to dstDir + directory.moveTo(root, dstDir, function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.fullPath).toCanonicallyMatch(dstPath); + expect(directory.name).toCanonicallyMatch(dstDir); + // check that moved file exists in destination dir + directory.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // check that the moved file no longer exists in original dir + root.getFile(file1, { + create : false + }, succeed.bind(null, done, 'directory.getFile - Unexpected success callback, it should not get invalid or moved file: ' + file1), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(srcDir, function() { + deleteEntry(dstDir, done); + }); + }); + }, failed.bind(null, done, 'directory.getFile - Error getting file : ' + file1 + ' from: ' + srcDir)); + }, failed.bind(null, done, 'entry.moveTo - Error moving directory : ' + srcDir + ' to root as: ' + dstDir)); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.69 moveTo: directory to new parent", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.move.dnp.srcDir", + dstDir = "entry.move.dnp.dstDir", + srcPath = joinURL(root.fullPath, srcDir), + dstPath = joinURL(root.fullPath, dstDir), + filePath = joinURL(dstPath, file1); + // ensure destination directory is cleaned up before it + deleteEntry(dstDir, function () { + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // create a file within directory + directory.getFile(file1, { + create : true + }, function () { + // move srcDir to dstDir + directory.moveTo(root, dstDir, function (dirEntry) { + expect(dirEntry).toBeDefined(); + expect(dirEntry.isFile).toBe(false); + expect(dirEntry.isDirectory).toBe(true); + expect(dirEntry.fullPath).toCanonicallyMatch(dstPath); + expect(dirEntry.name).toCanonicallyMatch(dstDir); + // test that moved file exists in destination dir + dirEntry.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // test that the moved file no longer exists in original dir + root.getFile(file1, { + create : false + }, succeed.bind(null, done, 'root.getFile - Unexpected success callback, it should not get invalid or moved file: ' + file1), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(srcDir, function() { + deleteEntry(dstDir, done); + }); + }); + }, failed.bind(null, done, 'directory.getFile - Error getting file : ' + file1 + ' from: ' + dstDir)); + }, failed.bind(null, done, 'directory.moveTo - Error moving directory : ' + srcDir + ' to root as: ' + dstDir)); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.70 moveTo: directory onto itself", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.move.dos.srcDir", + srcPath = joinURL(root.fullPath, srcDir), + filePath = joinURL(srcPath, file1); + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // create a file within new directory + directory.getFile(file1, { + create : true + }, function () { + // move srcDir onto itself + directory.moveTo(root, null, succeed.bind(null, done, 'directory.moveTo - Unexpected success callback, it should not move directory to invalid path'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + // test that original dir still exists + root.getDirectory(srcDir, { + create : false + }, function (dirEntry) { + // returning confirms existence so just check fullPath entry + expect(dirEntry).toBeDefined(); + expect(dirEntry.fullPath).toCanonicallyMatch(srcPath); + dirEntry.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(srcDir, done); + }, failed.bind(null, done, 'dirEntry.getFile - Error getting file : ' + file1 + ' from: ' + srcDir)); + }, failed.bind(null, done, 'root.getDirectory - Error getting directory : ' + srcDir)); + }); + }, failed.bind(null, done, 'directory.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }); + it("file.spec.71 moveTo: directory into itself", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var srcDir = "entry.move.dis.srcDir", + dstDir = "entry.move.dis.dstDir", + srcPath = joinURL(root.fullPath, srcDir); + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // move source directory into itself + directory.moveTo(directory, dstDir, succeed.bind(null, done, 'directory.moveTo - Unexpected success callback, it should not move a directory into itself: ' + srcDir), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + // make sure original directory still exists + root.getDirectory(srcDir, { + create : false + }, function (entry) { + expect(entry).toBeDefined(); + expect(entry.fullPath).toCanonicallyMatch(srcPath); + // cleanup + deleteEntry(srcDir, done); + }, failed.bind(null, done, 'root.getDirectory - Error getting directory, making sure that original directory still exists: ' + srcDir)); + }); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }); + it("file.spec.130 moveTo: directory into similar directory", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var srcDir = "entry.move.dis.srcDir", + dstDir = "entry.move.dis.srcDir-backup", + srcPath = joinURL(root.fullPath, srcDir); + // create a new directory entry to kick off it + createDirectory(srcDir, function (srcDirEntry) { + deleteEntry(dstDir, function () { + createDirectory(dstDir, function (dstDirEntry) { + // move source directory into itself + srcDirEntry.moveTo(dstDirEntry, 'file', function (newDirEntry) { + expect(newDirEntry).toBeDefined(); + deleteEntry(dstDir, done); + }, failed.bind(null, done, 'directory.moveTo - Error moving a directory into a similarly-named directory: ' + srcDir)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + dstDir)); + }, failed.bind(null, done, 'deleteEntry - Error deleting directory : ' + dstDir)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }); + it("file.spec.72 moveTo: file onto itself", function (done) { + var file1 = "entry.move.fos.file1", + filePath = joinURL(root.fullPath, file1); + // create a new file entry to kick off it + createFile(file1, function (entry) { + // move file1 onto itself + entry.moveTo(root, null, succeed.bind(null, done, 'entry.moveTo - Unexpected success callback, it should not move a file: ' + file1 + ' into the same parent'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + //test that original file still exists + root.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(file1, done); + }, failed.bind(null, done, 'root.getFile - Error getting file, making sure that original file still exists: ' + file1)); + }); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }); + it("file.spec.73 moveTo: file onto existing directory", function (done) { + var file1 = "entry.move.fod.file1", + dstDir = "entry.move.fod.dstDir", + subDir = "subDir", + dirPath = joinURL(joinURL(root.fullPath, dstDir), subDir), + filePath = joinURL(root.fullPath, file1); + // ensure destination directory is cleaned up before it + deleteEntry(dstDir, function () { + // create a new file entry to kick off it + createFile(file1, function (entry) { + // create top level directory + root.getDirectory(dstDir, { + create : true + }, function (directory) { + // create sub-directory + directory.getDirectory(subDir, { + create : true + }, function (subDirectory) { + // move file1 onto sub-directory + entry.moveTo(directory, subDir, succeed.bind(null, done, 'entry.moveTo - Unexpected success callback, it should not move a file: ' + file1 + ' into directory: ' + dstDir + '\n' + subDir + ' directory already exists'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + // check that original dir still exists + directory.getDirectory(subDir, { + create : false + }, function (dirEntry) { + expect(dirEntry).toBeDefined(); + expect(dirEntry.fullPath).toCanonicallyMatch(dirPath); + // check that original file still exists + root.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(file1, function () { + deleteEntry(dstDir, done); + }); + }, failed.bind(null, done, 'root.getFile - Error getting file, making sure that original file still exists: ' + file1)); + }, failed.bind(null, done, 'directory.getDirectory - Error getting directory, making sure that original directory still exists: ' + subDir)); + }); + }, failed.bind(null, done, 'directory.getDirectory - Error creating directory : ' + subDir)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory : ' + dstDir)); + }, failed.bind(null, done, 'createFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.74 moveTo: directory onto existing file", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "entry.move.dof.file1", + srcDir = "entry.move.dof.srcDir", + dirPath = joinURL(root.fullPath, srcDir), + filePath = joinURL(root.fullPath, file1); + // create a new directory entry to kick off it + createDirectory(srcDir, function (entry) { + // create file + root.getFile(file1, { + create : true + }, function (fileEntry) { + // move directory onto file + entry.moveTo(root, file1, succeed.bind(null, done, 'entry.moveTo - Unexpected success callback, it should not move : \n' + srcDir + ' into root directory renamed as ' + file1 + '\n' + file1 + ' file already exists'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + // test that original directory exists + root.getDirectory(srcDir, { + create : false + }, function (dirEntry) { + // returning confirms existence so just check fullPath entry + expect(dirEntry).toBeDefined(); + expect(dirEntry.fullPath).toCanonicallyMatch(dirPath); + // test that original file exists + root.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(file1, function () { + deleteEntry(srcDir, done); + }); + }, failed.bind(null, done, 'root.getFile - Error getting file, making sure that original file still exists: ' + file1)); + }, failed.bind(null, done, 'directory.getDirectory - Error getting directory, making sure that original directory still exists: ' + srcDir)); + }); + }, failed.bind(null, done, 'root.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }); + it("file.spec.75 copyTo: directory onto existing file", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "entry.copy.dof.file1", + srcDir = "entry.copy.dof.srcDir", + dirPath = joinURL(root.fullPath, srcDir), + filePath = joinURL(root.fullPath, file1); + // create a new directory entry to kick off it + createDirectory(srcDir, function (entry) { + // create file + root.getFile(file1, { + create : true + }, function () { + // copy directory onto file + entry.copyTo(root, file1, succeed.bind(null, done, 'entry.copyTo - Unexpected success callback, it should not copy : \n' + srcDir + ' into root directory renamed as ' + file1 + '\n' + file1 + ' file already exists'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + //check that original dir still exists + root.getDirectory(srcDir, { + create : false + }, function (dirEntry) { + // returning confirms existence so just check fullPath entry + expect(dirEntry).toBeDefined(); + expect(dirEntry.fullPath).toCanonicallyMatch(dirPath); + // test that original file still exists + root.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // cleanup + deleteEntry(file1, function () { + deleteEntry(srcDir, done); + }); + }, failed.bind(null, done, 'root.getFile - Error getting file, making sure that original file still exists: ' + file1)); + }, failed.bind(null, done, 'root.getDirectory - Error getting directory, making sure that original directory still exists: ' + srcDir)); + }); + }, failed.bind(null, done, 'root.getFile - Error creating file : ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }); + it("file.spec.76 moveTo: directory onto directory that is not empty", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var srcDir = "entry.move.dod.srcDir", + dstDir = "entry.move.dod.dstDir", + subDir = "subDir", + srcPath = joinURL(root.fullPath, srcDir), + dstPath = joinURL(joinURL(root.fullPath, dstDir), subDir); + // ensure destination directory is cleaned up before it + deleteEntry(dstDir, function () { + // create a new file entry to kick off it + createDirectory(srcDir, function (entry) { + // create top level directory + root.getDirectory(dstDir, { + create : true + }, function (directory) { + // create sub-directory + directory.getDirectory(subDir, { + create : true + }, function () { + // move srcDir onto dstDir (not empty) + entry.moveTo(root, dstDir, succeed.bind(null, done, 'entry.moveTo - Unexpected success callback, it should not copy : \n' + srcDir + ' into root directory renamed as ' + dstDir + '\n' + dstDir + ' directory already exists'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + // making sure destination directory still exists + directory.getDirectory(subDir, { + create : false + }, function (dirEntry) { + // returning confirms existence so just check fullPath entry + expect(dirEntry).toBeDefined(); + expect(dirEntry.fullPath).toCanonicallyMatch(dstPath); + // making sure source directory exists + root.getDirectory(srcDir, { + create : false + }, function (srcEntry) { + expect(srcEntry).toBeDefined(); + expect(srcEntry.fullPath).toCanonicallyMatch(srcPath); + // cleanup + deleteEntry(srcDir, function () { + deleteEntry(dstDir, done); + }); + }, failed.bind(null, done, 'root.getDirectory - Error getting directory, making sure that original directory still exists: ' + srcDir)); + }, failed.bind(null, done, 'directory.getDirectory - Error getting directory, making sure that original directory still exists: ' + subDir)); + }); + }, failed.bind(null, done, 'directory.getDirectory - Error creating directory : ' + subDir)); + }, failed.bind(null, done, 'directory.getDirectory - Error creating directory : ' + subDir)); + }, failed.bind(null, done, 'createDirectory - Error creating directory : ' + srcDir)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.77 moveTo: file replace existing file", function (done) { + var file1 = "entry.move.frf.file1", + file2 = "entry.move.frf.file2", + file1Path = joinURL(root.fullPath, file1), + file2Path = joinURL(root.fullPath, file2); + // create a new directory entry to kick off it + createFile(file1, function (entry) { + // create file + root.getFile(file2, { + create : true + }, function () { + // replace file2 with file1 + entry.moveTo(root, file2, function (entry2) { + expect(entry2).toBeDefined(); + expect(entry2.isFile).toBe(true); + expect(entry2.isDirectory).toBe(false); + expect(entry2.fullPath).toCanonicallyMatch(file2Path); + expect(entry2.name).toCanonicallyMatch(file2); + // old file should not exists + root.getFile(file1, { + create : false + }, succeed.bind(null, done, 'root.getFile - Unexpected success callback, file: ' + file1 + ' should not exists'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // test that new file exists + root.getFile(file2, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(file2Path); + // cleanup + deleteEntry(file1, function () { + deleteEntry(file2, done); + }); + }, failed.bind(null, done, 'root.getFile - Error getting moved file: ' + file2)); + }); + }, failed.bind(null, done, 'entry.moveTo - Error moving file : ' + file1 + ' to root as: ' + file2)); + }, failed.bind(null, done, 'root.getFile - Error creating file: ' + file2)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + file1)); + }); + it("file.spec.78 moveTo: directory replace empty directory", function (done) { + if (isIndexedDBShim) { + /* `copyTo` and `moveTo` functions do not support directories (Firefox, IE) */ + pending(); + } + + var file1 = "file1", + srcDir = "entry.move.drd.srcDir", + dstDir = "entry.move.drd.dstDir", + srcPath = joinURL(root.fullPath, srcDir), + dstPath = joinURL(root.fullPath, dstDir), + filePath = dstPath + '/' + file1; + // ensure destination directory is cleaned up before it + deleteEntry(dstDir, function () { + // create a new directory entry to kick off it + createDirectory(srcDir, function (directory) { + // create a file within source directory + directory.getFile(file1, { + create : true + }, function () { + // create destination directory + root.getDirectory(dstDir, { + create : true + }, function () { + // move srcDir to dstDir + directory.moveTo(root, dstDir, function (dirEntry) { + expect(dirEntry).toBeDefined(); + expect(dirEntry.isFile).toBe(false); + expect(dirEntry.isDirectory).toBe(true); + expect(dirEntry.fullPath).toCanonicallyMatch(dstPath); + expect(dirEntry.name).toCanonicallyMatch(dstDir); + // check that old directory contents have been moved + dirEntry.getFile(file1, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.fullPath).toCanonicallyMatch(filePath); + // check that old directory no longer exists + root.getDirectory(srcDir, { + create : false + }, succeed.bind(null, done, 'root.getDirectory - Unexpected success callback, directory: ' + srcDir + ' should not exists'), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + // cleanup + deleteEntry(srcDir, function () { + deleteEntry(dstDir, done); + }); + }); + }, failed.bind(null, done, 'dirEntry.getFile - Error getting moved file: ' + file1)); + }, failed.bind(null, done, 'entry.moveTo - Error moving directory : ' + srcDir + ' to root as: ' + dstDir)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory: ' + dstDir)); + }, failed.bind(null, done, 'root.getFile - Error creating file: ' + file1)); + }, failed.bind(null, done, 'createDirectory - Error creating directory: ' + srcDir)); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }); + it("file.spec.79 moveTo: directory that does not exist", function (done) { + + var file1 = "entry.move.dnf.file1", + dstDir = "entry.move.dnf.dstDir", + dstPath = joinURL(root.fullPath, dstDir); + // create a new file entry to kick off it + createFile(file1, function (entry) { + // move file to directory that does not exist + directory = new DirectoryEntry(); + directory.filesystem = root.filesystem; + directory.fullPath = dstPath; + entry.moveTo(directory, null, succeed.bind(null, done, 'entry.moveTo - Unexpected success callback, parent directory: ' + dstPath + ' should not exists'), function (error) { + expect(error).toBeDefined(); + if (isChrome) { + /*INVALID_MODIFICATION_ERR (code: 9) is thrown instead of NOT_FOUND_ERR(code: 1) + on trying to moveTo directory that does not exist.*/ + expect(error).toBeFileError(FileError.INVALID_MODIFICATION_ERR); + } else { + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + } + // cleanup + deleteEntry(file1, done); + }); + }, failed.bind(null, done, 'createFile - Error creating file: ' + file1)); + }); + it("file.spec.80 moveTo: invalid target name", function (done) { + if (isBrowser) { + /*The plugin does not follow ["8.3 Naming restrictions"] + (http://www.w3.org/TR/2011/WD-file-system-api-20110419/#naming-restrictions*/ + pending(); + } + + var file1 = "entry.move.itn.file1", + file2 = "bad:file:name"; + // create a new file entry to kick off it + createFile(file1, function (entry) { + // move file1 to file2 + entry.moveTo(root, file2, succeed.bind(null, done, 'entry.moveTo - Unexpected success callback, : ' + file1 + ' to root as: ' + file2), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.ENCODING_ERR); + // cleanup + deleteEntry(file1, done); + }); + }, failed.bind(null, done, 'createFile - Error creating file: ' + file1)); + }); + }); + //Entry + describe('FileReader', function () { + it("file.spec.81 should have correct methods", function () { + var reader = new FileReader(); + expect(reader).toBeDefined(); + expect(typeof reader.readAsBinaryString).toBe('function'); + expect(typeof reader.readAsDataURL).toBe('function'); + expect(typeof reader.readAsText).toBe('function'); + expect(typeof reader.readAsArrayBuffer).toBe('function'); + expect(typeof reader.abort).toBe('function'); + expect(reader.result).toBe(null); + }); + }); + //FileReader + describe('Read method', function () { + it("file.spec.82 should error out on non-existent file", function (done) { + var fileName = cordova.platformId === 'windowsphone' ? root.toURL() + "/" + "somefile.txt" : "somefile.txt", + verifier = function (evt) { + expect(evt).toBeDefined(); + expect(evt.target.error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }; + root.getFile(fileName, { + create : true + }, function (entry) { + entry.file(function (file) { + deleteEntry(fileName, function () { + //Create FileReader + var reader = new FileReader(); + reader.onerror = verifier; + reader.onload = succeed.bind(null, done, 'reader.onload - Unexpected success callback, file: ' + fileName + ' it should not exists'); + reader.readAsText(file); + }, failed.bind(null, done, 'deleteEntry - Error removing file: ' + fileName)); + }, failed.bind(null, done, 'entry.file - Error reading file: ' + fileName)); + }, failed.bind(null, done, 'root.getFile - Error creating file: ' + fileName)); + }); + it("file.spec.83 should be able to read native blob objects", function (done) { + // Skip test if blobs are not supported (e.g.: Android 2.3). + if (typeof window.Blob == 'undefined' || typeof window.Uint8Array == 'undefined') { + expect(true).toFailWithMessage('Platform does not supported this feature'); + done(); + } + var contents = 'asdf'; + var uint8Array = new Uint8Array(contents.length); + for (var i = 0; i < contents.length; ++i) { + uint8Array[i] = contents.charCodeAt(i); + } + var Builder = window.BlobBuilder || window.WebKitBlobBuilder; + var blob; + if (Builder) { + var builder = new Builder(); + builder.append(uint8Array.buffer); + builder.append(contents); + blob = builder.getBlob("text/plain"); + } else { + try { + // iOS 6 does not support Views, so pass in the buffer. + blob = new Blob([uint8Array.buffer, contents]); + } catch (e) { + // Skip the test if we can't create a blob (e.g.: iOS 5). + if (e instanceof TypeError) { + expect(true).toFailWithMessage('Platform does not supported this feature'); + done(); + } + throw e; + } + } + var verifier = function (evt) { + expect(evt).toBeDefined(); + expect(evt.target.result).toBe('asdfasdf'); + done(); + }; + var reader = new FileReader(); + reader.onloadend = verifier; + reader.readAsText(blob); + }); + function writeDummyFile(writeBinary, callback, done, fileContents) { + var fileName = "dummy.txt", + fileEntry = null, + // use default string if file data is not provided + fileData = fileContents !== undefined ? fileContents : + '\u20AC\xEB - There is an exception to every rule. Except this one.', + fileDataAsBinaryString = fileContents !== undefined ? fileContents : + '\xe2\x82\xac\xc3\xab - There is an exception to every rule. Except this one.', + createWriter = function (fe) { + fileEntry = fe; + fileEntry.createWriter(writeFile, failed.bind(null, done, 'fileEntry.createWriter - Error reading file: ' + fileName)); + }, // writes file and reads it back in + writeFile = function (writer) { + writer.onwriteend = function () { + fileEntry.file(function (f) { + callback(fileEntry, f, fileData, fileDataAsBinaryString); + }, failed.bind(null, done, 'writer.onwriteend - Error writing data on file: ' + fileName)); + }; + writer.write(fileData); + }; + fileData += writeBinary ? 'bin:\x01\x00' : ''; + fileDataAsBinaryString += writeBinary ? 'bin:\x01\x00' : ''; + // create a file, write to it, and read it in again + createFile(fileName, createWriter, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + } + function runReaderTest(funcName, writeBinary, done, verifierFunc, sliceStart, sliceEnd, fileContents) { + writeDummyFile(writeBinary, function (fileEntry, file, fileData, fileDataAsBinaryString) { + var verifier = function (evt) { + expect(evt).toBeDefined(); + verifierFunc(evt, fileData, fileDataAsBinaryString); + }; + var reader = new FileReader(); + reader.onload = verifier; + reader.onerror = failed.bind(null, done, 'reader.onerror - Error reading file: ' + file + ' using function: ' + funcName); + if (sliceEnd !== undefined) { + // 'type' is specified so that is will be preserved in the resulting file: + // http://www.w3.org/TR/FileAPI/#slice-method-algo -> "6.4.1. The slice method" -> 4. A), 6. c) + file = file.slice(sliceStart, sliceEnd, file.type); + } else if (sliceStart !== undefined) { + file = file.slice(sliceStart, file.size, file.type); + } + reader[funcName](file); + }, done, fileContents); + } + function arrayBufferEqualsString(ab, str) { + var buf = new Uint8Array(ab); + var match = buf.length == str.length; + for (var i = 0; match && i < buf.length; i++) { + match = buf[i] == str.charCodeAt(i); + } + return match; + } + it("file.spec.84 should read file properly, readAsText", function (done) { + runReaderTest('readAsText', false, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toBe(fileData); + done(); + }); + }); + it("file.spec.84.1 should read JSON file properly, readAsText", function (done) { + var testObject = {key1: "value1", key2: 2}; + runReaderTest('readAsText', false, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toEqual(JSON.stringify(testObject)); + done(); + }, undefined, undefined, JSON.stringify(testObject)); + }); + it("file.spec.85 should read file properly, Data URI", function (done) { + runReaderTest('readAsDataURL', true, done, function (evt, fileData, fileDataAsBinaryString) { + /* `readAsDataURL` function is supported, but the mediatype in Chrome depends on entry name extension, + mediatype in IE is always empty (which is the same as `text-plain` according the specification), + the mediatype in Firefox is always `application/octet-stream`. + For example, if the content is `abcdefg` then Firefox returns `data:application/octet-stream;base64,YWJjZGVmZw==`, + IE returns `data:;base64,YWJjZGVmZw==`, Chrome returns `data:;base64,YWJjZGVmZw==`. */ + expect(evt.target.result).toBeDataUrl(); + + //The atob function it is completely ignored during mobilespec execution, besides the returned object: evt + //it is encoded and the atob function is aimed to decode a string. Even with btoa (encode) the function it gets stucked + //because of the Unicode characters that contains the fileData object. + //Issue reported at JIRA with all the details: CB-7095 + + //expect(evt.target.result.slice(23)).toBe(atob(fileData)); + + done(); + }); + }); + it("file.spec.86 should read file properly, readAsBinaryString", function (done) { + if (isIE) { + /*`readAsBinaryString` function is not supported by IE and has not the stub.*/ + pending(); + } + + runReaderTest('readAsBinaryString', true, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toBe(fileDataAsBinaryString); + done(); + }); + }); + it("file.spec.87 should read file properly, readAsArrayBuffer", function (done) { + // Skip test if ArrayBuffers are not supported (e.g.: Android 2.3). + if (typeof window.ArrayBuffer == 'undefined') { + expect(true).toFailWithMessage('Platform does not supported this feature'); + done(); + } + runReaderTest('readAsArrayBuffer', true, done, function (evt, fileData, fileDataAsBinaryString) { + expect(arrayBufferEqualsString(evt.target.result, fileDataAsBinaryString)).toBe(true); + done(); + }); + }); + it("file.spec.88 should read sliced file: readAsText", function (done) { + runReaderTest('readAsText', false, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toBe(fileDataAsBinaryString.slice(10, 40)); + done(); + }, 10, 40); + }); + it("file.spec.89 should read sliced file: slice past eof", function (done) { + runReaderTest('readAsText', false, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toBe(fileData.slice(-5, 9999)); + done(); + }, -5, 9999); + }); + it("file.spec.90 should read sliced file: slice to eof", function (done) { + runReaderTest('readAsText', false, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toBe(fileData.slice(-5)); + done(); + }, -5); + }); + it("file.spec.91 should read empty slice", function (done) { + runReaderTest('readAsText', false, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toBe(''); + done(); + }, 0, 0); + }); + it("file.spec.92 should read sliced file properly, readAsDataURL", function (done) { + runReaderTest('readAsDataURL', true, done, function (evt, fileData, fileDataAsBinaryString) { + /* `readAsDataURL` function is supported, but the mediatype in Chrome depends on entry name extension, + mediatype in IE is always empty (which is the same as `text-plain` according the specification), + the mediatype in Firefox is always `application/octet-stream`. + For example, if the content is `abcdefg` then Firefox returns `data:application/octet-stream;base64,YWJjZGVmZw==`, + IE returns `data:;base64,YWJjZGVmZw==`, Chrome returns `data:;base64,YWJjZGVmZw==`. */ + expect(evt.target.result).toBeDataUrl(); + + //The atob function it is completely ignored during mobilespec execution, besides the returned object: evt + //it is encoded and the atob function is aimed to decode a string. Even with btoa (encode) the function it gets stucked + //because of the Unicode characters that contains the fileData object. + //Issue reported at JIRA with all the details: CB-7095 + + //expect(evt.target.result.slice(23)).toBe(atob(fileDataAsBinaryString.slice(10, -3))); + + done(); + }, 10, -3); + }); + it("file.spec.93 should read sliced file properly, readAsBinaryString", function (done) { + if (isIE) { + /*`readAsBinaryString` function is not supported by IE and has not the stub.*/ + pending(); + } + + runReaderTest('readAsBinaryString', true, done, function (evt, fileData, fileDataAsBinaryString) { + expect(evt.target.result).toBe(fileDataAsBinaryString.slice(-10, -5)); + done(); + }, -10, -5); + }); + it("file.spec.94 should read sliced file properly, readAsArrayBuffer", function (done) { + // Skip test if ArrayBuffers are not supported (e.g.: Android 2.3). + if (typeof window.ArrayBuffer == 'undefined') { + expect(true).toFailWithMessage('Platform does not supported this feature'); + done(); + } + runReaderTest('readAsArrayBuffer', true, done, function (evt, fileData, fileDataAsBinaryString) { + expect(arrayBufferEqualsString(evt.target.result, fileDataAsBinaryString.slice(0, -1))).toBe(true); + done(); + }, 0, -1); + }); + }); + //Read method + describe('FileWriter', function () { + it("file.spec.95 should have correct methods", function (done) { + // retrieve a FileWriter object + var fileName = "writer.methods"; + // FileWriter + root.getFile(fileName, { + create : true + }, function (fileEntry) { + fileEntry.createWriter(function (writer) { + expect(writer).toBeDefined(); + expect(typeof writer.write).toBe('function'); + expect(typeof writer.seek).toBe('function'); + expect(typeof writer.truncate).toBe('function'); + expect(typeof writer.abort).toBe('function'); + // cleanup + deleteFile(fileName, done); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'root.getFile - Error creating file: ' + fileName)); + }); + it("file.spec.96 should be able to write and append to file, createWriter", function (done) { + var fileName = "writer.append.createWriter", // file content + content = "There is an exception to every rule.", // for checkin file length + exception = " Except this one.", + length = content.length; + // create file, then write and append to it + createFile(fileName, function (fileEntry) { + // writes initial file content + fileEntry.createWriter(function (writer) { + //Verifiers declaration + var verifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // Append some more data + writer.onwriteend = secondVerifier; + length += exception.length; + writer.seek(writer.length); + writer.write(exception); + }, + secondVerifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + var reader = new FileReader(); + reader.onloadend = thirdVerifier; + reader.onerror = failed.bind(null, done, 'reader.onerror - Error reading file: ' + fileName); + fileEntry.file(function(f){reader.readAsText(f);}); + }, + thirdVerifier = function (evt) { + expect(evt.target.result).toBe(content+exception); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.97 should be able to write and append to file, File object", function (done) { + var fileName = "writer.append.File", // file content + content = "There is an exception to every rule.", // for checkin file length + exception = " Except this one.", + length = content.length; + root.getFile(fileName, { + create : true + }, function (fileEntry) { + fileEntry.createWriter(function (writer) { + //Verifiers declaration + var verifier = function () { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // Append some more data + writer.onwriteend = secondVerifier; + length += exception.length; + writer.seek(writer.length); + writer.write(exception); + }, + secondVerifier = function () { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + var reader = new FileReader(); + reader.onloadend = thirdVerifier; + reader.onerror = failed.bind(null, done, 'reader.onerror - Error reading file: ' + fileName); + fileEntry.file(function(f){reader.readAsText(f);}); + }, + thirdVerifier = function (evt) { + expect(evt.target.result).toBe(content+exception); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'root.getFile - Error creating file: ' + fileName)); + }); + it("file.spec.98 should be able to seek to the middle of the file and write more data than file.length", function (done) { + var fileName = "writer.seek.write", // file content + content = "This is our sentence.", // for checking file length + exception = "newer sentence.", + length = content.length; + // create file, then write and append to it + createFile(fileName, function (fileEntry) { + fileEntry.createWriter(function (writer) { + //Verifiers declaration + var verifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // Append some more data + writer.onwriteend = secondVerifier; + length = 12 + exception.length; + writer.seek(12); + writer.write(exception); + }, + secondVerifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + var reader = new FileReader(); + reader.onloadend = thirdVerifier; + reader.onerror = failed.bind(null, done, 'reader.onerror - Error reading file: ' + fileName); + fileEntry.file(function(f){reader.readAsText(f);}); + }, + thirdVerifier = function (evt) { + expect(evt.target.result).toBe(content.substr(0,12)+exception); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.99 should be able to seek to the middle of the file and write less data than file.length", function (done) { + if (isChrome) { + /* Chrome (re)writes as follows: "This is our sentence." -> "This is new.sentence.", + i.e. the length is not being changed from content.length and writer length will be equal 21 */ + pending(); + } + + var fileName = "writer.seek.write2", // file content + content = "This is our sentence.", // for checking file length + exception = "new.", + length = content.length; + // create file, then write and append to it + createFile(fileName, function (fileEntry) { + fileEntry.createWriter(function (writer) { + // Verifiers declaration + var verifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // Append some more data + writer.onwriteend = secondVerifier; + length = 8 + exception.length; + writer.seek(8); + writer.write(exception); + }, + secondVerifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + var reader = new FileReader(); + reader.onloadend = thirdVerifier; + reader.onerror = failed.bind(null, done, 'reader.onerror - Error reading file: ' + fileName); + fileEntry.file(function(f){reader.readAsText(f);}); + }, + thirdVerifier = function (evt) { + expect(evt.target.result).toBe(content.substr(0,8)+exception); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.100 should be able to write XML data", function (done) { + var fileName = "writer.xml", // file content + content = '\n\nData\n\n', // for testing file length + length = content.length; + // creates file, then write XML data + createFile(fileName, function (fileEntry) { + fileEntry.createWriter(function (writer) { + //Verifier content + var verifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.101 should be able to write JSON data", function (done) { + var fileName = "writer.json", // file content + content = '{ "name": "Guy Incognito", "email": "here@there.com" }', // for testing file length + length = content.length; + // creates file, then write JSON content + createFile(fileName, function (fileEntry) { + fileEntry.createWriter(function (writer) { + //Verifier declaration + var verifier = function (evt) { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.102 should be able to seek", function (done) { + var fileName = "writer.seek", // file content + content = "There is an exception to every rule. Except this one.", // for testing file length + length = content.length; + // creates file, then write JSON content + createFile(fileName, function (fileEntry) { + // writes file content and tests writer.seek + fileEntry.createWriter(function (writer) { + //Verifier declaration + var verifier = function () { + expect(writer.position).toBe(length); + writer.seek(-5); + expect(writer.position).toBe(length - 5); + writer.seek(length + 100); + expect(writer.position).toBe(length); + writer.seek(10); + expect(writer.position).toBe(10); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.seek(-100); + expect(writer.position).toBe(0); + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.103 should be able to truncate", function (done) { + if (isIndexedDBShim) { + /* `abort` and `truncate` functions are not supported (Firefox, IE) */ + pending(); + } + + var fileName = "writer.truncate", + content = "There is an exception to every rule. Except this one."; + // creates file, writes to it, then truncates it + createFile(fileName, function (fileEntry) { + fileEntry.createWriter(function (writer) { + // Verifier declaration + var verifier = function () { + expect(writer.length).toBe(36); + expect(writer.position).toBe(36); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = function () { + //Truncate process after write + writer.onwriteend = verifier; + writer.truncate(36); + }; + writer.write(content); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.104 should be able to write binary data from an ArrayBuffer", function (done) { + // Skip test if ArrayBuffers are not supported (e.g.: Android 2.3). + if (typeof window.ArrayBuffer == 'undefined') { + expect(true).toFailWithMessage('Platform does not supported this feature'); + done(); + return; + } + var fileName = "bufferwriter.bin", // file content + data = new ArrayBuffer(32), + dataView = new Int8Array(data), // for verifying file length + length = 32; + for (i = 0; i < dataView.length; i++) { + dataView[i] = i; + } + // creates file, then write content + createFile(fileName, function (fileEntry) { + // writes file content + fileEntry.createWriter(function (writer) { + //Verifier declaration + var verifier = function () { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(data); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.105 should be able to write binary data from a Blob", function (done) { + // Skip test if Blobs are not supported (e.g.: Android 2.3). + if ((typeof window.Blob == 'undefined' && typeof window.WebKitBlobBuilder == 'undefined') || typeof window.ArrayBuffer == 'undefined') { + expect(true).toFailWithMessage('Platform does not supported this feature'); + done(); + return; + } + var fileName = "blobwriter.bin", // file content + data = new ArrayBuffer(32), + dataView = new Int8Array(data), + blob, // for verifying file length + length = 32; + for (i = 0; i < dataView.length; i++) { + dataView[i] = i; + } + try { + // Mobile Safari: Use Blob constructor + blob = new Blob([data], { + "type" : "application/octet-stream" + }); + } catch (e) { + if (window.WebKitBlobBuilder) { + // Android Browser: Use deprecated BlobBuilder + var builder = new WebKitBlobBuilder(); + builder.append(data); + blob = builder.getBlob('application/octet-stream'); + } else { + // We have no way defined to create a Blob, so fail + fail(); + } + } + if (typeof blob !== 'undefined') { + // creates file, then write content + createFile(fileName, function (fileEntry) { + fileEntry.createWriter(function (writer) { + //Verifier declaration + var verifier = function () { + expect(writer.length).toBe(length); + expect(writer.position).toBe(length); + // cleanup + deleteFile(fileName, done); + }; + //Write process + writer.onwriteend = verifier; + writer.write(blob); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + } + }); + it("file.spec.106 should be able to write a File to a FileWriter", function (done) { + var dummyFileName = 'dummy.txt', + outputFileName = 'verify.txt', + dummyFileText = 'This text should be written to two files', + verifier = function (outputFileWriter) { + expect(outputFileWriter.length).toBe(dummyFileText.length); + expect(outputFileWriter.position).toBe(dummyFileText.length); + deleteFile(outputFileName, done); + }, + writeFile = function (fileName, fileData, win) { + var theWriter, + filePath = joinURL(root.fullPath, fileName), // writes file content to new file + write_file = function (fileEntry) { + writerEntry = fileEntry; + fileEntry.createWriter(function (writer) { + theWriter = writer; + writer.onwriteend = function (ev) { + if (typeof fileData.length !== "undefined") { + expect(theWriter.length).toBe(fileData.length); + expect(theWriter.position).toBe(fileData.length); + } + win(theWriter); + }; + writer.onerror = failed.bind(null, done, 'writer.onerror - Error writing content on file: ' + fileName); + writer.write(fileData); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }; + createFile(fileName, write_file, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }, + openFile = function (fileName, callback) { + root.getFile(fileName, { + create : false + }, function (fileEntry) { + fileEntry.file(callback, failed.bind(null, done, 'fileEntry.file - Error reading file using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'root.getFile - Error getting file: ' + fileName)); + }; + writeFile(dummyFileName, dummyFileText, function (dummyFileWriter) { + openFile(dummyFileName, function (file) { + writeFile(outputFileName, file, verifier); + }); + }); + }); + it("file.spec.107 should be able to write a sliced File to a FileWriter", function (done) { + var dummyFileName = 'dummy2.txt', + outputFileName = 'verify2.txt', + dummyFileText = 'This text should be written to two files', + verifier = function (outputFileWriter) { + expect(outputFileWriter.length).toBe(10); + expect(outputFileWriter.position).toBe(10); + deleteFile(outputFileName, done); + }, + writeFile = function (fileName, fileData, win) { + var theWriter, + filePath = joinURL(root.fullPath, fileName), // writes file content to new file + write_file = function (fileEntry) { + writerEntry = fileEntry; + fileEntry.createWriter(function (writer) { + theWriter = writer; + writer.onwriteend = function (ev) { + if (typeof fileData.length !== "undefined") { + expect(theWriter.length).toBe(fileData.length); + expect(theWriter.position).toBe(fileData.length); + } + win(theWriter); + }; + writer.onerror = failed.bind(null, done, 'writer.onerror - Error writing content on file: ' + fileName); + writer.write(fileData); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }; + createFile(fileName, write_file, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }, + openFile = function (fileName, callback) { + root.getFile(fileName, { + create : false + }, function (fileEntry) { + fileEntry.file(callback, failed.bind(null, done, 'fileEntry.file - Error reading file using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'root.getFile - Error getting file: ' + fileName)); + }; + writeFile(dummyFileName, dummyFileText, function (dummyFileWriter) { + openFile(dummyFileName, function (file) { + writeFile(outputFileName, file.slice(10, 20), verifier); + }); + }); + }); + it("file.spec.108 should be able to write binary data from a File", function (done) { + // Skip test if Blobs are not supported (e.g.: Android 2.3). + if (typeof window.Blob == 'undefined' && typeof window.WebKitBlobBuilder == 'undefined') { + expect(true).toFailWithMessage('Platform does not supported this feature'); + done(); + } + var dummyFileName = "blobwriter.bin", + outputFileName = 'verify.bin', // file content + data = new ArrayBuffer(32), + dataView = new Int8Array(data), + blob, // for verifying file length + length = 32, + verifier = function (outputFileWriter) { + expect(outputFileWriter.length).toBe(length); + expect(outputFileWriter.position).toBe(length); + // cleanup + deleteFile(outputFileName); + done(); + }, + writeFile = function (fileName, fileData, win) { + var theWriter, + filePath = joinURL(root.fullPath, fileName), // writes file content to new file + write_file = function (fileEntry) { + writerEntry = fileEntry; + fileEntry.createWriter(function (writer) { + theWriter = writer; + writer.onwriteend = function (ev) { + if (typeof fileData.length !== "undefined") { + expect(theWriter.length).toBe(fileData.length); + expect(theWriter.position).toBe(fileData.length); + } + win(theWriter); + }; + writer.onerror = failed.bind(null, done, 'writer.onerror - Error writing content on file: ' + fileName); + writer.write(fileData); + }, failed.bind(null, done, 'fileEntry.createWriter - Error creating writer using fileEntry: ' + fileEntry.name)); + }; + createFile(fileName, write_file, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }, + openFile = function (fileName, callback) { + root.getFile(fileName, { + create : false + }, function (fileEntry) { + fileEntry.file(callback, failed.bind(null, done, 'fileEntry.file - Error reading file using fileEntry: ' + fileEntry.name)); + }, failed.bind(null, done, 'root.getFile - Error getting file: ' + fileName)); + }; + for (i = 0; i < dataView.length; i++) { + dataView[i] = i; + } + try { + // Mobile Safari: Use Blob constructor + blob = new Blob([data], { + "type" : "application/octet-stream" + }); + } catch (e) { + if (window.WebKitBlobBuilder) { + // Android Browser: Use deprecated BlobBuilder + var builder = new WebKitBlobBuilder(); + builder.append(data); + blob = builder.getBlob('application/octet-stream'); + } else { + // We have no way defined to create a Blob, so fail + fail(); + } + } + if (typeof blob !== 'undefined') { + // creates file, then write content + writeFile(dummyFileName, blob, function (dummyFileWriter) { + openFile(dummyFileName, function (file) { + writeFile(outputFileName, file, verifier); + }); + }); + } + }); + }); + //FileWritter + describe('Backwards compatibility', function () { + /* These specs exist to test that the File plugin can still recognize file:/// + * URLs, and can resolve them to FileEntry and DirectoryEntry objects. + * They rely on an undocumented interface to File which provides absolute file + * paths, which are not used internally anymore. + * If that interface is not present, then these tests will silently succeed. + */ + it("file.spec.109 should be able to resolve a file:/// URL", function (done) { + var localFilename = 'file.txt'; + var originalEntry; + root.getFile(localFilename, { + create : true + }, function (entry) { + originalEntry = entry; + /* This is an undocumented interface to File which exists only for testing + * backwards compatibilty. By obtaining the raw filesystem path of the download + * location, we can pass that to ft.download() to make sure that previously-stored + * paths are still valid. + */ + cordova.exec(function (localPath) { + window.resolveLocalFileSystemURL("file://" + encodeURI(localPath), function (fileEntry) { + expect(fileEntry.toURL()).toEqual(originalEntry.toURL()); + // cleanup + deleteFile(localFilename); + done(); + }, failed.bind(null, done, 'window.resolveLocalFileSystemURL - Error resolving URI: file://' + encodeURI(localPath))); + }, done, 'File', '_getLocalFilesystemPath', [entry.toURL()]); + }, failed.bind(null, done, 'root.getFile - Error creating file: ' + localFilename)); + }); + }); + //Backwards Compatibility + describe('Parent References', function () { + /* These specs verify that paths with parent references i("..") in them + * work correctly, and do not cause the application to crash. + */ + it("file.spec.110 should not throw exception resolving parent refefences", function (done) { + /* This is a direct copy of file.spec.9, with the filename changed, * as reported in CB-5721. + */ + var fileName = "resolve.file.uri"; + var dirName = "resolve.dir.uri"; + // create a new file entry + createDirectory(dirName, function () { + createFile(dirName+"/../" + fileName, function (entry) { + // lookup file system entry + window.resolveLocalFileSystemURL(entry.toURL(), function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.name).toCanonicallyMatch(fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'window.resolveLocalFileSystemURL - Error resolving URI: ' + entry.toURL())); + }, failed.bind(null, done, 'createFile - Error creating file: ../' + fileName)); + }, failed.bind(null, done, 'createDirectory - Error creating directory: ' + dirName)); + }); + it("file.spec.111 should not traverse above above the root directory", function (done) { + var fileName = "traverse.file.uri"; + // create a new file entry + createFile(fileName, function (entry) { + // lookup file system entry + root.getFile('../' + fileName, { + create : false + }, function (fileEntry) { + // Note: we expect this to still resolve, as the correct behaviour is to ignore the ../, not to fail out. + expect(fileEntry).toBeDefined(); + expect(fileEntry.name).toBe(fileName); + expect(fileEntry.fullPath).toCanonicallyMatch(root.fullPath +'/' + fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'root.getFile - Error getting file: ../' + fileName)); + }, failed.bind(null, done, 'createFile - Error creating file: ../' + fileName)); + }); + it("file.spec.112 should traverse above above the current directory", function (done) { + var fileName = "traverse2.file.uri", + dirName = "traverse2.subdir"; + // create a new directory and a file entry + createFile(fileName, function () { + createDirectory(dirName, function (entry) { + // lookup file system entry + entry.getFile('../' + fileName, { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.name).toBe(fileName); + expect(fileEntry.fullPath).toCanonicallyMatch('/' + fileName); + // cleanup + deleteEntry(fileName, function () { + deleteEntry(dirName, done); + }); + }, failed.bind(null, done, 'entry.getFile - Error getting file: ' + fileName + ' recently created above: ' + dirName)); + }, failed.bind(null, done, 'createDirectory - Error creating directory: ' + dirName)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.113 getFile: get Entry should error for missing file above root directory", function (done) { + var fileName = "../missing.file"; + // create:false, exclusive:false, file does not exist + root.getFile(fileName, { + create : false + }, succeed.bind(null, done, 'root.getFile - Unexpected success callback, it should not locate nonexistent file: ' + fileName), function (error) { + expect(error).toBeDefined(); + expect(error).toBeFileError(FileError.NOT_FOUND_ERR); + done(); + }); + }); + }); + //Parent References + describe('toNativeURL interface', function () { + /* These specs verify that FileEntries have a toNativeURL method + * which appears to be sane. + */ + var pathExpect = cordova.platformId === 'windowsphone' ? "//nativ" : "file://"; + if (isChrome) { + pathExpect = 'filesystem:file://'; + } + it("file.spec.114 fileEntry should have a toNativeURL method", function (done) { + var fileName = "native.file.uri"; + if (isWindows) { + var rootPath = root.fullPath; + pathExpect = rootPath.substr(0, rootPath.indexOf(":")); + } + // create a new file entry + createFile(fileName, function (entry) { + expect(entry.toNativeURL).toBeDefined(); + expect(entry.name).toCanonicallyMatch(fileName); + expect(typeof entry.toNativeURL).toBe('function'); + var nativeURL = entry.toNativeURL(); + var indexOfRoot = isWindows ? nativeURL.indexOf(":") : + isChrome ? 'filesystem:file://'.length : // Chrome uses own prefix for all filesystem urls + 7; //default value - length of 'file://' string + expect(typeof nativeURL).toBe("string"); + expect(nativeURL.substring(0, pathExpect.length)).toEqual(pathExpect); + expect(nativeURL.substring(nativeURL.length - fileName.length)).toEqual(fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.115 DirectoryReader should return entries with toNativeURL method", function (done) { + var dirName = 'nativeEntries.dir', + fileName = 'nativeEntries.file', + checkEntries = function (entries) { + expect(entries).toBeDefined(); + expect(entries instanceof Array).toBe(true); + expect(entries.length).toBe(1); + expect(entries[0].toNativeURL).toBeDefined(); + expect(typeof entries[0].toNativeURL).toBe('function'); + var nativeURL = entries[0].toNativeURL(); + var indexOfRoot = isWindows ? nativeURL.indexOf(":") : + isChrome ? 'filesystem:file://'.length : // Chrome uses own prefix for all filesystem urls + 7; //default value - length of 'file://' string + expect(typeof nativeURL).toBe("string"); + expect(nativeURL.substring(0, pathExpect.length)).toEqual(pathExpect); + expect(nativeURL.substring(nativeURL.length - fileName.length)).toEqual(fileName); + // cleanup + directory.removeRecursively(null, null); + done(); + }; + // create a new file entry + root.getDirectory(dirName, { + create : true + }, function (directory) { + directory.getFile(fileName, { + create : true + }, function (fileEntry) { + var reader = directory.createReader(); + reader.readEntries(checkEntries, failed.bind(null, done, 'reader.readEntries - Error reading entries from directory: ' + dirName)); + }, failed.bind(null, done, 'directory.getFile - Error creating file: ' + fileName)); + }, failed.bind(null, done, 'root.getDirectory - Error creating directory: ' + dirName)); + }); + it("file.spec.116 resolveLocalFileSystemURL should return entries with toNativeURL method", function (done) { + var fileName = "native.resolve.uri"; + // create a new file entry + createFile(fileName, function (entry) { + resolveLocalFileSystemURL(entry.toURL(), function (entry) { + expect(entry.toNativeURL).toBeDefined(); + expect(entry.name).toCanonicallyMatch(fileName); + expect(typeof entry.toNativeURL).toBe('function'); + var nativeURL = entry.toNativeURL(); + var indexOfRoot = isWindows ? nativeURL.indexOf(":") : + isChrome ? 'filesystem:file://'.length : // Chrome uses own prefix for all filesystem urls + 7; //default value - length of 'file://' string + expect(typeof nativeURL).toBe("string"); + expect(nativeURL.substring(0, pathExpect.length)).toEqual(pathExpect); + expect(nativeURL.substring(nativeURL.length - fileName.length)).toEqual(fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'resolveLocalFileSystemURL - Error resolving file URL: ' + entry.toURL())); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + }); + //toNativeURL interface + describe('resolveLocalFileSystemURL on file://', function () { + /* These specs verify that window.resolveLocalFileSystemURL works correctly on file:// URLs + */ + it("file.spec.117 should not resolve native URLs outside of FS roots", function (done) { + // lookup file system entry + window.resolveLocalFileSystemURL("file:///this.is.an.invalid.url", succeed.bind(null, done, 'window.resolveLocalFileSystemURL - Unexpected success callback, it should not resolve invalid URL: file:///this.is.an.invalid.url'), function (error) { + expect(error).toBeDefined(); + done(); + }); + }); + it("file.spec.118 should not resolve native URLs outside of FS roots", function (done) { + // lookup file system entry + window.resolveLocalFileSystemURL("file://localhost/this.is.an.invalid.url", succeed.bind(null, done, 'window.resolveLocalFileSystemURL - Unexpected success callback, it should not resolve invalid URL: file://localhost/this.is.an.invalid.url'), function (error) { + expect(error).toBeDefined(); + done(); + }); + }); + it("file.spec.119 should not resolve invalid native URLs", function (done) { + // lookup file system entry + window.resolveLocalFileSystemURL("file://localhost", succeed.bind(null, done, 'window.resolveLocalFileSystemURL - Unexpected success callback, it should not resolve invalid URL: file://localhost'), function (error) { + expect(error).toBeDefined(); + done(); + }); + }); + it("file.spec.120 should not resolve invalid native URLs with query strings", function (done) { + // lookup file system entry + window.resolveLocalFileSystemURL("file://localhost?test/test", succeed.bind(null, done, 'window.resolveLocalFileSystemURL - Unexpected success callback, it should not resolve invalid URL: file://localhost?test/test'), function (error) { + expect(error).toBeDefined(); + done(); + }); + }); + it("file.spec.121 should resolve native URLs returned by API", function (done) { + var fileName = "native.resolve.uri1"; + // create a new file entry + createFile(fileName, function (entry) { + resolveLocalFileSystemURL(entry.toNativeURL(), function (fileEntry) { + expect(fileEntry.fullPath).toCanonicallyMatch(root.fullPath + "/" + fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'resolveLocalFileSystemURL - Error resolving file URL: ' + entry.toNativeURL())); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.122 should resolve native URLs returned by API with localhost", function (done) { + var fileName = "native.resolve.uri2"; + // create a new file entry + createFile(fileName, function (entry) { + var url = entry.toNativeURL(); + url = url.replace("///", "//localhost/"); + resolveLocalFileSystemURL(url, function (fileEntry) { + expect(fileEntry.fullPath).toCanonicallyMatch(root.fullPath + "/" + fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'resolveLocalFileSystemURL - Error resolving file URL: ' + url)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.123 should resolve native URLs returned by API with query string", function (done) { + var fileName = "native.resolve.uri3"; + // create a new file entry + createFile(fileName, function (entry) { + var url = entry.toNativeURL(); + url = url + "?test/test"; + resolveLocalFileSystemURL(url, function (fileEntry) { + expect(fileEntry.fullPath).toCanonicallyMatch(root.fullPath + "/" + fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'resolveLocalFileSystemURL - Error resolving file URL: ' + url)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + it("file.spec.124 should resolve native URLs returned by API with localhost and query string", function (done) { + var fileName = "native.resolve.uri4"; + // create a new file entry + createFile(fileName, function (entry) { + var url = entry.toNativeURL(); + url = url.replace("///", "//localhost/") + "?test/test"; + resolveLocalFileSystemURL(url, function (fileEntry) { + expect(fileEntry.fullPath).toCanonicallyMatch(root.fullPath + "/" + fileName); + // cleanup + deleteEntry(fileName, done); + }, failed.bind(null, done, 'resolveLocalFileSystemURL - Error resolving file URL: ' + url)); + }, failed.bind(null, done, 'createFile - Error creating file: ' + fileName)); + }); + }); + //resolveLocalFileSystemURL on file:// + describe('cross-file-system copy and move', function () { + /* These specs verify that Entry.copyTo and Entry.moveTo work correctly + * when crossing filesystem boundaries. + */ + it("file.spec.125 copyTo: temporary -> persistent", function (done) { + var file1 = "entry.copy.file1a", + file2 = "entry.copy.file2a", + sourceEntry, + fullPath = joinURL(root.fullPath, file2), + validateFile = function (entry) { + // a bit redundant since copy returned this entry already + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(file2); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + expect(entry.filesystem).toBeDefined(); + isChrome ? expect(entry.filesystem.name).toContain("Persistent") + : expect(entry.filesystem.name).toEqual("persistent"); + // cleanup + deleteEntry(entry.name); + deleteEntry(sourceEntry.name, done); + }, + createSourceAndTransfer = function () { + temp_root.getFile(file1, { + create : true + }, function (entry) { + expect(entry.filesystem).toBeDefined(); + isChrome ? expect(entry.filesystem.name).toContain("Temporary") + : expect(entry.filesystem.name).toEqual("temporary"); + sourceEntry = entry; + // Save for later cleanup + entry.copyTo(persistent_root, file2, validateFile, failed.bind(null, done, 'entry.copyTo - Error copying file: ' + file1 + ' to PERSISTENT root as: ' + file2)); + }, failed.bind(null, done, 'temp_root.getFile - Error creating file: ' + file1 + 'at TEMPORAL root')); + }; + // Delete any existing file to start things off + persistent_root.getFile(file2, {}, function (entry) { + entry.remove(createSourceAndTransfer, failed.bind(null, done, 'entry.remove - Error removing file: ' + file2)); + }, createSourceAndTransfer); + }); + it("file.spec.126 copyTo: persistent -> temporary", function (done) { + var file1 = "entry.copy.file1b", + file2 = "entry.copy.file2b", + sourceEntry, + fullPath = joinURL(temp_root.fullPath, file2), + validateFile = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(file2); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + isChrome ? expect(entry.filesystem.name).toContain("Temporary") + : expect(entry.filesystem.name).toEqual("temporary"); + // cleanup + deleteEntry(entry.name); + deleteEntry(sourceEntry.name, done); + }, + createSourceAndTransfer = function () { + persistent_root.getFile(file1, { + create : true + }, function (entry) { + expect(entry).toBeDefined(); + expect(entry.filesystem).toBeDefined(); + isChrome ? expect(entry.filesystem.name).toContain("Persistent") + : expect(entry.filesystem.name).toEqual("persistent"); + sourceEntry = entry; + // Save for later cleanup + entry.copyTo(temp_root, file2, validateFile, failed.bind(null, done, 'entry.copyTo - Error copying file: ' + file1 + ' to TEMPORAL root as: ' + file2)); + }, failed.bind(null, done, 'persistent_root.getFile - Error creating file: ' + file1 + 'at PERSISTENT root')); + }; + // Delete any existing file to start things off + temp_root.getFile(file2, {}, function (entry) { + entry.remove(createSourceAndTransfer, failed.bind(null, done, 'entry.remove - Error removing file: ' + file2)); + }, createSourceAndTransfer); + }); + it("file.spec.127 moveTo: temporary -> persistent", function (done) { + var file1 = "entry.copy.file1a", + file2 = "entry.copy.file2a", + sourceEntry, + fullPath = joinURL(root.fullPath, file2), + validateFile = function (entry) { + // a bit redundant since copy returned this entry already + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(file2); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + expect(entry.filesystem).toBeDefined(); + isChrome ? expect(entry.filesystem.name).toContain("Persistent") + : expect(entry.filesystem.name).toEqual("persistent"); + // cleanup + deleteEntry(entry.name); + deleteEntry(sourceEntry.name, done); + }, + createSourceAndTransfer = function () { + temp_root.getFile(file1, { + create : true + }, function (entry) { + expect(entry.filesystem).toBeDefined(); + isChrome ? expect(entry.filesystem.name).toContain("Temporary") + : expect(entry.filesystem.name).toEqual("temporary"); + sourceEntry = entry; + // Save for later cleanup + entry.moveTo(persistent_root, file2, validateFile, failed.bind(null, done, 'entry.moveTo - Error moving file: ' + file1 + ' to PERSISTENT root as: ' + file2)); + }, failed.bind(null, done, 'temp_root.getFile - Error creating file: ' + file1 + 'at TEMPORAL root')); + }; + // Delete any existing file to start things off + persistent_root.getFile(file2, {}, function (entry) { + entry.remove(createSourceAndTransfer, failed.bind(null, done, 'entry.remove - Error removing file: ' + file2)); + }, createSourceAndTransfer); + }); + it("file.spec.128 moveTo: persistent -> temporary", function (done) { + var file1 = "entry.copy.file1b", + file2 = "entry.copy.file2b", + sourceEntry, + fullPath = joinURL(temp_root.fullPath, file2), + validateFile = function (entry) { + expect(entry).toBeDefined(); + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(file2); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + isChrome ? expect(entry.filesystem.name).toContain("Temporary") + : expect(entry.filesystem.name).toEqual("temporary"); + // cleanup + deleteEntry(entry.name); + deleteEntry(sourceEntry.name, done); + }, + createSourceAndTransfer = function () { + persistent_root.getFile(file1, { + create : true + }, function (entry) { + expect(entry).toBeDefined(); + expect(entry.filesystem).toBeDefined(); + isChrome ? expect(entry.filesystem.name).toContain("Persistent") + : expect(entry.filesystem.name).toEqual("persistent"); + sourceEntry = entry; + // Save for later cleanup + entry.moveTo(temp_root, file2, validateFile, failed.bind(null, done, 'entry.moveTo - Error moving file: ' + file1 + ' to TEMPORAL root as: ' + file2)); + }, failed.bind(null, done, 'persistent_root.getFile - Error creating file: ' + file1 + 'at PERSISTENT root')); + }; + // Delete any existing file to start things off + temp_root.getFile(file2, {}, function (entry) { + entry.remove(createSourceAndTransfer, failed.bind(null, done, 'entry.remove - Error removing file: ' + file2)); + }, createSourceAndTransfer); + }); + it("file.spec.129 cordova.file.*Directory are set", function () { + var expectedPaths = ['applicationDirectory', 'applicationStorageDirectory', 'dataDirectory', 'cacheDirectory']; + if (cordova.platformId == 'android' || cordova.platformId == 'amazon-fireos') { + expectedPaths.push('externalApplicationStorageDirectory', 'externalRootDirectory', 'externalCacheDirectory', 'externalDataDirectory'); + } else if (cordova.platformId == 'blackberry10') { + expectedPaths.push('externalRootDirectory', 'sharedDirectory'); + } else if (cordova.platformId == 'ios') { + expectedPaths.push('syncedDataDirectory', 'documentsDirectory', 'tempDirectory'); + } else if (cordova.platformId == 'osx') { + expectedPaths.push('documentsDirectory', 'tempDirectory', 'rootDirectory'); + } else { + console.log('Skipping test due on unsupported platform.'); + return; + } + for (var i = 0; i < expectedPaths.length; ++i) { + expect(typeof cordova.file[expectedPaths[i]]).toBe('string'); + expect(cordova.file[expectedPaths[i]]).toMatch(/\/$/, 'Path should end with a slash'); + } + }); + }); + //cross-file-system copy and move + describe('IndexedDB-based impl', function () { + it("file.spec.131 Nested file or nested directory should be removed when removing a parent directory", function (done) { + var parentDirName = 'deletedDir131', + nestedDirName = 'nestedDir131', + nestedFileName = 'nestedFile131.txt'; + + createDirectory(parentDirName, function (parent) { + parent.getDirectory(nestedDirName, { create: true}, function () { + parent.getFile(nestedFileName, { create: true}, function () { + parent.removeRecursively(function() { + root.getDirectory(parentDirName,{ create: false}, failed.bind(this, done, 'root.getDirectory - unexpected success callback : ' + parentDirName), function(){ + parent.getFile(nestedFileName,{ create: false}, failed.bind(this, done, 'getFile - unexpected success callback : ' + nestedFileName), function(){ + parent.getDirectory(nestedDirName, { create: false}, failed.bind(this, done, 'getDirectory - unexpected success callback : ' + nestedDirName), done); + }); + }); + }, failed.bind(this, done, 'removeRecursively - Error removing directory : ' + parentDirName)); + }, failed.bind(this, done, 'getFile - Error creating file : ' + nestedFileName)); + },failed.bind(this, done, 'getDirectory - Error creating directory : ' + nestedDirName)); + }, failed.bind(this, done, 'root.getDirectory - Error creating directory : ' + parentDirName)); + }); + it("file.spec.132 Entry should be created succesfully when using relative paths if its parent directory exists", function (done) { + /* Directory entries have to be created successively. + For example, the call `fs.root.getDirectory('dir1/dir2', {create:true}, successCallback, errorCallback)` + will fail if dir1 did not exist. */ + var parentName = 'parentName132'; + var nestedName = 'nestedName132'; + var path = parentName + '/' + nestedName; + + var win = function(directory){ + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(nestedName); + expect(directory.fullPath).toCanonicallyMatch('/' + path + '/'); + deleteEntry(directory.name); + deleteEntry(parentName, done); + }; + + createDirectory(parentName, function() { + root.getDirectory(parentName + '/' + nestedName, {create:true}, win, + failed.bind(this, done, 'root.getDirectory - Error getting directory : ' + path)); + }, failed.bind(this, done, 'root.getDirectory - Error getting directory : ' + parentName)); + }); + it("file.spec.133 A file being removed should not affect another file with name being a prefix of the removed file name.", function (done) { + + // Names include special symbols so that we check the IndexedDB range used + var deletedFileName = 'deletedFile.0', + secondFileName = 'deletedFile.0.1'; + + var win = function(fileEntry){ + expect(fileEntry).toBeDefined(); + expect(fileEntry.isFile).toBe(true); + expect(fileEntry.isDirectory).toBe(false); + expect(fileEntry.name).toCanonicallyMatch(secondFileName); + deleteEntry(fileEntry.name, done); + }; + + createFile(deletedFileName, function (deletedFile) { + createFile(secondFileName, function () { + deletedFile.remove(function() { + root.getFile(deletedFileName, {create: false}, failed.bind(this, done, 'getFile - unexpected success callback getting deleted file : ' + deletedFileName), function(){ + root.getFile(secondFileName, {create: false}, win, failed.bind(this, done, 'getFile - Error getting file after deleting deletedFile : ' + secondFileName)); + }); + }, failed.bind(this, done, 'remove - Error removing file : ' + deletedFileName)); + }, failed.bind(this, done, 'getFile - Error creating file : ' + secondFileName)); + }, failed.bind(this, done, 'getFile - Error creating file : ' + deletedFileName)); + }); + it("file.spec.134 A directory being removed should not affect another directory with name being a prefix of the removed directory name.", function (done) { + + // Names include special symbols so that we check the IndexedDB range used + var deletedDirName = 'deletedDir.0', + secondDirName = 'deletedDir.0.1'; + + var win = function(directory){ + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(secondDirName); + deleteEntry(directory.name, done); + }; + + createDirectory(deletedDirName, function (deletedDir) { + createDirectory(secondDirName, function () { + deletedDir.remove(function() { + root.getDirectory(deletedDirName, {create: false}, failed.bind(this, done, 'getDirectory - unexpected success callback getting deleted directory : ' + deletedDirName), function() { + root.getDirectory(secondDirName, {create: false}, win, failed.bind(this, done, 'getDirectory - Error getting directory after deleting deletedDirectory : ' + secondDirName)); + }); + }, failed.bind(this, done, 'remove - Error removing directory : ' + deletedDirName)); + }, failed.bind(this, done, 'root.getDirectory - Error creating directory : ' + secondDirName)); + }, failed.bind(this, done, 'root.getDirectory - Error creating directory : ' + deletedDirName)); + }); + it("file.spec.135 Deletion of a child directory should not affect the parent directory.", function (done) { + + var parentName = 'parentName135'; + var childName = 'childName135'; + + var win = function(directory){ + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(parentName); + deleteEntry(directory.name, done); + }; + + createDirectory(parentName, function(parent){ + parent.getDirectory(childName, {create: true}, function(child){ + child.removeRecursively(function(){ + root.getDirectory(parentName, {create: false}, win, failed.bind(this, done, 'root.getDirectory - Error getting parent directory : ' + parentName)); + }, + failed.bind(this, done, 'getDirectory - Error removing directory : ' + childName)); + }, failed.bind(this, done, 'getDirectory - Error creating directory : ' + childName)); + }, failed.bind(this, done, 'root.getDirectory - Error creating directory : ' + parentName)); + }); + it("file.spec.136 Paths should support Unicode symbols.", function (done) { + + var dirName = '文件插件'; + + var win = function(directory){ + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.name).toCanonicallyMatch(dirName); + deleteEntry(directory.name, done); + }; + + createDirectory(dirName, function(){ + root.getDirectory(dirName, {create: false}, win, + failed.bind(this, done, 'root.getDirectory - Error getting directory : ' + dirName)); + }, failed.bind(this, done, 'root.getDirectory - Error creating directory : ' + dirName)); + }); + }); + // Content and Asset URLs + if (cordova.platformId == 'android') { + describe('content: URLs', function() { + function testContentCopy(src, done) { + var file2 = "entry.copy.file2b", + fullPath = joinURL(temp_root.fullPath, file2), + validateFile = function (entry) { + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(file2); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + expect(entry.filesystem.name).toEqual("temporary"); + // cleanup + deleteEntry(entry.name, done); + }, + transfer = function () { + resolveLocalFileSystemURL(src, function(entry) { + expect(entry).toBeDefined(); + expect(entry.filesystem.name).toEqual("content"); + entry.copyTo(temp_root, file2, validateFile, failed.bind(null, done, 'entry.copyTo - Error copying file: ' + entry.toURL() + ' to TEMPORAL root as: ' + file2)); + }, failed.bind(null, done, 'resolveLocalFileSystemURL failed for content provider')); + }; + // Delete any existing file to start things off + temp_root.getFile(file2, {}, function (entry) { + entry.remove(transfer, failed.bind(null, done, 'entry.remove - Error removing file: ' + file2)); + }, transfer); + } + it("file.spec.138 copyTo: content", function(done) { + testContentCopy('content://org.apache.cordova.file.testprovider/www/index.html', done); + }); + it("file.spec.139 copyTo: content /w space and query", function(done) { + testContentCopy('content://org.apache.cordova.file.testprovider/?name=foo%20bar&realPath=%2Fwww%2Findex.html', done); + }); + it("file.spec.140 delete: content should fail", function(done) { + resolveLocalFileSystemURL('content://org.apache.cordova.file.testprovider/www/index.html', function(entry) { + entry.remove(failed.bind(null, done, 'expected delete to fail'), done); + }, failed.bind(null, done, 'resolveLocalFileSystemURL failed for content provider')); + }); + }); + + // these tests ensure that you can read and copy from android_asset folder + // for details see https://issues.apache.org/jira/browse/CB-6428 + // and https://mail-archives.apache.org/mod_mbox/cordova-dev/201508.mbox/%3C782154441.8406572.1440182722528.JavaMail.yahoo%40mail.yahoo.com%3E + describe('asset: URLs', function() { + it("file.spec.141 filePaths.applicationStorage", function() { + expect(cordova.file.applicationDirectory).toEqual('file:///android_asset/'); + }, MEDIUM_TIMEOUT); + it("file.spec.142 assets should be enumerable", function(done) { + resolveLocalFileSystemURL('file:///android_asset/www/fixtures/asset-test', function(entry) { + var reader = entry.createReader(); + reader.readEntries(function (entries) { + expect(entries.length).not.toBe(0); + done(); + }, failed.bind(null, done, 'reader.readEntries - Error during reading of entries from assets directory')); + }, failed.bind(null, done, 'resolveLocalFileSystemURL failed for assets')); + }, MEDIUM_TIMEOUT); + it("file.spec.143 copyTo: asset -> temporary", function(done) { + var file2 = "entry.copy.file2b", + fullPath = joinURL(temp_root.fullPath, file2), + validateFile = function (entry) { + expect(entry.isFile).toBe(true); + expect(entry.isDirectory).toBe(false); + expect(entry.name).toCanonicallyMatch(file2); + expect(entry.fullPath).toCanonicallyMatch(fullPath); + expect(entry.filesystem.name).toEqual("temporary"); + // cleanup + deleteEntry(entry.name, done); + }, + transfer = function () { + resolveLocalFileSystemURL('file:///android_asset/www/index.html', function(entry) { + expect(entry.filesystem.name).toEqual('assets'); + entry.copyTo(temp_root, file2, validateFile, failed.bind(null, done, 'entry.copyTo - Error copying file: ' + entry.toURL() + ' to TEMPORAL root as: ' + file2)); + }, failed.bind(null, done, 'resolveLocalFileSystemURL failed for assets')); + }; + // Delete any existing file to start things off + temp_root.getFile(file2, {}, function (entry) { + entry.remove(transfer, failed.bind(null, done, 'entry.remove - Error removing file: ' + file2)); + }, transfer); + }, MEDIUM_TIMEOUT); + }); + it("file.spec.144 copyTo: asset directory", function (done) { + var srcUrl = 'file:///android_asset/www/fixtures/asset-test'; + var dstDir = "entry.copy.dstDir"; + var dstPath = joinURL(root.fullPath, dstDir); + // create a new directory entry to kick off it + deleteEntry(dstDir, function () { + resolveLocalFileSystemURL(srcUrl, function(directory) { + directory.copyTo(root, dstDir, function (directory) { + expect(directory).toBeDefined(); + expect(directory.isFile).toBe(false); + expect(directory.isDirectory).toBe(true); + expect(directory.fullPath).toCanonicallyMatch(dstPath); + expect(directory.name).toCanonicallyMatch(dstDir); + root.getDirectory(dstDir, { + create : false + }, function (dirEntry) { + expect(dirEntry).toBeDefined(); + expect(dirEntry.isFile).toBe(false); + expect(dirEntry.isDirectory).toBe(true); + expect(dirEntry.fullPath).toCanonicallyMatch(dstPath); + expect(dirEntry.name).toCanonicallyMatch(dstDir); + dirEntry.getFile('asset-test.txt', { + create : false + }, function (fileEntry) { + expect(fileEntry).toBeDefined(); + expect(fileEntry.isFile).toBe(true); + // cleanup + deleteEntry(dstDir, done); + }, failed.bind(null, done, 'dirEntry.getFile - Error getting subfile')); + }, failed.bind(null, done, 'root.getDirectory - Error getting copied directory')); + }, failed.bind(null, done, 'directory.copyTo - Error copying directory')); + }, failed.bind(null, done, 'resolving src dir')); + }, failed.bind(null, done, 'deleteEntry - Error removing directory : ' + dstDir)); + }, MEDIUM_TIMEOUT); + } + }); + +}; +//****************************************************************************************** +//***************************************Manual Tests*************************************** +//****************************************************************************************** + +exports.defineManualTests = function (contentEl, createActionButton) { + + function resolveFs(fsname) { + var fsURL = "cdvfile://localhost/" + fsname + "/"; + logMessage("Resolving URL: " + fsURL); + resolveLocalFileSystemURL(fsURL, function (entry) { + logMessage("Success", 'green'); + logMessage(entry.toURL(), 'blue'); + logMessage(entry.toInternalURL(), 'blue'); + logMessage("Resolving URL: " + entry.toURL()); + resolveLocalFileSystemURL(entry.toURL(), function (entry2) { + logMessage("Success", 'green'); + logMessage(entry2.toURL(), 'blue'); + logMessage(entry2.toInternalURL(), 'blue'); + }, logError("resolveLocalFileSystemURL")); + }, logError("resolveLocalFileSystemURL")); + } + + function testPrivateURL() { + requestFileSystem(TEMPORARY, 0, function (fileSystem) { + logMessage("Temporary root is at " + fileSystem.root.toNativeURL()); + fileSystem.root.getFile("testfile", { + create : true + }, function (entry) { + logMessage("Temporary file is at " + entry.toNativeURL()); + if (entry.toNativeURL().substring(0, 12) == "file:///var/") { + logMessage("File starts with /var/, trying /private/var"); + var newURL = "file://localhost/private/var/" + entry.toNativeURL().substring(12) + "?and=another_thing"; + //var newURL = entry.toNativeURL(); + logMessage(newURL, 'blue'); + resolveLocalFileSystemURL(newURL, function (newEntry) { + logMessage("Successfully resolved.", 'green'); + logMessage(newEntry.toURL(), 'blue'); + logMessage(newEntry.toNativeURL(), 'blue'); + }, logError("resolveLocalFileSystemURL")); + } + }, logError("getFile")); + }, logError("requestFileSystem")); + } + + function clearLog() { + var log = document.getElementById("info"); + log.innerHTML = ""; + } + + function logMessage(message, color) { + var log = document.getElementById("info"); + var logLine = document.createElement('div'); + if (color) { + logLine.style.color = color; + } + logLine.innerHTML = message; + log.appendChild(logLine); + } + + function logError(serviceName) { + return function (err) { + logMessage("ERROR: " + serviceName + " " + JSON.stringify(err), "red"); + }; + } + + var fsRoots = { + "ios" : "library,library-nosync,documents,documents-nosync,cache,bundle,root,private", + "osx" : "library,library-nosync,documents,documents-nosync,cache,bundle,root,private", + "android" : "files,files-external,documents,sdcard,cache,cache-external,root", + "amazon-fireos" : "files,files-external,documents,sdcard,cache,cache-external,root", + "windows": "temporary,persistent", + "tizen": "temporary,persistent,root" + }; + + //Add title and align to content + var div = document.createElement('h2'); + div.appendChild(document.createTextNode('File Systems')); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + + div = document.createElement('h3'); + div.appendChild(document.createTextNode('Results are displayed in yellow status box below with expected results noted under that')); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + + div = document.createElement('div'); + div.setAttribute("id", "button"); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + if (fsRoots.hasOwnProperty(cordova.platformId)) { + (fsRoots[cordova.platformId].split(',')).forEach(function (fs) { + if (cordova.platformId === 'ios' && fs === 'private') { + createActionButton("Test private URL (iOS)", function () { + clearLog(); + testPrivateURL(); + }, 'button'); + } else { + createActionButton(fs, function () { + clearLog(); + resolveFs(fs); + }, 'button'); + } + }); + } + + + div = document.createElement('div'); + div.setAttribute("id", "info"); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + + div = document.createElement('h3'); + div.appendChild(document.createTextNode('For each test above, file or directory should be successfully found. ' + + 'Status box should say Resolving URL was Success. The first URL resolved is the internal URL. ' + + 'The second URL resolved is the absolute URL. Blue URLs must match.')); + contentEl.appendChild(div); + + div = document.createElement('h3'); + div.appendChild(document.createTextNode('For Test private URL (iOS), the private URL (first blue URL in status box) ' + + 'should be successfully resolved. Status box should say Successfully resolved. Both blue URLs below ' + + 'that should match.')); + contentEl.appendChild(div); +}; diff --git a/test/unittest/tests/filetransfer.tests.js b/test/unittest/tests/filetransfer.tests.js new file mode 100644 index 0000000..364f715 --- /dev/null +++ b/test/unittest/tests/filetransfer.tests.js @@ -0,0 +1,991 @@ +/* +* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +* +*/ + +/*global exports, cordova, FileTransfer, FileTransferError, + FileUploadOptions, LocalFileSystem, requestFileSystem, TEMPORARY */ + +/*global describe, it, expect, beforeEach, afterEach, spyOn, + jasmine, pending*/ + +exports.defineAutoTests = function () { + + // constants + var GRACE_TIME_DELTA = 600; // in milliseconds + var DEFAULT_FILESYSTEM_SIZE = 1024*50; //filesystem size in bytes + var UNKNOWN_HOST = "http://foobar.apache.org"; + var HEADERS_ECHO = "http://whatheaders.com"; // NOTE: this site is very useful! + var DOWNLOAD_TIMEOUT = 30 * 1000; // download tests sometimes need a higher timeout to complete successfully + var UPLOAD_TIMEOUT = 30 * 1000; // upload tests sometimes need a higher timeout to complete successfully + var ABORT_DELAY = 100; // for abort() tests + + // config for upload test server + // NOTE: + // more info at https://github.com/apache/cordova-labs/tree/cordova-filetransfer + var SERVER = "http://cordova-vm.apache.org:5000"; + var SERVER_WITH_CREDENTIALS = "http://cordova_user:cordova_password@cordova-vm.apache.org:5000"; + + // flags + var isWindows = cordova.platformId === 'windows8' || cordova.platformId === 'windows'; + var isWP8 = cordova.platformId === 'windowsphone'; + + var isBrowser = cordova.platformId === 'browser'; + var isIE = isBrowser && navigator.userAgent.indexOf('Trident') >= 0; + + describe('FileTransferError', function () { + + it('should exist', function () { + expect(FileTransferError).toBeDefined(); + }); + + it('should be constructable', function () { + var transferError = new FileTransferError(); + expect(transferError).toBeDefined(); + }); + + it('filetransfer.spec.3 should expose proper constants', function () { + + expect(FileTransferError.FILE_NOT_FOUND_ERR).toBeDefined(); + expect(FileTransferError.INVALID_URL_ERR).toBeDefined(); + expect(FileTransferError.CONNECTION_ERR).toBeDefined(); + expect(FileTransferError.ABORT_ERR).toBeDefined(); + expect(FileTransferError.NOT_MODIFIED_ERR).toBeDefined(); + + expect(FileTransferError.FILE_NOT_FOUND_ERR).toBe(1); + expect(FileTransferError.INVALID_URL_ERR).toBe(2); + expect(FileTransferError.CONNECTION_ERR).toBe(3); + expect(FileTransferError.ABORT_ERR).toBe(4); + expect(FileTransferError.NOT_MODIFIED_ERR).toBe(5); + }); + }); + + describe('FileUploadOptions', function () { + + it('should exist', function () { + expect(FileUploadOptions).toBeDefined(); + }); + + it('should be constructable', function () { + var transferOptions = new FileUploadOptions(); + expect(transferOptions).toBeDefined(); + }); + }); + + describe('FileTransfer', function () { + + var persistentRoot, tempRoot; + + // named callbacks + var unexpectedCallbacks = { + httpFail: function () {}, + httpWin: function () {}, + fileSystemFail: function () {}, + fileSystemWin: function () {}, + fileOperationFail: function () {}, + fileOperationWin: function () {}, + }; + + var expectedCallbacks = { + unsupportedOperation: function (response) { + console.log('spec called unsupported functionality; response:', response); + }, + }; + + // helpers + var deleteFile = function (fileSystem, name, done) { + fileSystem.getFile(name, null, + function (fileEntry) { + fileEntry.remove( + function () { + done(); + }, + function () { + throw new Error('failed to delete: \'' + name + '\''); + } + ); + }, + function () { + done(); + } + ); + }; + + var writeFile = function (fileSystem, name, content, success) { + fileSystem.getFile(name, { create: true }, + function (fileEntry) { + fileEntry.createWriter(function (writer) { + + writer.onwrite = function () { + success(fileEntry); + }; + + writer.onabort = function (evt) { + throw new Error('aborted creating test file \'' + name + '\': ' + evt); + }; + + writer.error = function (evt) { + throw new Error('aborted creating test file \'' + name + '\': ' + evt); + }; + + if (cordova.platformId === 'browser') { + // var builder = new BlobBuilder(); + // builder.append(content + '\n'); + var blob = new Blob([content + '\n'], { type: 'text/plain' }); + writer.write(blob); + } else { + writer.write(content + "\n"); + } + + }, unexpectedCallbacks.fileOperationFail); + }, + function () { + throw new Error('could not create test file \'' + name + '\''); + } + ); + }; + + // according to documentation, wp8 does not support onProgress: + // https://github.com/apache/cordova-plugin-file-transfer/blob/master/doc/index.md#supported-platforms + var wp8OnProgressHandler = function () {}; + + var defaultOnProgressHandler = function (event) { + if (event.lengthComputable) { + expect(event.loaded).toBeGreaterThan(1); + expect(event.total).toBeGreaterThan(0); + expect(event.total).not.toBeLessThan(event.loaded); + expect(event.lengthComputable).toBe(true, 'lengthComputable'); + } else { + // In IE, when lengthComputable === false, event.total somehow is equal to 2^64 + if (isIE) { + expect(event.total).toBe(Math.pow(2, 64)); + } else { + expect(event.total).toBe(0); + } + } + }; + + var getMalformedUrl = function () { + if (cordova.platformId === 'android' || cordova.platformId === 'amazon-fireos') { + // bad protocol causes a MalformedUrlException on Android + return "httpssss://example.com"; + } else { + // iOS doesn't care about protocol, space in hostname causes error + return "httpssss://exa mple.com"; + } + }; + + // NOTE: + // there are several beforeEach calls, one per async call; since calling done() + // signifies a completed async call, each async call needs its own done(), and + // therefore its own beforeEach + beforeEach(function (done) { + window.requestFileSystem(LocalFileSystem.PERSISTENT, DEFAULT_FILESYSTEM_SIZE, + function (fileSystem) { + persistentRoot = fileSystem.root; + done(); + }, + function () { + throw new Error('Failed to initialize persistent file system.'); + } + ); + }); + + beforeEach(function (done) { + window.requestFileSystem(LocalFileSystem.TEMPORARY, DEFAULT_FILESYSTEM_SIZE, + function (fileSystem) { + tempRoot = fileSystem.root; + done(); + }, + function () { + throw new Error('Failed to initialize temporary file system.'); + } + ); + }); + + // spy on all named callbacks + beforeEach(function() { + + // ignore the actual implementations of the unexpected callbacks + for (var callback in unexpectedCallbacks) { + if (unexpectedCallbacks.hasOwnProperty(callback)) { + spyOn(unexpectedCallbacks, callback); + } + } + + // but run the implementations of the expected callbacks + for (callback in expectedCallbacks) { //jshint ignore: line + if (expectedCallbacks.hasOwnProperty(callback)) { + spyOn(expectedCallbacks, callback).and.callThrough(); + } + } + }); + + // at the end, check that none of the unexpected callbacks got called, + // and act on the expected callbacks + afterEach(function() { + for (var callback in unexpectedCallbacks) { + if (unexpectedCallbacks.hasOwnProperty(callback)) { + expect(unexpectedCallbacks[callback]).not.toHaveBeenCalled(); + } + } + + if (expectedCallbacks.unsupportedOperation.calls.any()) { + pending(); + } + }); + + it('should initialise correctly', function() { + expect(persistentRoot).toBeDefined(); + expect(tempRoot).toBeDefined(); + }); + + it('should exist', function () { + expect(FileTransfer).toBeDefined(); + }); + + it('filetransfer.spec.1 should be constructable', function () { + var transfer = new FileTransfer(); + expect(transfer).toBeDefined(); + }); + + it('filetransfer.spec.2 should expose proper functions', function () { + + var transfer = new FileTransfer(); + + expect(transfer.upload).toBeDefined(); + expect(transfer.download).toBeDefined(); + + expect(transfer.upload).toEqual(jasmine.any(Function)); + expect(transfer.download).toEqual(jasmine.any(Function)); + }); + + describe('methods', function() { + + var transfer; + + var root; + var fileName; + var localFilePath; + + beforeEach(function() { + + transfer = new FileTransfer(); + + // assign onprogress handler + transfer.onprogress = isWP8 ? wp8OnProgressHandler : defaultOnProgressHandler; + + // spy on the onprogress handler, but still call through to it + spyOn(transfer, 'onprogress').and.callThrough(); + + root = persistentRoot; + fileName = 'testFile.txt'; + localFilePath = root.toURL() + fileName; + }); + + // NOTE: + // if download tests are failing, check the + // URL white list for the following URLs: + // - 'httpssss://example.com' + // - 'apache.org', with subdomains="true" + // - 'cordova-filetransfer.jitsu.com' + describe('download', function () { + + // helpers + var verifyDownload = function (fileEntry) { + expect(fileEntry.name).toBe(fileName); + }; + + // delete the downloaded file + afterEach(function (done) { + deleteFile(root, fileName, done); + }); + + it('ensures that test file does not exist', function (done) { + deleteFile(root, fileName, done); + }); + + it('filetransfer.spec.4 should download a file', function (done) { + + var fileURL = SERVER + '/robots.txt'; + + var fileWin = function (blob) { + + if (transfer.onprogress.calls.any()) { + var lastProgressEvent = transfer.onprogress.calls.mostRecent().args[0]; + expect(lastProgressEvent.loaded).not.toBeGreaterThan(blob.size); + } else { + console.log('no progress events were emitted'); + } + + done(); + }; + + var downloadWin = function (entry) { + + verifyDownload(entry); + + // verify the FileEntry representing this file + entry.file(fileWin, unexpectedCallbacks.fileSystemFail); + }; + + transfer.download(fileURL, localFilePath, downloadWin, unexpectedCallbacks.httpFail); + }, DOWNLOAD_TIMEOUT); + + it('filetransfer.spec.5 should download a file using http basic auth', function (done) { + + var fileURL = SERVER_WITH_CREDENTIALS + '/download_basic_auth'; + + var downloadWin = function (entry) { + verifyDownload(entry); + done(); + }; + + transfer.download(fileURL, localFilePath, downloadWin, unexpectedCallbacks.httpFail); + }, DOWNLOAD_TIMEOUT); + + it('filetransfer.spec.6 should get 401 status on http basic auth failure', function (done) { + + // NOTE: + // using server without credentials + var fileURL = SERVER + '/download_basic_auth'; + + var downloadFail = function (error) { + expect(error.http_status).toBe(401); + expect(error.http_status).not.toBe(404, "Ensure " + fileURL + " is in the white list"); + done(); + }; + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, downloadFail, null, + { + headers: { + 'If-Modified-Since': 'Thu, 19 Mar 2015 00:00:00 GMT' + } + }); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.7 should download a file using file:// (when hosted from file://)", function (done) { + + // for Windows platform it's ms-appdata:/// by default, not file:// + if (isWindows) { + pending(); + return; + } + + var fileURL = window.location.protocol + '//' + window.location.pathname.replace(/ /g, '%20'); + + if (!/^file:/.exec(fileURL) && cordova.platformId !== 'blackberry10') { + if (cordova.platformId === 'windowsphone') + expect(fileURL).toMatch(/^x-wmapp0:/); + done(); + return; + } + + var downloadWin = function (entry) { + verifyDownload(entry); + done(); + }; + + transfer.download(fileURL, localFilePath, downloadWin, unexpectedCallbacks.httpFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.8 should download a file using https://", function (done) { + + var fileURL = "https://www.apache.org/licenses/"; + + var fileWin = function (file) { + + var reader = new FileReader(); + + reader.onerror = unexpectedCallbacks.fileOperationFail; + reader.onload = function () { + expect(reader.result).toMatch(/The Apache Software Foundation/); + done(); + }; + + reader.readAsText(file); + }; + + var downloadWin = function (entry) { + verifyDownload(entry); + entry.file(fileWin, unexpectedCallbacks.fileSystemFail); + }; + + transfer.download(fileURL, localFilePath, downloadWin, unexpectedCallbacks.httpFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.11 should call the error callback on abort()", function (done) { + + var fileURL = 'http://cordova.apache.org/downloads/BlueZedEx.mp3'; + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, done); + setTimeout(function() { + transfer.abort(); + }, ABORT_DELAY); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.9 should not leave partial file due to abort", function (done) { + + var fileURL = 'http://cordova.apache.org/downloads/logos_2.zip'; + + var downloadFail = function (error) { + + expect(error.code).toBe(FileTransferError.ABORT_ERR); + expect(transfer.onprogress).toHaveBeenCalled(); + + // check that there is no file + root.getFile(localFilePath, null, unexpectedCallbacks.fileSystemWin, done); + }; + + // abort at the first onprogress event + transfer.onprogress = function (event) { + if (event.loaded > 0) { + transfer.abort(); + } + }; + + spyOn(transfer, 'onprogress').and.callThrough(); + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, downloadFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.10 should be stopped by abort() right away", function (done) { + + var fileURL = 'http://cordova.apache.org/downloads/BlueZedEx.mp3'; + + expect(transfer.abort).not.toThrow(); // should be a no-op. + + var startTime = +new Date(); + + var downloadFail = function (error) { + + expect(error.code).toBe(FileTransferError.ABORT_ERR); + expect(new Date() - startTime).toBeLessThan(GRACE_TIME_DELTA); + + // delay calling done() to wait for the bogus abort() + setTimeout(done, GRACE_TIME_DELTA * 2); + }; + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, downloadFail); + setTimeout(function() { + transfer.abort(); + }, ABORT_DELAY); + + // call abort() again, after a time greater than the grace period + setTimeout(function () { + expect(transfer.abort).not.toThrow(); + }, GRACE_TIME_DELTA); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.12 should get http status on failure", function (done) { + + var fileURL = SERVER + "/404"; + + var downloadFail = function (error) { + + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + expect(error.http_status).toBe(404); + + done(); + }; + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, downloadFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.13 should get http body on failure", function (done) { + + var fileURL = SERVER + "/404"; + + var downloadFail = function (error) { + + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + expect(error.http_status).toBe(404); + + expect(error.body).toBeDefined(); + expect(error.body).toMatch('You requested a 404'); + + done(); + }; + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, downloadFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.14 should handle malformed urls", function (done) { + + var fileURL = getMalformedUrl(); + + var downloadFail = function (error) { + + // Note: Android needs the bad protocol to be added to the access list + // won't match because ^https?:// is prepended to the regex + // The bad protocol must begin with http to avoid automatic prefix + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + expect(error.code).toBe(FileTransferError.INVALID_URL_ERR); + + done(); + }; + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, downloadFail); + }); + + it("filetransfer.spec.15 should handle unknown host", function (done) { + var fileURL = UNKNOWN_HOST; + + var downloadFail = function (error) { + expect(error.code).toBe(FileTransferError.CONNECTION_ERR); + done(); + }; + + // turn off the onprogress handler + transfer.onprogress = function () {}; + + transfer.download(fileURL, localFilePath, unexpectedCallbacks.httpWin, downloadFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.16 should handle bad file path", function (done) { + var fileURL = SERVER; + transfer.download(fileURL, "c:\\54321", unexpectedCallbacks.httpWin, done); + }); + + it("filetransfer.spec.17 progress should work with gzip encoding", function (done) { + + // lengthComputable false on bb10 when downloading gzip + if (cordova.platformId === 'blackberry10') { + pending(); + return; + } + + var fileURL = "http://www.apache.org/"; + + var downloadWin = function (entry) { + verifyDownload(entry); + done(); + }; + + transfer.download(fileURL, localFilePath, downloadWin, unexpectedCallbacks.httpFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.30 downloaded file entries should have a toNativeURL method", function (done) { + + if (cordova.platformId === 'browser') { + pending(); + return; + } + + var fileURL = SERVER + "/robots.txt"; + + var downloadWin = function (entry) { + + expect(entry.toNativeURL).toBeDefined(); + expect(entry.toNativeURL).toEqual(jasmine.any(Function)); + + var nativeURL = entry.toNativeURL(); + + expect(nativeURL).toBeTruthy(); + expect(nativeURL).toEqual(jasmine.any(String)); + + if (isWindows) { + expect(nativeURL.substring(0, 14)).toBe('ms-appdata:///'); + } else if (isWP8) { + expect(nativeURL.substring(0, 1)).toBe('/'); + } else { + expect(nativeURL.substring(0, 7)).toBe('file://'); + } + + done(); + }; + + transfer.download(fileURL, localFilePath, downloadWin, unexpectedCallbacks.httpFail); + }, DOWNLOAD_TIMEOUT); + + it("filetransfer.spec.28 (compatibility) should be able to download a file using local paths", function (done) { + + var fileURL = SERVER + "/robots.txt"; + + var unsupported = function (response) { + expectedCallbacks.unsupportedOperation(response); + done(); + }; + + var downloadWin = function (entry) { + verifyDownload(entry); + done(); + }; + + var internalFilePath; + if (root.toInternalURL) { + internalFilePath = root.toInternalURL() + fileName; + } else { + internalFilePath = localFilePath; + } + + // This is an undocumented interface to File which exists only for testing + // backwards compatibilty. By obtaining the raw filesystem path of the download + // location, we can pass that to transfer.download() to make sure that previously-stored + // paths are still valid. + cordova.exec(function (localPath) { + transfer.download(fileURL, localPath, downloadWin, unexpectedCallbacks.httpFail); + }, unsupported, 'File', '_getLocalFilesystemPath', [internalFilePath]); + }); + }); + + describe('upload', function() { + + var uploadParams; + var uploadOptions; + + var fileName; + var fileContents; + var localFilePath; + + // helpers + var verifyUpload = function (uploadResult) { + + expect(uploadResult.bytesSent).toBeGreaterThan(0); + expect(uploadResult.responseCode).toBe(200); + + var obj = null; + try { + obj = JSON.parse(uploadResult.response); + expect(obj.fields).toBeDefined(); + expect(obj.fields.value1).toBe("test"); + expect(obj.fields.value2).toBe("param"); + } catch (e) { + expect(obj).not.toBeNull('returned data from server should be valid json'); + } + + expect(transfer.onprogress).toHaveBeenCalled(); + }; + + beforeEach(function(done) { + + fileName = 'fileToUpload.txt'; + fileContents = 'upload test file'; + + uploadParams = {}; + uploadParams.value1 = "test"; + uploadParams.value2 = "param"; + + uploadOptions = new FileUploadOptions(); + uploadOptions.fileKey = "file"; + uploadOptions.fileName = fileName; + uploadOptions.mimeType = "text/plain"; + uploadOptions.params = uploadParams; + + var fileWin = function (entry) { + localFilePath = entry.toURL(); + done(); + }; + + // create a file to upload + writeFile(root, fileName, fileContents, fileWin); + }); + + // delete the uploaded file + afterEach(function (done) { + deleteFile(root, fileName, done); + }); + + it("filetransfer.spec.18 should be able to upload a file", function (done) { + + var fileURL = SERVER + '/upload'; + + var uploadWin = function (uploadResult) { + + verifyUpload(uploadResult); + + if (cordova.platformId === 'ios') { + expect(uploadResult.headers).toBeDefined('Expected headers to be defined.'); + expect(uploadResult.headers['Content-Type']).toBeDefined('Expected content-type header to be defined.'); + } + + done(); + }; + + // NOTE: removing uploadOptions cause Android to timeout + transfer.upload(localFilePath, fileURL, uploadWin, unexpectedCallbacks.httpFail, uploadOptions); + }, UPLOAD_TIMEOUT); + + it("filetransfer.spec.19 should be able to upload a file with http basic auth", function (done) { + + var fileURL = SERVER_WITH_CREDENTIALS + "/upload_basic_auth"; + + var uploadWin = function (uploadResult) { + verifyUpload(uploadResult); + done(); + }; + + // NOTE: removing uploadOptions cause Android to timeout + transfer.upload(localFilePath, fileURL, uploadWin, unexpectedCallbacks.httpFail, uploadOptions); + }, UPLOAD_TIMEOUT); + + it("filetransfer.spec.21 should be stopped by abort() right away", function (done) { + + var fileURL = SERVER + '/upload'; + var startTime; + + var uploadFail = function (e) { + expect(e.code).toBe(FileTransferError.ABORT_ERR); + expect(new Date() - startTime).toBeLessThan(GRACE_TIME_DELTA); + + // delay calling done() to wait for the bogus abort() + setTimeout(done, GRACE_TIME_DELTA * 2); + }; + + var fileWin = function () { + + startTime = +new Date(); + + expect(transfer.abort).not.toThrow(); + + // NOTE: removing uploadOptions cause Android to timeout + transfer.upload(localFilePath, fileURL, unexpectedCallbacks.httpWin, uploadFail, uploadOptions); + setTimeout(function() { + transfer.abort(); + }, ABORT_DELAY); + + setTimeout(function () { + expect(transfer.abort).not.toThrow(); + }, GRACE_TIME_DELTA); + }; + + writeFile(root, fileName, new Array(100000).join('aborttest!'), fileWin); + }, UPLOAD_TIMEOUT); + + it("filetransfer.spec.22 should get http status and body on failure", function (done) { + + var fileURL = SERVER + '/403'; + + var uploadFail = function (error) { + expect(error.http_status).toBe(403); + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + done(); + }; + + transfer.upload(localFilePath, fileURL, unexpectedCallbacks.httpWin, uploadFail, uploadOptions); + }, UPLOAD_TIMEOUT); + + it("filetransfer.spec.24 should handle malformed urls", function (done) { + + var fileURL = getMalformedUrl(); + + var uploadFail = function (error) { + expect(error.code).toBe(FileTransferError.INVALID_URL_ERR); + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + done(); + }; + + transfer.upload(localFilePath, fileURL, unexpectedCallbacks.httpWin, uploadFail, {}); + }); + + it("filetransfer.spec.25 should handle unknown host", function (done) { + + var fileURL = UNKNOWN_HOST; + + var uploadFail = function (error) { + expect(error.code).toBe(FileTransferError.CONNECTION_ERR); + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + done(); + }; + + transfer.upload(localFilePath, fileURL, unexpectedCallbacks.httpWin, uploadFail, {}); + }, UPLOAD_TIMEOUT); + + it("filetransfer.spec.25 should handle missing file", function (done) { + + var fileURL = SERVER + "/upload"; + + var uploadFail = function (error) { + expect(error.code).toBe(FileTransferError.FILE_NOT_FOUND_ERR); + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + done(); + }; + + transfer.upload('does_not_exist.txt', fileURL, unexpectedCallbacks.httpWin, uploadFail); + }, UPLOAD_TIMEOUT); + + it("filetransfer.spec.26 should handle bad file path", function (done) { + + var fileURL = SERVER + "/upload"; + + var uploadFail = function (error) { + expect(error.http_status).not.toBe(401, "Ensure " + fileURL + " is in the white list"); + done(); + }; + + transfer.upload("c:\\54321", fileURL, unexpectedCallbacks.httpWin, uploadFail); + }); + + it("filetransfer.spec.27 should be able to set custom headers", function (done) { + + if (cordova.platformId === 'windowsphone') { + pending(); + } + + var fileURL = HEADERS_ECHO; + + var uploadWin = function (uploadResult) { + + expect(uploadResult.bytesSent).toBeGreaterThan(0); + expect(uploadResult.responseCode).toBe(200); + expect(uploadResult.response).toBeDefined(); + + var responseHtml = decodeURIComponent(uploadResult.response); + + expect(responseHtml).toMatch(/CustomHeader1[\s\S]*CustomValue1/i); + expect(responseHtml).toMatch(/CustomHeader2[\s\S]*CustomValue2[\s\S]*CustomValue3/i, "Should allow array values"); + + done(); + }; + + uploadOptions.headers = { + "CustomHeader1": "CustomValue1", + "CustomHeader2": ["CustomValue2", "CustomValue3"], + }; + + // NOTE: removing uploadOptions cause Android to timeout + transfer.upload(localFilePath, fileURL, uploadWin, unexpectedCallbacks.httpFail, uploadOptions); + }, UPLOAD_TIMEOUT); + + it("filetransfer.spec.29 (compatibility) should be able to upload a file using local paths", function (done) { + + var fileURL = SERVER + "/upload"; + + var unsupported = function (response) { + expectedCallbacks.unsupportedOperation(response); + done(); + }; + + var uploadWin = function (uploadResult) { + verifyUpload(uploadResult); + done(); + }; + + var internalFilePath; + if (root.toInternalURL) { + internalFilePath = root.toInternalURL() + fileName; + } else { + internalFilePath = localFilePath; + } + + // This is an undocumented interface to File which exists only for testing + // backwards compatibilty. By obtaining the raw filesystem path of the download + // location, we can pass that to transfer.download() to make sure that previously-stored + // paths are still valid. + cordova.exec(function (localPath) { + transfer.upload(localPath, fileURL, uploadWin, unexpectedCallbacks.httpFail, uploadOptions); + }, unsupported, 'File', '_getLocalFilesystemPath', [internalFilePath]); + }, UPLOAD_TIMEOUT); + }); + }); + }); +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + var imageURL = "http://apache.org/images/feather-small.gif"; + var videoURL = "http://techslides.com/demos/sample-videos/small.mp4"; + + function clearResults() { + var results = document.getElementById("info"); + results.innerHTML = ''; + } + + function downloadImg(source, urlFn, element, directory) { + var filename = source.substring(source.lastIndexOf("/") + 1); + filename = (directory || '') + filename; + function download(fileSystem) { + var ft = new FileTransfer(); + console.log("Starting download"); + ft.download(source, fileSystem.root.toURL() + filename, function (entry) { + console.log("Download complete"); + element.src = urlFn(entry); + console.log("Src URL is " + element.src); + console.log("Inserting element"); + document.getElementById("info").appendChild(element); + }, function (e) { console.log("ERROR: ft.download " + e.code); }); + } + console.log("Requesting filesystem"); + clearResults(); + window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function (fileSystem) { + console.log("Checking for existing file"); + if (typeof directory !== 'undefined') { + console.log("Checking for existing directory."); + fileSystem.root.getDirectory(directory, {}, function (dirEntry) { + dirEntry.removeRecursively(function () { + download(fileSystem); + }, function () { console.log("ERROR: dirEntry.removeRecursively"); }); + }, function () { + download(fileSystem); + }); + } else { + fileSystem.root.getFile(filename, { create: false }, function (entry) { + console.log("Removing existing file"); + entry.remove(function () { + download(fileSystem); + }, function () { console.log("ERROR: entry.remove"); }); + }, function () { + download(fileSystem); + }); + } + }, function () { console.log("ERROR: requestFileSystem"); }); + } + + /******************************************************************************/ + + var file_transfer_tests = '

Image File Transfer Tests

' + + '

The following tests should display an image of the Apache feather in the status box

' + + '
' + + '
' + + '
' + + '

Video File Transfer Tests

' + + '

The following tests should display a video in the status box. The video should play when play is pressed

' + + '
' + + '
'; + + contentEl.innerHTML = '
' + + file_transfer_tests; + + createActionButton('Download and display img (cdvfile)', function () { + downloadImg(imageURL, function (entry) { return entry.toInternalURL(); }, new Image()); + }, 'cdv_image'); + + createActionButton('Download and display img (native)', function () { + downloadImg(imageURL, function (entry) { return entry.toURL(); }, new Image()); + }, 'native_image'); + + createActionButton('Download to a non-existent dir (should work)', function () { + downloadImg(imageURL, function (entry) { return entry.toURL(); }, new Image(), '/nonExistentDirTest/'); + }, 'non-existent_dir'); + + createActionButton('Download and play video (cdvfile)', function () { + var videoElement = document.createElement('video'); + videoElement.controls = "controls"; + downloadImg(videoURL, function (entry) { return entry.toInternalURL(); }, videoElement); + }, 'cdv_video'); + + createActionButton('Download and play video (native)', function () { + var videoElement = document.createElement('video'); + videoElement.controls = "controls"; + downloadImg(videoURL, function (entry) { return entry.toURL(); }, videoElement); + }, 'native_video'); +}; diff --git a/test/unittest/tests/geolocation.tests.js b/test/unittest/tests/geolocation.tests.js new file mode 100644 index 0000000..2d445c0 --- /dev/null +++ b/test/unittest/tests/geolocation.tests.js @@ -0,0 +1,425 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +exports.defineAutoTests = function () { + var fail = function (done, context, message) { + // prevents done() to be called several times + if (context) { + if (context.done) return; + context.done = true; + } + + if (message) { + expect(false).toBe(true, message); + } else { + expect(false).toBe(true); + } + + // watchPosition could call its callback sync (before returning the value) + // so we invoke done async to make sure we know watcher id to .clear in afterEach + setTimeout(function () { + done(); + }); + }, + succeed = function (done, context) { + // prevents done() to be called several times + if (context) { + if (context.done) return; + context.done = true; + } + + expect(true).toBe(true); + + // watchPosition could call its callback sync (before returning the value) + // so we invoke done async to make sure we know watcher id to .clear in afterEach + setTimeout(function () { + done(); + }); + }, + isWindowsStore = (cordova.platformId == "windows8") || (cordova.platformId == "windows" && !WinJS.Utilities.isPhone), + isAndroid = cordova.platformId == "android"; + + describe('Geolocation (navigator.geolocation)', function () { + + it("geolocation.spec.1 should exist", function () { + expect(navigator.geolocation).toBeDefined(); + }); + + it("geolocation.spec.2 should contain a getCurrentPosition function", function () { + expect(typeof navigator.geolocation.getCurrentPosition).toBeDefined(); + expect(typeof navigator.geolocation.getCurrentPosition == 'function').toBe(true); + }); + + it("geolocation.spec.3 should contain a watchPosition function", function () { + expect(typeof navigator.geolocation.watchPosition).toBeDefined(); + expect(typeof navigator.geolocation.watchPosition == 'function').toBe(true); + }); + + it("geolocation.spec.4 should contain a clearWatch function", function () { + expect(typeof navigator.geolocation.clearWatch).toBeDefined(); + expect(typeof navigator.geolocation.clearWatch == 'function').toBe(true); + }); + + }); + + describe('getCurrentPosition method', function () { + + describe('error callback', function () { + + it("geolocation.spec.5 should be called if we set timeout to 0 and maximumAge to a very small number", function (done) { + // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running. + // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect + // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually. + if (isWindowsStore || isAndroid) { + pending(); + } + + navigator.geolocation.getCurrentPosition( + fail.bind(null, done), + succeed.bind(null, done), + { + maximumAge: 0, + timeout: 0 + }); + }); + + }); + + describe('success callback', function () { + + it("geolocation.spec.6 should be called with a Position object", function (done) { + // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running. + // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect + // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually. + if (isWindowsStore || isAndroid) { + pending(); + } + + navigator.geolocation.getCurrentPosition(function (p) { + expect(p.coords).toBeDefined(); + expect(p.timestamp).toBeDefined(); + done(); + }, + fail.bind(null, done), + { + maximumAge: (5 * 60 * 1000) // 5 minutes maximum age of cached position + }); + }, 25000); // first geolocation call can take several seconds on some devices + }); + + }); + + describe('watchPosition method', function () { + + beforeEach(function(done) { + // This timeout is set to lessen the load on platform's geolocation services + // which were causing occasional test failures + setTimeout(function() { + done(); + }, 100); + }); + + describe('error callback', function () { + + var errorWatch = null; + afterEach(function () { + navigator.geolocation.clearWatch(errorWatch); + }); + + it("geolocation.spec.7 should be called if we set timeout to 0 and maximumAge to a very small number", function (done) { + // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running. + // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect + // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually. + if (isWindowsStore || isAndroid) { + pending(); + } + + var context = this; + errorWatch = navigator.geolocation.watchPosition( + fail.bind(null, done, context, 'Unexpected win'), + succeed.bind(null, done, context), + { + maximumAge: 0, + timeout: 0 + }); + }); + + }); + + describe('success callback', function () { + + var successWatch = null; + afterEach(function () { + navigator.geolocation.clearWatch(successWatch); + }); + + it("geolocation.spec.8 should be called with a Position object", function (done) { + // On Windows, this test prompts user for permission to use geolocation and interrupts autotests running. + // On Android geolocation Api is not available on emulator so we pended tests until we found the way to detect + // whether we run on emulator or real device from JavaScript. You can still run the tests on Android manually. + if (isWindowsStore || isAndroid) { + pending(); + } + + var context = this; + successWatch = navigator.geolocation.watchPosition( + function (p) { + // prevents done() to be called several times + if (context.done) return; + context.done = true; + + expect(p.coords).toBeDefined(); + expect(p.timestamp).toBeDefined(); + // callback could be called sync so we invoke done async to make sure we know watcher id to .clear in afterEach + setTimeout(function () { + done(); + }); + }, + fail.bind(null, done, context, 'Unexpected fail callback'), + { + maximumAge: (5 * 60 * 1000) // 5 minutes maximum age of cached position + }); + }); + + }); + + }); + +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + var newGeolocation = navigator.geolocation; + var origGeolocation = cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.geolocation'); + if (!origGeolocation) { + origGeolocation = newGeolocation; + newGeolocation = null; + } + + var watchLocationId = null; + + /** + * Start watching location + */ + var watchLocation = function (usePlugin) { + console.log("watchLocation()"); + var geo = usePlugin ? newGeolocation : origGeolocation; + if (!geo) { + alert('geolocation object is missing. usePlugin = ' + usePlugin); + return; + } + + // Success callback + var success = function (p) { + setLocationDetails(p); + }; + + // Fail callback + var fail = function (e) { + console.log("watchLocation fail callback with error code " + e); + stopLocation(geo); + }; + + // Get location + watchLocationId = geo.watchPosition(success, fail, { enableHighAccuracy: true }); + setLocationStatus("Running"); + }; + + /** + * Stop watching the location + */ + var stopLocation = function (usePlugin) { + console.log("stopLocation()"); + var geo = usePlugin ? newGeolocation : origGeolocation; + if (!geo) { + alert('geolocation object is missing. usePlugin = ' + usePlugin); + return; + } + setLocationStatus("Stopped"); + if (watchLocationId) { + geo.clearWatch(watchLocationId); + watchLocationId = null; + } + }; + + /** + * Get current location + */ + var getLocation = function (usePlugin, opts) { + console.log("getLocation()"); + var geo = usePlugin ? newGeolocation : origGeolocation; + if (!geo) { + alert('geolocation object is missing. usePlugin = ' + usePlugin); + return; + } + + // Stop location if running + stopLocation(geo); + + // Success callback + var success = function (p) { + setLocationDetails(p); + setLocationStatus("Done"); + }; + + // Fail callback + var fail = function (e) { + console.log("getLocation fail callback with error code " + e.code); + setLocationStatus("Error: " + e.code); + }; + + setLocationStatus("Retrieving location..."); + + // Get location + geo.getCurrentPosition(success, fail, opts || { enableHighAccuracy: true }); //, {timeout: 10000}); + + }; + + /** + * Set location status + */ + var setLocationStatus = function (status) { + document.getElementById('location_status').innerHTML = status; + }; + var setLocationDetails = function (p) { + var date = (new Date(p.timestamp)); + document.getElementById('latitude').innerHTML = p.coords.latitude; + document.getElementById('longitude').innerHTML = p.coords.longitude; + document.getElementById('altitude').innerHTML = p.coords.altitude; + document.getElementById('accuracy').innerHTML = p.coords.accuracy; + document.getElementById('heading').innerHTML = p.coords.heading; + document.getElementById('speed').innerHTML = p.coords.speed; + document.getElementById('altitude_accuracy').innerHTML = p.coords.altitudeAccuracy; + document.getElementById('timestamp').innerHTML = date.toDateString() + " " + date.toTimeString(); + } + + /******************************************************************************/ + + var location_div = '
' + + 'Status: Stopped' + + '', + latitude = '' + + '' + + '' + + '' + + '', + longitude = '' + + '' + + '' + + '' + + '', + altitude = '' + + '' + + '' + + '' + + '', + accuracy = '' + + '' + + '' + + '' + + '', + heading = '' + + '' + + '' + + '' + + '', + speed = '' + + '' + + '' + + '' + + '', + altitude_accuracy = '' + + '' + + '' + + '' + + '', + time = '' + + '' + + '' + + '' + + '' + + '
Latitude: (decimal degrees) geographic coordinate [#ref]
Longitude: (decimal degrees) geographic coordinate [#ref]
Altitude: null if not supported;
' + + '(meters) height above the [WGS84] ellipsoid. [#ref]
Accuracy: (meters; non-negative; 95% confidence level) the accuracy level of the latitude and longitude coordinates. [#ref]
Heading: null if not supported;
' + + 'NaN if speed == 0;
' + + '(degrees; 0° ? heading < 360°) direction of travel of the hosting device- counting clockwise relative to the true north. [#ref]
Speed: null if not supported;
' + + '(meters per second; non-negative) magnitude of the horizontal component of the hosting device current velocity. [#ref]
Altitude Accuracy: null if not supported;
(meters; non-negative; 95% confidence level) the accuracy level of the altitude. [#ref]
Time: (DOMTimeStamp) when the position was acquired [#ref]
' + + '
', + actions = + '

Use Built-in WebView navigator.geolocation

' + + '
' + + 'Expected result: Will update all applicable values in status box for current location. Status will read Retrieving Location (may not see this if location is retrieved immediately) then Done.' + + '

' + + 'Expected result: Will update all applicable values in status box for current location and update as location changes. Status will read Running.' + + '

' + + 'Expected result: Will stop watching the location so values will not be updated. Status will read Stopped.' + + '

' + + 'Expected result: Will update location values with a cached position that is up to 30 seconds old. Verify with time value. Status will read Done.' + + '

Use Cordova Geolocation Plugin

' + + '
' + + 'Expected result: Will update all applicable values in status box for current location. Status will read Retrieving Location (may not see this if location is retrieved immediately) then Done.' + + '

' + + 'Expected result: Will update all applicable values in status box for current location and update as location changes. Status will read Running.' + + '

' + + 'Expected result: Will stop watching the location so values will not be updated. Status will read Stopped.' + + '

' + + 'Expected result: Will update location values with a cached position that is up to 30 seconds old. Verify with time value. Status will read Done.', + values_info = + '

Details about each value are listed below in the status box

', + note = + '

Allow use of current location, if prompted

'; + + contentEl.innerHTML = values_info + location_div + latitude + longitude + altitude + accuracy + heading + speed + + altitude_accuracy + time + note + actions; + + createActionButton('Get Location', function () { + getLocation(false); + }, 'built-in-getLocation'); + + createActionButton('Start Watching Location', function () { + watchLocation(false); + }, 'built-in-watchLocation'); + + createActionButton('Stop Watching Location', function () { + stopLocation(false); + }, 'built-in-stopLocation'); + + createActionButton('Get Location Up to 30 Sec Old', function () { + getLocation(false, { maximumAge: 30000 }); + }, 'built-in-getOld'); + + createActionButton('Get Location', function () { + getLocation(true); + }, 'cordova-getLocation'); + + createActionButton('Start Watching Location', function () { + watchLocation(true); + }, 'cordova-watchLocation'); + + createActionButton('Stop Watching Location', function () { + stopLocation(true); + }, 'cordova-stopLocation'); + + createActionButton('Get Location Up to 30 Sec Old', function () { + getLocation(true, { maximumAge: 30000 }); + }, 'cordova-getOld'); +}; diff --git a/test/unittest/tests/globalization.tests.js b/test/unittest/tests/globalization.tests.js new file mode 100644 index 0000000..98fd31d --- /dev/null +++ b/test/unittest/tests/globalization.tests.js @@ -0,0 +1,555 @@ +/* +* +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, +* software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +* KIND, either express or implied. See the License for the +* specific language governing permissions and limitations +* under the License. +* +*/ + +exports.defineAutoTests = function () { + var isWindowsPhone = cordova.platformId == 'windowsphone', + isWindows = (cordova.platformId === "windows") || (cordova.platformId === "windows8"), + isBrowser = cordova.platformId === "browser"; + + var fail = function (done) { + expect(true).toBe(false); + done(); + }; + + describe('Globalization (navigator.globalization)', function () { + + it("globalization.spec.1 should exist", function () { + expect(navigator.globalization).toBeDefined(); + }); + + describe("getPreferredLanguage", function () { + var checkPreferredLanguage = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.value).toBeDefined(); + expect(typeof a.value).toBe('string'); + expect(a.value.length > 0).toBe(true); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.getPreferredLanguage).toBeDefined(); + expect(typeof navigator.globalization.getPreferredLanguage == 'function').toBe(true); + }); + it("globalization.spec.3 getPreferredLanguage success callback should be called with a Properties object", function (done) { + navigator.globalization.getPreferredLanguage(function (a) { + checkPreferredLanguage(a); + done(); + }, + fail.bind(null, done)); + }); + it("globalization.spec.4 getPreferredLanguage return string should contain one or more language subtags separated by hyphen", function (done) { + navigator.globalization.getPreferredLanguage(function (a) { + checkPreferredLanguage(a); + expect(a.value.indexOf('_')).toBe(-1); + + // A language tag is composed from a sequence of one or more "subtags", separated by hyphen. + // https://tools.ietf.org/html/bcp47#section-2.1 + expect(a.value.split('-').length).toBeGreaterThan(0); + + done(); + }, fail.bind(null, done)); + }); + }); + + describe("getLocaleName", function () { + var checkLocaleName = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.value).toBeDefined(); + expect(typeof a.value).toBe('string'); + expect(a.value.length > 0).toBe(true); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.getLocaleName).toBeDefined(); + expect(typeof navigator.globalization.getLocaleName == 'function').toBe(true); + }); + it("globalization.spec.3 getLocaleName success callback should be called with a Properties object", function (done) { + navigator.globalization.getLocaleName(function (a) { + checkLocaleName(a); + done() + }, fail.bind(null, done)); + }); + it("globalization.spec.4 getLocaleName return string should have a hyphen", function (done) { + navigator.globalization.getLocaleName(function (a) { + checkLocaleName(a); + expect(a.value.indexOf('_')).toBe(-1); + if (!isBrowser){ + // The browser implementation returns non-BCP 47 compatible + // value in Chrome so we need to skip this expectation. See + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#browser-quirks-1 + expect(a.value.indexOf('-')).toBeGreaterThan(0); + } + done(); + }, fail.bind(null, done)); + }); + }); + + describe('Globalization Constants (window.Globalization)', function () { + it("globalization.spec.1 should exist", function () { + expect(window.GlobalizationError).toBeDefined(); + expect(window.GlobalizationError.UNKNOWN_ERROR).toBe(0); + expect(window.GlobalizationError.FORMATTING_ERROR).toBe(1); + expect(window.GlobalizationError.PARSING_ERROR).toBe(2); + expect(window.GlobalizationError.PATTERN_ERROR).toBe(3); + }); + }); + + describe("dateToString", function () { + var checkDateToString = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.value).toBeDefined(); + expect(typeof a.value).toBe('string'); + expect(a.value.length > 0).toBe(true); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.dateToString).toBeDefined(); + expect(typeof navigator.globalization.dateToString == 'function').toBe(true); + }); + it("globalization.spec.5 dateToString using default options, success callback should be called with a Properties object", function (done) { + navigator.globalization.dateToString(new Date(), function (a) { + checkDateToString(a); + done(); + }, fail.bind(null, done)); + }); + it("globalization.spec.6 dateToString using formatLength=short and selector=date options, success callback should be called with a Properties object", function (done) { + navigator.globalization.dateToString(new Date(), function (a) { + checkDateToString(a); + done(); + }, fail.bind(null, done), + { formatLength: 'short', selector: 'date' }); + }); + it("globalization.spec.7 dateToString using formatLength=full and selector=date options, success callback should be called with a Properties object", function (done) { + navigator.globalization.dateToString(new Date(), function (a) { + checkDateToString(a); + done(); + }, fail.bind(null, done), + { formatLength: 'full', selector: 'date' }); + }); + it("globalization.spec.8 dateToString using formatLength=medium and selector=date and time(default) options, success callback should be called with a Properties object", function (done) { + navigator.globalization.dateToString(new Date(), function (a) { + checkDateToString(a); + done(); + }, fail.bind(null, done), + { formatLength: 'medium' }); + }); + it("globalization.spec.9 dateToString using formatLength=long and selector=date and time(default) options, success callback should be called with a Properties object", function (done) { + navigator.globalization.dateToString(new Date(), function (a) { + checkDateToString(a); + done(); + }, fail.bind(null, done), + { formatLength: 'long' }); + }); + it("globalization.spec.10 dateToString using formatLength=full and selector=date and time(default) options, success callback should be called with a Properties object", function (done) { + navigator.globalization.dateToString(new Date(), function (a) { + checkDateToString(a); + done(); + }, fail.bind(null, done), + { formatLength: 'full' }); + }); + }); + + describe("stringToDate", function () { + var checkStringToDate = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.year).toBeDefined(); + expect(typeof a.year).toBe('number'); + expect(a.year >= 0 && a.year <= 9999).toBe(true); + expect(a.month).toBeDefined(); + expect(typeof a.month).toBe('number'); + expect(a.month >= 0 && a.month <= 11).toBe(true); + expect(a.day).toBeDefined(); + expect(typeof a.day).toBe('number'); + expect(a.day >= 1 && a.day <= 31).toBe(true); + expect(a.hour).toBeDefined(); + expect(typeof a.hour).toBe('number'); + expect(a.hour >= 0 && a.hour <= 23).toBe(true); + expect(a.minute).toBeDefined(); + expect(typeof a.minute).toBe('number'); + expect(a.minute >= 0 && a.minute <= 59).toBe(true); + expect(a.second).toBeDefined(); + expect(typeof a.second).toBe('number'); + expect(a.second >= 0 && a.second <= 59).toBe(true); + expect(a.millisecond).toBeDefined(); + expect(typeof a.millisecond).toBe('number'); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.stringToDate).toBeDefined(); + expect(typeof navigator.globalization.stringToDate == 'function').toBe(true); + }); + it("globalization.spec.12 stringToDate using default options, success callback should be called with a Properties object", function (done) { + var win = function (a) { + checkStringToDate(a); + done(); + }; + + navigator.globalization.dateToString(new Date(), function (a) { + navigator.globalization.stringToDate(a.value, win, fail.bind(null, done)); + }, fail.bind(null, done)); + }); + it("globalization.spec.13 stringToDate using formatLength=short and selector=date options, success callback should be called with a Properties object", function (done) { + var win = function (a) { + checkStringToDate(a); + done(); + }; + + navigator.globalization.dateToString(new Date(), function (a) { + navigator.globalization.stringToDate(a.value, win, fail.bind(null, done), { formatLength: 'short', selector: 'date' }); + }, fail.bind(null, done), { formatLength: 'short', selector: 'date' }); + }); + it("globalization.spec.14 stringToDate using formatLength=full and selector=date options, success callback should be called with a Properties object", function (done) { + var win = function (a) { + checkStringToDate(a); + done(); + }; + + navigator.globalization.dateToString(new Date(), function (a) { + navigator.globalization.stringToDate(a.value, win, fail.bind(null, done), { formatLength: 'full', selector: 'date' }); + }, fail.bind(null, done), { formatLength: 'full', selector: 'date' }); + }); + it("globalization.spec.15 stringToDate using invalid date, error callback should be called with a GlobalizationError object", function (done) { + navigator.globalization.stringToDate('notADate', fail.bind(null, done), function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.code).toBeDefined(); + expect(typeof a.code).toBe('number'); + expect(a.code === GlobalizationError.PARSING_ERROR).toBe(true); + expect(a.message).toBeDefined(); + expect(typeof a.message).toBe('string'); + expect(a.message !== "").toBe(true); + done(); + }, { selector: 'foobar' }); + }); + }); + + describe("getDatePattern", function () { + var checkDatePattern = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.pattern).toBeDefined(); + expect(typeof a.pattern).toBe('string'); + if (!isBrowser) { + // In browser the 'pattern' property is not supported and returns empty string. + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#browser-quirks-4 + expect(a.pattern.length > 0).toBe(true); + } + expect(a.timezone).toBeDefined(); + expect(typeof a.timezone).toBe('string'); + if (!isBrowser) { + // The browser platform partially supports 'timezone'. Only Chrome returns 'timezone' property. + // Its format is "Part of the world/{City}". Other browsers return empty string. + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#browser-quirks-4 + expect(a.pattern.length > 0).toBe(true); + } + expect(a.timezone.length > 0).toBe(true); + expect(a.utc_offset).toBeDefined(); + expect(typeof a.utc_offset).toBe('number'); + expect(a.dst_offset).toBeDefined(); + expect(typeof a.dst_offset).toBe('number'); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.getDatePattern).toBeDefined(); + expect(typeof navigator.globalization.getDatePattern == 'function').toBe(true); + }); + it("globalization.spec.17 getDatePattern using default options, success callback should be called with a Properties object", function (done) { + navigator.globalization.getDatePattern(function (a) { + checkDatePattern(a); + done(); + }, fail.bind(null, done)); + }); + it("globalization.spec.18 getDatePattern using formatLength=medium and selector=date options, success callback should be called with a Properties object", function (done) { + navigator.globalization.getDatePattern(function (a) { + checkDatePattern(a); + done(); + }, fail.bind(null, done), + { formatLength: 'medium', selector: 'date' }); + }); + }); + + describe("getDateNames", function () { + var checkDateNames = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.value).toBeDefined(); + expect(a.value instanceof Array).toBe(true); + expect(a.value.length > 0).toBe(true); + expect(typeof a.value[0]).toBe('string'); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.getDateNames).toBeDefined(); + expect(typeof navigator.globalization.getDateNames == 'function').toBe(true); + }); + it("globalization.spec.20 getDateNames using default options, success callback should be called with a Properties object", function (done) { + navigator.globalization.getDateNames(function (a) { + checkDateNames(a); + done(); + }, fail.bind(null, done)); + }); + it("globalization.spec.21 getDateNames using type=narrow and item=days options, success callback should be called with a Properties object", function (done) { + navigator.globalization.getDateNames(function (a) { + checkDateNames(a); + done(); + }, fail.bind(null, done), + { type: 'narrow', item: 'days' }); + }); + it("globalization.spec.22 getDateNames using type=narrow and item=months options, success callback should be called with a Properties object", function (done) { + navigator.globalization.getDateNames(function (a) { + checkDateNames(a); + done(); + }, fail.bind(null, done), + { type: 'narrow', item: 'months' }); + }); + it("globalization.spec.23 getDateNames using type=wide and item=days options, success callback should be called with a Properties object", function (done) { + navigator.globalization.getDateNames(function (a) { + checkDateNames(a); + done(); + }, fail.bind(null, done), + { type: 'wide', item: 'days' }); + }); + it("globalization.spec.24 getDateNames using type=wide and item=months options, success callback should be called with a Properties object", function (done) { + navigator.globalization.getDateNames(function (a) { + checkDateNames(a); + done(); + }, fail.bind(null, done), + { type: 'wide', item: 'months' }); + }); + }); + + describe("isDayLightSavingsTime", function () { + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.isDayLightSavingsTime).toBeDefined(); + expect(typeof navigator.globalization.isDayLightSavingsTime == 'function').toBe(true); + }); + it("globalization.spec.26 isDayLightSavingsTime using default options, success callback should be called with a Properties object", function (done) { + navigator.globalization.isDayLightSavingsTime(new Date(), function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.dst).toBeDefined(); + expect(typeof a.dst).toBe('boolean'); + done(); + }, fail.bind(null, done)); + }); + }); + + describe("getFirstDayOfWeek", function () { + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.getFirstDayOfWeek).toBeDefined(); + expect(typeof navigator.globalization.getFirstDayOfWeek == 'function').toBe(true); + }); + it("globalization.spec.28 getFirstDayOfWeek success callback should be called with a Properties object", function (done) { + navigator.globalization.getFirstDayOfWeek(function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.value).toBeDefined(); + expect(typeof a.value).toBe('number'); + done(); + }, fail.bind(null, done)); + }); + }); + + describe("numberToString", function () { + var checkNumberToString = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.value).toBeDefined(); + expect(typeof a.value).toBe('string'); + expect(a.value.length > 0).toBe(true); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.numberToString).toBeDefined(); + expect(typeof navigator.globalization.numberToString == 'function').toBe(true); + }); + it("globalization.spec.30 numberToString using default options, should be called with a Properties object", function (done) { + navigator.globalization.numberToString(3.25, function (a) { + checkNumberToString(a); + done(); + }, fail.bind(null, done)); + }); + it("globalization.spec.31 numberToString using type=percent options, should be called with a Properties object", function (done) { + navigator.globalization.numberToString(.25, function (a) { + checkNumberToString(a); + done(); + }, fail.bind(null, done), + { type: 'percent' }); + }); + it("globalization.spec.32 numberToString using type=currency options, should be called with a Properties object", function (done) { + // the numberToString using type=currency is not supported on browser + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#browser-quirks-7 + if (isBrowser) { + pending(); + } + navigator.globalization.numberToString(5.20, function (a) { + checkNumberToString(a); + done(); + }, fail.bind(null, done), + { type: 'currency' }); + }); + }); + + describe("stringToNumber", function () { + var checkStringToNumber = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.value).toBeDefined(); + expect(typeof a.value).toBe('number'); + expect(a.value > 0).toBe(true); + }; + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.stringToNumber).toBeDefined(); + expect(typeof navigator.globalization.stringToNumber == 'function').toBe(true); + }); + it("globalization.spec.34 stringToNumber using default options, should be called with a Properties object", function (done) { + // the stringToNumber is not supported on browser + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#supported-platforms-11 + if (isBrowser) { + pending(); + } + var win = function (a) { + checkStringToNumber(a); + done(); + }; + + navigator.globalization.numberToString(3.25, function (a) { + navigator.globalization.stringToNumber(a.value, win, fail.bind(null, done)); + }, fail.bind(null, done)); + }); + it("globalization.spec.35 stringToNumber using type=percent options, should be called with a Properties object", function (done) { + // the stringToNumber is not supported on browser + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#supported-platforms-11 + if (isBrowser) { + pending(); + } + var win = function (a) { + checkStringToNumber(a); + done(); + }; + + navigator.globalization.numberToString(.25, function (a) { + navigator.globalization.stringToNumber(a.value, win, fail.bind(null, done), { type: 'percent' }); + }, fail.bind(null, done), { type: 'percent' }); + }); + }); + + describe("getNumberPattern", function () { + var checkNumberPattern = function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.pattern).toBeDefined(); + expect(typeof a.pattern).toBe('string'); + expect(a.pattern.length > 0).toBe(true); + expect(typeof a.symbol).toBe('string'); + expect(typeof a.fraction).toBe('number'); + expect(typeof a.rounding).toBe('number'); + expect(a.positive).toBeDefined(); + expect(typeof a.positive).toBe('string'); + expect(a.positive.length >= 0).toBe(true); + expect(a.negative).toBeDefined(); + expect(typeof a.negative).toBe('string'); + expect(a.negative.length >= 0).toBe(true); + expect(a.decimal).toBeDefined(); + expect(typeof a.decimal).toBe('string'); + expect(a.decimal.length > 0).toBe(true); + expect(a.grouping).toBeDefined(); + expect(typeof a.grouping).toBe('string'); + expect(a.grouping.length > 0).toBe(true); + }; + + it("globalization.spec.1 should exist", function () { + expect(typeof navigator.globalization.getNumberPattern).toBeDefined(); + expect(typeof navigator.globalization.getNumberPattern == 'function').toBe(true); + }); + it("globalization.spec.37 getNumberPattern using default options, success callback should be called with a Properties object", function (done) { + // the pattern property is not supported on windows, windows phone and browser + // https://github.com/apache/cordova-plugin-globalization/blob/master/doc/index.md#windows-phone-8-quirks-5 + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#browser-quirks-6 + if (isWindows || isWindowsPhone || isBrowser) { + pending(); + } + navigator.globalization.getNumberPattern(function (a) { + checkNumberPattern(a); + done(); + }, fail.bind(null, done)); + }); + it("globalization.spec.38 getNumberPattern using type=percent, success callback should be called with a Properties object", function (done) { + // the pattern property is not supported on windows, windows phone and browser + // https://github.com/apache/cordova-plugin-globalization/blob/master/doc/index.md#windows-phone-8-quirks-5 + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#browser-quirks-6 + if (isWindows || isWindowsPhone || isBrowser) { + pending(); + } + navigator.globalization.getNumberPattern(function (a) { + checkNumberPattern(a); + done(); + }, fail.bind(null, done), { type: 'percent' }); + }); + it("globalization.spec.39 getNumberPattern using type=currency, success callback should be called with a Properties object", function (done) { + // the pattern property is not supported on windows, windows phone and browser + // https://github.com/apache/cordova-plugin-globalization/blob/master/doc/index.md#windows-phone-8-quirks-5 + // https://github.com/MSOpenTech/cordova-plugin-globalization/blob/21f8a0ffa5aa2497ee970b6b5092b4c65fc4bf7e/README.md#browser-quirks-6 + if (isWindows || isWindowsPhone || isBrowser) { + pending(); + } + navigator.globalization.getNumberPattern(function (a) { + checkNumberPattern(a); + done(); + }, fail.bind(null, done), { type: 'currency' }); + }); + }); + + describe("getCurrencyPattern", function () { + it("globalization.spec.1 should exist", function () { + // wp8 is unsupported + if (isWindowsPhone) { + pending(); + } + expect(typeof navigator.globalization.getCurrencyPattern).toBeDefined(); + expect(typeof navigator.globalization.getCurrencyPattern == 'function').toBe(true); + }); + it("globalization.spec.41 getCurrencyPattern using EUR for currency, success callback should be called with a Properties object", function (done) { + // only `code` and `fraction` properties are supported on windows + // https://github.com/apache/cordova-plugin-globalization/blob/master/doc/index.md#windows-quirks-3 + // wp8 and browser are unsupported + if (isWindowsPhone || isWindows || isBrowser) { + pending(); + } + navigator.globalization.getCurrencyPattern("EUR", function (a) { + expect(a).toBeDefined(); + expect(typeof a).toBe('object'); + expect(a.pattern).toBeDefined(); + expect(typeof a.pattern).toBe('string'); + expect(a.pattern.length > 0).toBe(true); + expect(a.code).toBeDefined(); + expect(typeof a.code).toBe('string'); + expect(a.code.length > 0).toBe(true); + expect(typeof a.fraction).toBe('number'); + expect(typeof a.rounding).toBe('number'); + expect(a.decimal).toBeDefined(); + expect(typeof a.decimal).toBe('string'); + expect(a.decimal.length >= 0).toBe(true); + expect(a.grouping).toBeDefined(); + expect(typeof a.grouping).toBe('string'); + expect(a.grouping.length >= 0).toBe(true); + done(); + }, fail.bind(null, done)); + }); + }); + }); +}; diff --git a/test/unittest/tests/media.tests.js b/test/unittest/tests/media.tests.js new file mode 100644 index 0000000..9af98de --- /dev/null +++ b/test/unittest/tests/media.tests.js @@ -0,0 +1,997 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +// increased timeout for actual playback to give device chance to download and play mp3 file +// some emulators can be REALLY slow at this, so two minutes +var ACTUAL_PLAYBACK_TEST_TIMEOUT = 2 * 60 * 1000; + +var isWindows = cordova.platformId == 'windows8' || cordova.platformId == 'windows'; +// detect whether audio hardware is available and enabled +var isAudioSupported = isWindows ? Windows.Media.Devices.MediaDevice.getDefaultAudioRenderId(Windows.Media.Devices.AudioDeviceRole.default) : true; + +exports.defineAutoTests = function () { + var failed = function (done, msg, context) { + if (context && context.done) return; + context.done = true; + var info = typeof msg == 'undefined' ? 'Unexpected error callback' : msg; + expect(true).toFailWithMessage(info); + done(); + }; + + var succeed = function (done, msg, context) { + if (context && context.done) return; + context.done = true; + var info = typeof msg == 'undefined' ? 'Unexpected success callback' : msg; + expect(true).toFailWithMessage(info); + done(); + }; + + describe('Media', function () { + + beforeEach(function () { + // Custom Matcher + jasmine.Expectation.addMatchers({ + toFailWithMessage : function () { + return { + compare : function (error, message) { + var pass = false; + return { + pass : pass, + message : message + }; + } + }; + } + }); + }); + + it("media.spec.1 should exist", function () { + expect(Media).toBeDefined(); + expect(typeof Media).toBe("function"); + }); + + it("media.spec.2 should have the following properties", function () { + var media1 = new Media("dummy"); + expect(media1.id).toBeDefined(); + expect(media1.src).toBeDefined(); + expect(media1._duration).toBeDefined(); + expect(media1._position).toBeDefined(); + media1.release(); + }); + + it("media.spec.3 should define constants for Media status", function () { + expect(Media).toBeDefined(); + expect(Media.MEDIA_NONE).toBe(0); + expect(Media.MEDIA_STARTING).toBe(1); + expect(Media.MEDIA_RUNNING).toBe(2); + expect(Media.MEDIA_PAUSED).toBe(3); + expect(Media.MEDIA_STOPPED).toBe(4); + }); + + it("media.spec.4 should define constants for Media errors", function () { + expect(MediaError).toBeDefined(); + expect(MediaError.MEDIA_ERR_NONE_ACTIVE).toBe(0); + expect(MediaError.MEDIA_ERR_ABORTED).toBe(1); + expect(MediaError.MEDIA_ERR_NETWORK).toBe(2); + expect(MediaError.MEDIA_ERR_DECODE).toBe(3); + expect(MediaError.MEDIA_ERR_NONE_SUPPORTED).toBe(4); + }); + + it("media.spec.5 should contain a play function", function () { + var media1 = new Media("dummy"); + expect(media1.play).toBeDefined(); + expect(typeof media1.play).toBe('function'); + media1.release(); + }); + + it("media.spec.6 should contain a stop function", function () { + var media1 = new Media("dummy"); + expect(media1.stop).toBeDefined(); + expect(typeof media1.stop).toBe('function'); + media1.release(); + }); + + it("media.spec.7 should contain a seekTo function", function () { + var media1 = new Media("dummy"); + expect(media1.seekTo).toBeDefined(); + expect(typeof media1.seekTo).toBe('function'); + media1.release(); + }); + + it("media.spec.8 should contain a pause function", function () { + var media1 = new Media("dummy"); + expect(media1.pause).toBeDefined(); + expect(typeof media1.pause).toBe('function'); + media1.release(); + }); + + it("media.spec.9 should contain a getDuration function", function () { + var media1 = new Media("dummy"); + expect(media1.getDuration).toBeDefined(); + expect(typeof media1.getDuration).toBe('function'); + media1.release(); + }); + + it("media.spec.10 should contain a getCurrentPosition function", function () { + var media1 = new Media("dummy"); + expect(media1.getCurrentPosition).toBeDefined(); + expect(typeof media1.getCurrentPosition).toBe('function'); + media1.release(); + }); + + it("media.spec.11 should contain a startRecord function", function () { + var media1 = new Media("dummy"); + expect(media1.startRecord).toBeDefined(); + expect(typeof media1.startRecord).toBe('function'); + media1.release(); + }); + + it("media.spec.12 should contain a stopRecord function", function () { + var media1 = new Media("dummy"); + expect(media1.stopRecord).toBeDefined(); + expect(typeof media1.stopRecord).toBe('function'); + media1.release(); + }); + + it("media.spec.13 should contain a release function", function () { + var media1 = new Media("dummy"); + expect(media1.release).toBeDefined(); + expect(typeof media1.release).toBe('function'); + media1.release(); + }); + + it("media.spec.14 should contain a setVolume function", function () { + var media1 = new Media("dummy"); + expect(media1.setVolume).toBeDefined(); + expect(typeof media1.setVolume).toBe('function'); + media1.release(); + }); + + it("media.spec.15 should return MediaError for bad filename", function (done) { + //bb10 dialog pops up, preventing tests from running + if (cordova.platformId === 'blackberry10') { + pending(); + } + + var context = this, + fileName = 'invalid.file.name', + badMedia = new Media(fileName, succeed.bind(null, done, ' badMedia = new Media , Unexpected succees callback, it should not create Media object with invalid file name'), function (result) { + if (context.done) return; + context.done = true; + + expect(result).toBeDefined(); + expect(result.code).toBe(MediaError.MEDIA_ERR_ABORTED); + if (badMedia) { + badMedia.release(); + } + done(); + }); + badMedia.play(); + }); + + describe('actual playback', function() { + var checkInterval, + media; + + afterEach(function() { + clearInterval(checkInterval); + if (media) { + media.stop(); + media.release(); + media = null; + } + }); + + it("media.spec.16 position should be set properly", function (done) { + // no audio hardware available + if (!isAudioSupported) { + pending(); + } + + //context variable used as an extra security statement to ensure that the callback is processed only once, + //in case the statusChange callback is reached more than one time with the same status code. + //Some information about this kind of behaviour can be found at JIRA: CB-7099. + var context = this, + mediaFile = 'http://cordova.apache.org/downloads/BlueZedEx.mp3', + successCallback = function () { }, + statusChange = function (statusCode) { + if (!context.done && statusCode == Media.MEDIA_RUNNING) { + checkInterval = setInterval(function () { + if (context.done) return; + media.getCurrentPosition(function successCallback(position) { + if (position > 0.0) { + context.done = true; + expect(true).toBe(true); + done(); + } + }, failed.bind(null, done, 'media1.getCurrentPosition - Error getting media current position', context)); + }, 1000); + } + }; + media = new Media(mediaFile, successCallback, failed.bind(self, done, 'media1 = new Media - Error creating Media object. Media file: ' + mediaFile, context), statusChange); + media.play(); + }, ACTUAL_PLAYBACK_TEST_TIMEOUT); + + it("media.spec.17 duration should be set properly", function (done) { + if (!isAudioSupported || cordova.platformId === 'blackberry10') { + pending(); + } + + //context variable used as an extra security statement to ensure that the callback is processed only once, + //in case the statusChange callback is reached more than one time with the same status code. + //Some information about this kind of behaviour can be found at JIRA: CB-7099. + var context = this, + mediaFile = 'http://cordova.apache.org/downloads/BlueZedEx.mp3', + successCallback = function () { }, + statusChange = function (statusCode) { + if (!context.done && statusCode == Media.MEDIA_RUNNING) { + checkInterval = setInterval(function () { + if (context.done) return; + media.getCurrentPosition(function (position) { + if (position > 0.0) { + context.done = true; + expect(media.getDuration()).toBeGreaterThan(0.0); + done(); + } + }, failed.bind(null, done, 'media1.getCurrentPosition - Error getting media current position', context)); + }, 1000); + } + }; + media = new Media(mediaFile, successCallback, failed.bind(self, done, 'media1 = new Media - Error creating Media object. Media file: ' + mediaFile, context), statusChange); + media.play(); + }, ACTUAL_PLAYBACK_TEST_TIMEOUT); + + it("media.spec.20 should be able to resume playback after pause", function (done) { + if (!isAudioSupported || cordova.platformId === 'blackberry10') { + pending(); + } + + //context variable used as an extra security statement to ensure that the callback is processed only once, + //in case the statusChange callback is reached more than one time with the same status code. + //Some information about this kind of behaviour can be found at JIRA: CB-7099. + var context = this; + var resumed = false; + var mediaFile = 'http://cordova.apache.org/downloads/BlueZedEx.mp3'; + var successCallback = function () { }; + var statusChange = function (statusCode) { + if (context.done) return; + + if (statusCode == Media.MEDIA_RUNNING) { + if (!resumed) { + media.seekTo(20000); + media.pause(); + return; + } + + media.getCurrentPosition(function (position) { + expect(position).toBeCloseTo(20, 0); + context.done = true; + done(); + }, failed.bind(null, done, 'media1.getCurrentPosition - Error getting media current position', context)) + } + + if (statusCode == Media.MEDIA_PAUSED) { + resumed = true; + media.play(); + } + }; + media = new Media(mediaFile, successCallback, failed.bind(self, done, 'media1 = new Media - Error creating Media object. Media file: ' + mediaFile, context), statusChange); + media.play(); + }, ACTUAL_PLAYBACK_TEST_TIMEOUT); + + it("media.spec.21 should be able to seek through file", function (done) { + if (!isAudioSupported || cordova.platformId === 'blackberry10') { + pending(); + } + + //context variable used as an extra security statement to ensure that the callback is processed only once, + //in case the statusChange callback is reached more than one time with the same status code. + //Some information about this kind of behaviour can be found at JIRA: CB-7099. + var context = this; + var mediaFile = 'http://cordova.apache.org/downloads/BlueZedEx.mp3'; + var successCallback = function () { }; + var statusChange = function (statusCode) { + if (!context.done && statusCode == Media.MEDIA_RUNNING) { + checkInterval = setInterval(function () { + if (context.done) return; + media.seekTo(5000); + media.getCurrentPosition(function (position) { + expect(position).toBeCloseTo(5, 0); + context.done = true; + done(); + }, failed.bind(null, done, 'media1.getCurrentPosition - Error getting media current position', context)); + }, 1000); + } + }; + media = new Media(mediaFile, successCallback, failed.bind(self, done, 'media1 = new Media - Error creating Media object. Media file: ' + mediaFile, context), statusChange); + media.play(); + }, ACTUAL_PLAYBACK_TEST_TIMEOUT); + }); + + it("media.spec.18 should contain a setRate function", function () { + var media1 = new Media("dummy"); + expect(media1.setRate).toBeDefined(); + expect(typeof media1.setRate).toBe('function'); + media1.release(); + }); + + it("media.spec.19 playback rate should be set properly using setRate", function (done) { + if (cordova.platformId !== 'ios') { + expect(true).toFailWithMessage('Platform does not supported this feature'); + pending(); + return; + } + var mediaFile = 'http://cordova.apache.org/downloads/BlueZedEx.mp3', + mediaState = Media.MEDIA_STOPPED, + successCallback, + flag = true, + statusChange = function (statusCode) { + if (statusCode == Media.MEDIA_RUNNING && flag) { + //flag variable used to ensure an extra security statement to ensure that the callback is processed only once, + //in case for some reason the statusChange callback is reached more than one time with the same status code. + //Some information about this kind of behavior it can be found at JIRA: CB-7099 + flag = false; + setTimeout(function () { + media1.getCurrentPosition(function (position) { + //in four seconds expect position to be two times greater with some degree (1 sec) of accuracy + expect(position).toBeGreaterThan(7); + media1.stop(); + media1.release(); + done(); + }, failed.bind(null, done, 'media1.getCurrentPosition - Error getting media current position')); + }, 4000); + } + }, + media1 = new Media(mediaFile, successCallback, failed.bind(null, done, 'media1 = new Media - Error creating Media object. Media file: ' + mediaFile), statusChange); + //make audio playback two times faster + media1.setRate(2); + media1.play(); + }, ACTUAL_PLAYBACK_TEST_TIMEOUT); + }); +}; + +//****************************************************************************************** +//***************************************Manual Tests*************************************** +//****************************************************************************************** + +exports.defineManualTests = function (contentEl, createActionButton) { + //------------------------------------------------------------------------- + // Audio player + //------------------------------------------------------------------------- + var media1 = null; + var media1Timer = null; + var audioSrc = null; + var defaultaudio = "http://cordova.apache.org/downloads/BlueZedEx.mp3"; + + //Play audio function + function playAudio(url) { + console.log("playAudio()"); + console.log(" -- media=" + media1); + + var src = defaultaudio; + + if (url) { + src = url; + } + + // Stop playing if src is different from currently playing source + if (src !== audioSrc) { + if (media1 !== null) { + stopAudio(); + media1 = null; + } + } + + if (media1 === null) { + + // TEST STREAMING AUDIO PLAYBACK + //var src = "http://nunzioweb.com/misc/Bon_Jovi-Crush_Mystery_Train.mp3"; // works + //var src = "http://nunzioweb.com/misc/Bon_Jovi-Crush_Mystery_Train.m3u"; // doesn't work + //var src = "http://www.wav-sounds.com/cartoon/bugsbunny1.wav"; // works + //var src = "http://www.angelfire.com/fl5/html-tutorial/a/couldyou.mid"; // doesn't work + //var src = "MusicSearch/mp3/train.mp3"; // works + //var src = "bryce.mp3"; // works + //var src = "/android_asset/www/bryce.mp3"; // works + + media1 = new Media(src, + function () { + console.log("playAudio():Audio Success"); + }, + function (err) { + console.log("playAudio():Audio Error: " + err.code); + setAudioStatus("Error: " + err.code); + }, + function (status) { + console.log("playAudio():Audio Status: " + status); + setAudioStatus(Media.MEDIA_MSG[status]); + + // If stopped, then stop getting current position + if (Media.MEDIA_STOPPED == status) { + clearInterval(media1Timer); + media1Timer = null; + setAudioPosition("0 sec"); + } + }); + } + audioSrc = src; + document.getElementById('durationValue').innerHTML = ""; + // Play audio + media1.play(); + if (media1Timer === null && media1.getCurrentPosition) { + media1Timer = setInterval( + function () { + media1.getCurrentPosition( + function (position) { + if (position >= 0.0) { + setAudioPosition(position + " sec"); + } + }, + function (e) { + console.log("Error getting pos=" + e); + setAudioPosition("Error: " + e); + }); + }, + 1000); + } + + // Get duration + var counter = 0; + var timerDur = setInterval( + function () { + counter = counter + 100; + if (counter > 2000) { + clearInterval(timerDur); + } + var dur = media1.getDuration(); + if (dur > 0) { + clearInterval(timerDur); + document.getElementById('durationValue').innerHTML = dur + " sec"; + } + }, 100); + } + + //Pause audio playback + function pauseAudio() { + console.log("pauseAudio()"); + if (media1) { + media1.pause(); + } + } + + //Stop audio + function stopAudio() { + console.log("stopAudio()"); + if (media1) { + media1.stop(); + } + clearInterval(media1Timer); + media1Timer = null; + } + + //Release audio + function releaseAudio() { + console.log("releaseAudio()"); + if (media1) { + media1.stop(); //imlied stop of playback, resets timer + media1.release(); + } + } + + //Set audio status + function setAudioStatus(status) { + document.getElementById('statusValue').innerHTML = status; + } + + //Set audio position + function setAudioPosition(position) { + document.getElementById('positionValue').innerHTML = position; + } + + //Seek audio + function seekAudio(mode) { + var time = document.getElementById("seekInput").value; + if (time === "") { + time = 5000; + } else { + time = time * 1000; //we expect the input to be in seconds + } + if (media1 === null) { + console.log("seekTo requested while media1 is null"); + if (audioSrc === null) { + audioSrc = defaultaudio; + } + media1 = new Media(audioSrc, + function () { + console.log("seekToAudio():Audio Success"); + }, + function (err) { + console.log("seekAudio():Audio Error: " + err.code); + setAudioStatus("Error: " + err.code); + }, + function (status) { + console.log("seekAudio():Audio Status: " + status); + setAudioStatus(Media.MEDIA_MSG[status]); + + // If stopped, then stop getting current position + if (Media.MEDIA_STOPPED == status) { + clearInterval(media1Timer); + media1Timer = null; + setAudioPosition("0 sec"); + } + }); + } + + media1.getCurrentPosition( + function (position) { + var deltat = time; + if (mode === "by") { + deltat = time + position * 1000; + } + media1.seekTo(deltat, + function () { + console.log("seekAudioTo():Audio Success"); + //force an update on the position display + updatePosition(); + }, + function (err) { + console.log("seekAudioTo():Audio Error: " + err.code); + }); + }, + function (e) { + console.log("Error getting pos=" + e); + setAudioPosition("Error: " + e); + }); + } + + //for forced updates of position after a successful seek + + function updatePosition() { + media1.getCurrentPosition( + function (position) { + if (position >= 0.0) { + setAudioPosition(position + " sec"); + } + }, + function (e) { + console.log("Error getting pos=" + e); + setAudioPosition("Error: " + e); + }); + } + + //------------------------------------------------------------------------- + // Audio recorder + //------------------------------------------------------------------------- + var mediaRec = null; + var recTime = 0; + var recordSrc = "myRecording.mp3"; + + //Record audio + function recordAudio() { + console.log("recordAudio()"); + console.log(" -- media=" + mediaRec); + + releaseAudio(); + + if (!mediaRec) { + var src = recordSrc; + mediaRec = new Media(src, + function () { + console.log("recordAudio():Audio Success"); + }, + function (err) { + console.log("recordAudio():Audio Error: " + err.code); + setAudioStatus("Error: " + err.code); + }, + function (status) { + console.log("recordAudio():Audio Status: " + status); + setAudioStatus(Media.MEDIA_MSG[status]); + }); + } + + // Record audio + mediaRec.startRecord(); + + // Stop recording after 10 sec + recTime = 0; + var recInterval = setInterval(function () { + recTime = recTime + 1; + setAudioPosition(recTime + " sec"); + if (recTime >= 10) { + clearInterval(recInterval); + if (mediaRec.stopAudioRecord) { + mediaRec.stopAudioRecord(); + } else { + mediaRec.stopRecord(); + } + console.log("recordAudio(): stop"); + } + }, 1000); + } + + //Play back recorded audio + function playRecording() { + playAudio(recordSrc); + } + + //Function to create a file for iOS recording + + function getRecordSrc() { + var fsFail = function (error) { + console.log("error creating file for iOS recording"); + }; + var gotFile = function (file) { + recordSrc = file.fullPath; + //console.log("recording Src: " + recordSrc); + }; + var gotFS = function (fileSystem) { + fileSystem.root.getFile("iOSRecording.wav", { + create : true + }, gotFile, fsFail); + }; + window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, gotFS, fsFail); + } + + //Function to create a file for BB recording + function getRecordSrcBB() { + var fsFail = function (error) { + console.log("error creating file for BB recording"); + }; + var gotFile = function (file) { + recordSrc = file.fullPath; + }; + var gotFS = function (fileSystem) { + fileSystem.root.getFile("BBRecording.amr", { + create : true + }, gotFile, fsFail); + }; + window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, gotFS, fsFail); + } + + //Function to create a file for Windows recording + function getRecordSrcWin() { + var fsFail = function (error) { + console.log("error creating file for Win recording"); + }; + var gotFile = function (file) { + recordSrc = file.name; + }; + var gotFS = function (fileSystem) { + fileSystem.root.getFile("WinRecording.m4a", { + create: true + }, gotFile, fsFail); + }; + window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fsFail); + } + +//Generate Dynamic Table + function generateTable(tableId, rows, cells, elements) { + var table = document.createElement('table'); + for (var r = 0; r < rows; r++) { + var row = table.insertRow(r); + for (var c = 0; c < cells; c++) { + var cell = row.insertCell(c); + cell.setAttribute("align", "center"); + for (var e in elements) { + if (elements[e].position.row == r && elements[e].position.cell == c) { + var htmlElement = document.createElement(elements[e].tag); + var content; + + if (elements[e].content !== "") { + content = document.createTextNode(elements[e].content); + htmlElement.appendChild(content); + } + if (elements[e].type) { + htmlElement.type = elements[e].type; + } + htmlElement.setAttribute("id", elements[e].id); + cell.appendChild(htmlElement); + } + } + } + } + table.setAttribute("align", "center"); + table.setAttribute("id", tableId); + return table; + } + +//Audio && Record Elements + var elementsResultsAudio= + [{ + id : "statusTag", + content : "Status:", + tag : "div", + position : { + row : 0, + cell : 0 + } + }, { + id : "statusValue", + content : "", + tag : "div", + position : { + row : 0, + cell : 2 + } + }, { + id : "durationTag", + content : "Duration:", + tag : "div", + position : { + row : 1, + cell : 0 + } + }, { + id : "durationValue", + content : "", + tag : "div", + position : { + row : 1, + cell : 2 + } + }, { + id : "positionTag", + content : "Position:", + tag : "div", + position : { + row : 2, + cell : 0 + } + }, { + id : "positionValue", + content : "", + tag : "div", + position : { + row : 2, + cell : 2 + } + }], + elementsAudio = + [{ + id : "playBtn", + content : "", + tag : "div", + position : { + row : 0, + cell : 0 + } + }, { + id : "pauseBtn", + content : "", + tag : "div", + position : { + row : 0, + cell : 1 + } + }, { + id : "stopBtn", + content : "", + tag : "div", + position : { + row : 1, + cell : 0 + } + }, { + id : "releaseBtn", + content : "", + tag : "div", + position : { + row : 1, + cell : 1 + } + }, { + id : "seekByBtn", + content : "", + tag : "div", + position : { + row : 2, + cell : 0 + } + }, { + id : "seekToBtn", + content : "", + tag : "div", + position : { + row : 2, + cell : 1 + } + }, { + id : "seekInput", + content : "", + tag : "input", + type : "number", + position : { + row : 2, + cell : 2 + } + }, { + id: "halfSpeedBtn", + content:"", + tag:"div", + position:{ + row:0, + cell:2 + } + } + ], + elementsRecord = + [{ + id : "recordbtn", + content : "", + tag : "div", + position : { + row : 1, + cell : 0 + } + }, { + id : "recordplayBtn", + content : "", + tag : "div", + position : { + row : 1, + cell : 1 + } + }, { + id : "recordpauseBtn", + content : "", + tag : "div", + position : { + row : 2, + cell : 0 + } + }, { + id : "recordstopBtn", + content : "", + tag : "div", + position : { + row : 2, + cell : 1 + } + } + ]; + + //Title audio results + var div = document.createElement('h2'); + div.appendChild(document.createTextNode('Audio')); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + //Generate and add results table + contentEl.appendChild(generateTable('info', 3, 3, elementsResultsAudio)); + + //Title audio actions + div = document.createElement('h2'); + div.appendChild(document.createTextNode('Actions')); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + //Generate and add buttons table + contentEl.appendChild(generateTable('audioActions', 3, 3, elementsAudio)); + createActionButton('Play', function () { + playAudio(); + }, 'playBtn'); + createActionButton('Pause', function () { + pauseAudio(); + }, 'pauseBtn'); + createActionButton('HalfSpeed', function() { + + if(halfSpeedBtn.firstChild.firstChild.innerText == 'HalfSpeed') { + halfSpeedBtn.firstChild.firstChild.innerText = 'FullSpeed'; + media1.setRate(0.5); + } + else if(halfSpeedBtn.firstChild.firstChild.innerText == 'FullSpeed') { + halfSpeedBtn.firstChild.firstChild.innerText = 'DoubleSpeed'; + media1.setRate(1.0); + } + else { + halfSpeedBtn.firstChild.firstChild.innerText = 'HalfSpeed'; + media1.setRate(2.0); + } + }, 'halfSpeedBtn'); + createActionButton('Stop', function () { + stopAudio(); + }, 'stopBtn'); + createActionButton('Release', function () { + releaseAudio(); + }, 'releaseBtn'); + createActionButton('Seek By', function () { + seekAudio('by'); + }, 'seekByBtn'); + createActionButton('Seek To', function () { + seekAudio('to'); + }, 'seekToBtn'); + //get Special path to record if iOS || Blackberry + if (cordova.platformId === 'ios') + getRecordSrc(); + else if (cordova.platformId === 'blackberry') + getRecordSrcBB(); + else if (cordova.platformId === 'windows' || cordova.platformId === 'windows8') + getRecordSrcWin(); + + //testing process and details + function addItemToList(_list, _text) + { + var item = document.createElement('li'); + item.appendChild(document.createTextNode(_text)); + _list.appendChild(item); + } + + div = document.createElement('h4'); + div.appendChild(document.createTextNode('Recommended Test Procedure')); + contentEl.appendChild(div); + + var list = document.createElement('ol'); + addItemToList(list, 'Press play - Will start playing audio. Status: Running, Duration: 61.333 sec, Position: Current position of audio track'); + addItemToList(list, 'Press pause - Will pause the audio. Status: Paused, Duration: 61.333 sec, Position: Position where track was paused'); + addItemToList(list, 'Press play - Will begin playing where track left off from the pause'); + addItemToList(list, 'Press stop - Will stop the audio. Status: Stopped, Duration: 61.333 sec, Position: 0 sec'); + addItemToList(list, 'Press play - Will begin playing the audio track from the beginning'); + addItemToList(list, 'Press release - Will stop the audio. Status: Stopped, Duration: 61.333 sec, Position: 0 sec'); + addItemToList(list, 'Press play - Will begin playing the audio track from the beginning'); + addItemToList(list, 'Type 10 in the text box beside Seek To button'); + addItemToList(list, 'Press seek by - Will jump 10 seconds ahead in the audio track. Position: should jump by 10 sec'); + addItemToList(list, 'Press stop if track is not already stopped'); + addItemToList(list, 'Type 30 in the text box beside Seek To button'); + addItemToList(list, 'Press play then seek to - Should jump to Position 30 sec'); + addItemToList(list, 'Press stop'); + addItemToList(list, 'Type 5 in the text box beside Seek To button'); + addItemToList(list, 'Press play, let play past 10 seconds then press seek to - should jump back to position 5 sec'); + + div = document.createElement('div'); + div.setAttribute("style", "background:#B0C4DE;border:1px solid #FFA07A;margin:15px 6px 0px;min-width:295px;max-width:97%;padding:4px 0px 2px 10px;min-height:160px;max-height:200px;overflow:auto"); + div.appendChild(list); + contentEl.appendChild(div); + + //Title Record Audio + div = document.createElement('h2'); + div.appendChild(document.createTextNode('Record Audio')); + div.setAttribute("align", "center"); + contentEl.appendChild(div); + //Generate and add Record buttons table + contentEl.appendChild(generateTable('recordContent', 3, 3, elementsRecord)); + createActionButton('Record Audio \n 10 sec', function () { + recordAudio(); + }, 'recordbtn'); + createActionButton('Play', function () { + playRecording(); + }, 'recordplayBtn'); + createActionButton('Pause', function () { + pauseAudio(); + }, 'recordpauseBtn'); + createActionButton('Stop', function () { + stopAudio(); + }, 'recordstopBtn'); + + //testing process and details + div = document.createElement('h4'); + div.appendChild(document.createTextNode('Recommended Test Procedure')); + contentEl.appendChild(div); + + list = document.createElement('ol'); + addItemToList(list, 'Press Record Audio 10 sec - Will start recording audio for 10 seconds. Status: Running, Position: number of seconds recorded (will stop at 10)'); + addItemToList(list, 'Status will change to Stopped when finished recording'); + addItemToList(list, 'Press play - Will begin playing the recording. Status: Running, Duration: # of seconds of recording, Position: Current position of recording'); + addItemToList(list, 'Press stop - Will stop playing the recording. Status: Stopped, Duration: # of seconds of recording, Position: 0 sec'); + addItemToList(list, 'Press play - Will begin playing the recording from the beginning'); + addItemToList(list, 'Press pause - Will pause the playback of the recording. Status: Paused, Duration: # of seconds of recording, Position: Position where recording was paused'); + addItemToList(list, 'Press play - Will begin playing the recording from where it was paused'); + + div = document.createElement('div'); + div.setAttribute("style", "background:#B0C4DE;border:1px solid #FFA07A;margin:15px 6px 0px;min-width:295px;max-width:97%;padding:4px 0px 2px 10px;min-height:160px;max-height:200px;overflow:auto"); + div.appendChild(list); + contentEl.appendChild(div); +}; diff --git a/test/unittest/tests/network.tests.js b/test/unittest/tests/network.tests.js new file mode 100644 index 0000000..23be97a --- /dev/null +++ b/test/unittest/tests/network.tests.js @@ -0,0 +1,101 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + describe('Network (navigator.connection)', function () { + it("network.spec.1 should exist", function () { + expect(navigator.network && navigator.network.connection).toBeDefined(); + expect(navigator.connection).toBeDefined(); + }); + + it("network.spec.2 should be set to a valid value", function () { + var validValues = { + 'unknown': 1, + 'ethernet': 1, + 'wifi': 1, + '2g': 1, + 'cellular': 1, + '3g': 1, + '4g': 1, + 'none': 1 + }; + expect(validValues[navigator.connection.type]).toBe(1); + }); + + it("network.spec.3 should have the same value in deprecated and non-deprecated apis", function () { + expect(navigator.network.connection.type).toBe(navigator.connection.type); + }); + + it("network.spec.4 should define constants for connection status", function () { + expect(Connection.UNKNOWN).toBe("unknown"); + expect(Connection.ETHERNET).toBe("ethernet"); + expect(Connection.WIFI).toBe("wifi"); + expect(Connection.CELL_2G).toBe("2g"); + expect(Connection.CELL_3G).toBe("3g"); + expect(Connection.CELL_4G).toBe("4g"); + expect(Connection.NONE).toBe("none"); + expect(Connection.CELL).toBe("cellular"); + }); + }); +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + function eventOutput(s) { + var el = document.getElementById("results"); + el.innerHTML = el.innerHTML + s + "
"; + } + + function printNetwork() { + eventOutput("navigator.connection.type=" + navigator.connection.type); + eventOutput("navigator.network.connection.type=" + navigator.network.connection.type); + } + + function onEvent(e) { + eventOutput('Event of type: ' + e.type); + printNetwork(); + } + + /******************************************************************************/ + + var html = '
' + + 'Results:
' + + '' + + '
' + + 'Expected result: Status box will update with type of connection using two different methods. Both values must match.' + + ' The result will be unknown, ethernet, wifi, 2g, 3g, 4g, none, or cellular. Make sure it matches what the device is connected to.' + + '

'; + + document.addEventListener("online", onEvent, false); + document.addEventListener("offline", onEvent, false); + contentEl.innerHTML = html; + + createActionButton('Show Network Connection', function () { + printNetwork(); + }, 'connection'); + + createActionButton('Clear Log', function () { + document.getElementById('results').innerHTML = ''; + }, 'actions'); +}; diff --git a/test/unittest/tests/notification.tests.js b/test/unittest/tests/notification.tests.js new file mode 100644 index 0000000..16e9cd9 --- /dev/null +++ b/test/unittest/tests/notification.tests.js @@ -0,0 +1,194 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + describe('Notification (navigator.notification)', function () { + it("should exist", function () { + expect(navigator.notification).toBeDefined(); + }); + + it("should contain a beep function", function () { + expect(typeof navigator.notification.beep).toBeDefined(); + expect(typeof navigator.notification.beep).toBe("function"); + }); + + it("should contain an alert function", function () { + expect(typeof navigator.notification.alert).toBeDefined(); + expect(typeof navigator.notification.alert).toBe("function"); + }); + + it("should contain a confirm function", function () { + expect(typeof navigator.notification.confirm).toBeDefined(); + expect(typeof navigator.notification.confirm).toBe("function"); + }); + + it("should contain a prompt function", function () { + expect(typeof navigator.notification.prompt).toBeDefined(); + expect(typeof navigator.notification.prompt).toBe("function"); + }); + }); +}; + +/******************************************************************************/ +/******************************************************************************/ +/******************************************************************************/ + +exports.defineManualTests = function (contentEl, createActionButton) { + var logMessage = function (message) { + var log = document.getElementById('info'); + var logLine = document.createElement('div'); + logLine.innerHTML = message; + log.appendChild(logLine); + } + + var clearLog = function () { + var log = document.getElementById('info'); + log.innerHTML = ''; + } + + var beep = function () { + console.log("beep()"); + navigator.notification.beep(3); + }; + + var alertDialog = function (message, title, button) { + console.log("alertDialog()"); + navigator.notification.alert(message, + function () { + console.log("Alert dismissed."); + }, + title, button); + console.log("After alert"); + }; + + var confirmDialogA = function (message, title, buttons) { + clearLog(); + navigator.notification.confirm(message, + function (r) { + if (r === 0) { + logMessage("Dismissed dialog without making a selection."); + console.log("Dismissed dialog without making a selection."); + } else { + console.log("You selected " + r); + logMessage("You selected " + (buttons.split(","))[r - 1]); + } + }, + title, + buttons); + }; + + var confirmDialogB = function (message, title, buttons) { + clearLog(); + navigator.notification.confirm(message, + function (r) { + if (r === 0) { + logMessage("Dismissed dialog without making a selection."); + console.log("Dismissed dialog without making a selection."); + } else { + console.log("You selected " + r); + logMessage("You selected " + buttons[r - 1]); + } + }, + title, + buttons); + }; + + var promptDialog = function (message, title, buttons) { + clearLog(); + navigator.notification.prompt(message, + function (r) { + if (r && r.buttonIndex === 0) { + var msg = "Dismissed dialog"; + if (r.input1) { + msg += " with input: " + r.input1 + } + logMessage(msg); + console.log(msg); + } else { + console.log("You selected " + r.buttonIndex + " and entered: " + r.input1); + logMessage("You selected " + buttons[r.buttonIndex - 1] + " and entered: " + r.input1); + } + }, + title, + buttons); + }; + + /******************************************************************************/ + + var dialogs_tests = '
' + + 'Expected result: Device will beep (unless device is on silent). Nothing will get updated in status box.' + + '

Dialog Tests

' + + '

Dialog boxes will pop up for each of the following tests

' + + '

' + + 'Expected result: Dialog will say "You pressed alert". Press continue to close dialog. Nothing will get updated in status box.' + + '

' + + 'Expected result: Dialog will say "You pressed confirm". Press Yes, No, or Maybe to close dialog. Status box will tell you what option you selected.' + + '

' + + 'Expected result: Dialog will say "You pressed confirm". Press Yes, No, or Maybe, Not Sure to close dialog. Status box will tell you what option you selected, and should use 1-based indexing.' + + '

' + + 'Expected result: Dialog will say "You pressed prompt". Enter any message and press Yes, No, or Maybe, Not Sure to close dialog. Status box will tell you what option you selected and message you entered, and should use 1-based indexing.' + + '

' + + 'Expected result: Dialog will have title "index.html" and say "You pressed alert" Press OK to close dialog. Nothing will get updated in status box.' + + '

' + + 'Expected result: Dialog will have title "index.html" and say "You selected confirm". Press Cancel or OK to close dialog. Nothing will get updated in status box.' + + '

' + + 'Expected result: Dialog will have title "index.html" and say "This is a prompt". "Default value" will be in text box. Press Cancel or OK to close dialog. Nothing will get updated in status box.'; + + contentEl.innerHTML = '
' + + dialogs_tests; + + createActionButton('Beep', function () { + beep(); + }, 'beep'); + + createActionButton('Alert Dialog', function () { + alertDialog('You pressed alert.', 'Alert Dialog', 'Continue'); + }, 'alert'); + + // WP8.1 detection is necessary since it doesn't support confirm dialogs with more than 2 buttons + var isRunningOnWP81 = cordova.platformId == "windows" && navigator.userAgent.indexOf('Windows Phone') > -1; + + createActionButton('Confirm Dialog - Deprecated', function () { + var buttons = isRunningOnWP81 ? 'Yes,No' : 'Yes,No,Maybe'; + confirmDialogA('You pressed confirm.', 'Confirm Dialog', buttons); + }, 'confirm_deprecated'); + + createActionButton('Confirm Dialog', function () { + var buttons = isRunningOnWP81 ? ['Yes', 'Actually, No'] : ['Yes', 'No', 'Maybe, Not Sure']; + confirmDialogB('You pressed confirm.', 'Confirm Dialog', buttons); + }, 'confirm'); + + createActionButton('Prompt Dialog', function () { + promptDialog('You pressed prompt.', 'Prompt Dialog', ['Yes', 'No', 'Maybe, Not Sure']); + }, 'prompt'); + + createActionButton('Built-in Alert Dialog', function () { + typeof alert === 'function' && alert('You pressed alert'); + }, 'built_in_alert'); + + createActionButton('Built-in Confirm Dialog', function () { + typeof confirm === 'function' && confirm('You selected confirm'); + }, 'built_in_confirm'); + + createActionButton('Built-in Prompt Dialog', function () { + typeof prompt === 'function' && prompt('This is a prompt', 'Default value'); + }, 'built_in_prompt'); +}; diff --git a/test/unittest/tests/platform.tests.js b/test/unittest/tests/platform.tests.js new file mode 100644 index 0000000..6cca2b7 --- /dev/null +++ b/test/unittest/tests/platform.tests.js @@ -0,0 +1,35 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { +describe('Platform (cordova)', function () { + it("platform.spec.1 should exist", function() { + expect(cordova).toBeDefined(); + }); + + it("platform.spec.2 exec method should exist", function() { + expect(cordova.exec).toBeDefined(); + expect(typeof cordova.exec).toBe('function'); + }); +}); +}; + +exports.defineManualTests = function (contentEl, createActionButton) {}; \ No newline at end of file diff --git a/test/unittest/tests/splashscreen.tests.js b/test/unittest/tests/splashscreen.tests.js new file mode 100644 index 0000000..ff7df78 --- /dev/null +++ b/test/unittest/tests/splashscreen.tests.js @@ -0,0 +1,62 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + describe('Splashscreen (cordova)', function () { + it("splashscreen.spec.1 should exist", function () { + expect(navigator.splashscreen).toBeDefined(); + }); + + it("splashscreen.spec.2 exec method should exist", function () { + expect(navigator.splashscreen.show).toBeDefined(); + expect(typeof navigator.splashscreen.show).toBe('function'); + }); + + it("splashscreen.spec.3 exec method should exist", function () { + expect(navigator.splashscreen.hide).toBeDefined(); + expect(typeof navigator.splashscreen.hide).toBe('function'); + }); + }); +}; + +exports.defineManualTests = function (contentEl, createActionButton) { + function showFor(duration) { + navigator.splashscreen.show(); + window.setTimeout(function () { + navigator.splashscreen.hide(); + }, 1000 * duration); + } + + contentEl.innerHTML = '

Splashscreen Tests

' + + '

Note for WP: AutoHideSplashScreen must be set to false in config.xml

' + + '
' + + 'Expected result: Will show the Cordova splashscreen for 1 second' + + '

' + + 'Expected result: Will show the Cordova splashscreen for 5 seconds'; + + createActionButton('Show for 1 second', function () { + showFor(1); + }, 'show1'); + + createActionButton('Show for 5 seconds', function () { + showFor(5); + }, 'show5'); +}; diff --git a/test/unittest/tests/statusbar.tests.js b/test/unittest/tests/statusbar.tests.js new file mode 100644 index 0000000..b66c5cc --- /dev/null +++ b/test/unittest/tests/statusbar.tests.js @@ -0,0 +1,148 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { + describe("StatusBar", function () { + it("statusbar.spec.1 should exist", function() { + expect(window.StatusBar).toBeDefined(); + }); + + it("statusbar.spec.2 should have show|hide methods", function() { + expect(window.StatusBar.show).toBeDefined(); + expect(typeof window.StatusBar.show).toBe("function"); + + expect(window.StatusBar.hide).toBeDefined(); + expect(typeof window.StatusBar.hide).toBe("function"); + }); + + it("statusbar.spec.3 should have set backgroundColor methods", function() { + expect(window.StatusBar.backgroundColorByName).toBeDefined(); + expect(typeof window.StatusBar.backgroundColorByName).toBe("function"); + + expect(window.StatusBar.backgroundColorByHexString).toBeDefined(); + expect(typeof window.StatusBar.backgroundColorByHexString).toBe("function"); + }); + + it("statusbar.spec.4 should have set style methods", function() { + expect(window.StatusBar.styleBlackTranslucent).toBeDefined(); + expect(typeof window.StatusBar.styleBlackTranslucent).toBe("function"); + + expect(window.StatusBar.styleDefault).toBeDefined(); + expect(typeof window.StatusBar.styleDefault).toBe("function"); + + expect(window.StatusBar.styleLightContent).toBeDefined(); + expect(typeof window.StatusBar.styleLightContent).toBe("function"); + + expect(window.StatusBar.styleBlackOpaque).toBeDefined(); + expect(typeof window.StatusBar.styleBlackOpaque).toBe("function"); + + expect(window.StatusBar.overlaysWebView).toBeDefined(); + expect(typeof window.StatusBar.overlaysWebView).toBe("function"); + }); + }); +}; + +exports.defineManualTests = function (contentEl, createActionButton) { + function log(msg) { + var el = document.getElementById("info"); + var logLine = document.createElement('div'); + logLine.innerHTML = msg; + el.appendChild(logLine); + } + + function doShow() { + StatusBar.show(); + log('StatusBar.isVisible=' + StatusBar.isVisible); + } + + function doHide() { + StatusBar.hide(); + log('StatusBar.isVisible=' + StatusBar.isVisible); + } + + function doColor1() { + log('set color=red'); + StatusBar.backgroundColorByName('red'); + } + + function doColor2() { + log('set style=translucent black'); + StatusBar.styleBlackTranslucent(); + } + + function doColor3() { + log('set style=default'); + StatusBar.styleDefault(); + } + + var showOverlay = true; + function doOverlay() { + showOverlay = !showOverlay; + StatusBar.overlaysWebView(showOverlay); + log('Set overlay=' + showOverlay); + } + + /******************************************************************************/ + + contentEl.innerHTML = '
' + + 'Also: tapping bar on iOS should emit a log.' + + '
' + + 'Expected result: Status bar will be visible' + + '

' + + 'Expected result: Status bar will be hidden' + + '

' + + 'Expected result: Status bar text will be a light (white) color' + + '

' + + 'Expected result: Status bar text will be a dark (black) color' + + '

' + + 'Expected result:
Overlay true = status bar will lay on top of web view content
Overlay false = status bar will be separate from web view and will not cover content' + + '

' + + 'Expected result: If overlay false, background color for status bar will be red'; + + log('StatusBar.isVisible=' + StatusBar.isVisible); + window.addEventListener('statusTap', function () { + log('tap!'); + }, false); + + createActionButton("Show", function () { + doShow(); + }, 'action-show'); + + createActionButton("Hide", function () { + doHide(); + }, 'action-hide'); + + createActionButton("Style=red (background)", function () { + doColor1(); + }, 'action-color1'); + + createActionButton("Style=translucent black", function () { + doColor2(); + }, 'action-color2'); + + createActionButton("Style=default", function () { + doColor3(); + }, 'action-color3'); + + createActionButton("Toggle Overlays", function () { + doOverlay(); + }, 'action-overlays'); +}; diff --git a/test/unittest/tests/storage.tests.js b/test/unittest/tests/storage.tests.js new file mode 100644 index 0000000..5dc620e --- /dev/null +++ b/test/unittest/tests/storage.tests.js @@ -0,0 +1,199 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ + +exports.defineAutoTests = function () { +describe("Session Storage", function () { + it("storage.spec.1 should exist", function () { + expect(window.sessionStorage).toBeDefined(); + expect(typeof window.sessionStorage.length).not.toBe('undefined'); + expect(typeof(window.sessionStorage.key)).toBe('function'); + expect(typeof(window.sessionStorage.getItem)).toBe('function'); + expect(typeof(window.sessionStorage.setItem)).toBe('function'); + expect(typeof(window.sessionStorage.removeItem)).toBe('function'); + expect(typeof(window.sessionStorage.clear)).toBe('function'); + }); + + it("storage.spec.2 check length", function () { + expect(window.sessionStorage.length).toBe(0); + window.sessionStorage.setItem("key","value"); + expect(window.sessionStorage.length).toBe(1); + window.sessionStorage.removeItem("key"); + expect(window.sessionStorage.length).toBe(0); + }); + + it("storage.spec.3 check key", function () { + expect(window.sessionStorage.key(0)).toBe(null); + window.sessionStorage.setItem("test","value"); + expect(window.sessionStorage.key(0)).toBe("test"); + window.sessionStorage.removeItem("test"); + expect(window.sessionStorage.key(0)).toBe(null); + }); + + it("storage.spec.4 check getItem", function() { + expect(window.sessionStorage.getItem("item")).toBe(null); + window.sessionStorage.setItem("item","value"); + expect(window.sessionStorage.getItem("item")).toBe("value"); + window.sessionStorage.removeItem("item"); + expect(window.sessionStorage.getItem("item")).toBe(null); + }); + + it("storage.spec.5 check setItem", function() { + expect(window.sessionStorage.getItem("item")).toBe(null); + window.sessionStorage.setItem("item","value"); + expect(window.sessionStorage.getItem("item")).toBe("value"); + window.sessionStorage.setItem("item","newval"); + expect(window.sessionStorage.getItem("item")).toBe("newval"); + window.sessionStorage.removeItem("item"); + expect(window.sessionStorage.getItem("item")).toBe(null); + }); + + it("storage.spec.6 can remove an item", function () { + expect(window.sessionStorage.getItem("item")).toBe(null); + window.sessionStorage.setItem("item","value"); + expect(window.sessionStorage.getItem("item")).toBe("value"); + window.sessionStorage.removeItem("item"); + expect(window.sessionStorage.getItem("item")).toBe(null); + }); + + it("storage.spec.7 check clear", function() { + window.sessionStorage.setItem("item1","value"); + window.sessionStorage.setItem("item2","value"); + window.sessionStorage.setItem("item3","value"); + expect(window.sessionStorage.length).toBe(3); + window.sessionStorage.clear(); + expect(window.sessionStorage.length).toBe(0); + }); + + it("storage.spec.8 check dot notation", function() { + expect(window.sessionStorage.item).not.toBeDefined(); + window.sessionStorage.item = "value"; + expect(window.sessionStorage.item).toBe("value"); + window.sessionStorage.removeItem("item"); + expect(window.sessionStorage.item).not.toBeDefined(); + }); + + describe("Local Storage", function () { + it("storage.spec.9 should exist", function() { + expect(window.localStorage).toBeDefined(); + expect(window.localStorage.length).toBeDefined(); + expect(typeof window.localStorage.key).toBe("function"); + expect(typeof window.localStorage.getItem).toBe("function"); + expect(typeof window.localStorage.setItem).toBe("function"); + expect(typeof window.localStorage.removeItem).toBe("function"); + expect(typeof window.localStorage.clear).toBe("function"); + }); + + it("storage.spec.10 check length", function() { + expect(window.localStorage.length).toBe(0); + window.localStorage.setItem("key","value"); + expect(window.localStorage.length).toBe(1); + window.localStorage.removeItem("key"); + expect(window.localStorage.length).toBe(0); + }); + + it("storage.spec.11 check key", function() { + expect(window.localStorage.key(0)).toBe(null); + window.localStorage.setItem("test","value"); + expect(window.localStorage.key(0)).toBe("test"); + window.localStorage.removeItem("test"); + expect(window.localStorage.key(0)).toBe(null); + }); + + it("storage.spec.4 check getItem", function() { + expect(window.localStorage.getItem("item")).toBe(null); + window.localStorage.setItem("item","value"); + expect(window.localStorage.getItem("item")).toBe("value"); + window.localStorage.removeItem("item"); + expect(window.localStorage.getItem("item")).toBe(null); + }); + + it("storage.spec.5 check setItem", function() { + expect(window.localStorage.getItem("item")).toBe(null); + window.localStorage.setItem("item","value"); + expect(window.localStorage.getItem("item")).toBe("value"); + window.localStorage.setItem("item","newval"); + expect(window.localStorage.getItem("item")).toBe("newval"); + window.localStorage.removeItem("item"); + expect(window.localStorage.getItem("item")).toBe(null); + }); + + it("storage.spec.14 check removeItem", function() { + expect(window.localStorage.getItem("item")).toBe(null); + window.localStorage.setItem("item","value"); + expect(window.localStorage.getItem("item")).toBe("value"); + window.localStorage.removeItem("item"); + expect(window.localStorage.getItem("item")).toBe(null); + }); + + it("storage.spec.7 check clear", function() { + expect(window.localStorage.getItem("item1")).toBe(null); + expect(window.localStorage.getItem("item2")).toBe(null); + expect(window.localStorage.getItem("item3")).toBe(null); + window.localStorage.setItem("item1","value"); + window.localStorage.setItem("item2","value"); + window.localStorage.setItem("item3","value"); + expect(window.localStorage.getItem("item1")).toBe("value"); + expect(window.localStorage.getItem("item2")).toBe("value"); + expect(window.localStorage.getItem("item3")).toBe("value"); + expect(window.localStorage.length).toBe(3); + window.localStorage.clear(); + expect(window.localStorage.length).toBe(0); + expect(window.localStorage.getItem("item1")).toBe(null); + expect(window.localStorage.getItem("item2")).toBe(null); + expect(window.localStorage.getItem("item3")).toBe(null); + }); + + it("storage.spec.8 check dot notation", function() { + expect(window.localStorage.item).not.toBeDefined(); + window.localStorage.item = "value"; + expect(window.localStorage.item).toBe("value"); + window.localStorage.removeItem("item"); + expect(window.localStorage.item).not.toBeDefined(); + }); + }); + + describe("HTML 5 Storage", function () { + it("storage.spec.9 should exist", function() { + expect(window.openDatabase); + }); + + it("storage.spec.18 Should be able to create and drop tables", function() { + var win = jasmine.createSpy('win'); + var fail1 = createDoNotCallSpy('fail1'); + var fail2 = createDoNotCallSpy('fail2'); + var db = openDatabase("Database", "1.0", "HTML5 Database API example", 5*1024*1024); + db.transaction(function(t) { + t.executeSql('CREATE TABLE IF NOT EXISTS foo(id int, name varchar(255));'); + t.executeSql('CREATE TABLE IF NOT EXISTS foo2(id int, name varchar(255));'); + }, fail1, step2); + function step2() { + db.transaction(function(t) { + t.executeSql('DROP TABLE foo;'); + t.executeSql('DROP TABLE foo2'); + }, fail2, win); + } + waitsForAny(win, fail1, fail2); + }); + }); +}); +}; + +exports.defineManualTests = function (contentEl, createActionButton) {}; \ No newline at end of file diff --git a/test/unittest/tests/vibration.tests.js b/test/unittest/tests/vibration.tests.js new file mode 100644 index 0000000..79aff30 --- /dev/null +++ b/test/unittest/tests/vibration.tests.js @@ -0,0 +1,313 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ + +exports.defineAutoTests = function () { + + describe('Vibration (navigator.notification.vibrate)', function () { + it("navigator.notification should exist with vibrate function", function () { + expect(navigator.notification).toBeDefined(); + expect(typeof navigator.notification.vibrate).toBeDefined(); + expect(typeof navigator.notification.vibrate).toBe("function"); + + if (cordova.platformId == "browser") + expect(navigator.notification.vibrate(0)).toBe(false); + }); + }); +}; + +exports.defineManualTests = function (contentEl, createActionButton) { + var logMessage = function (message, color) { + var log = document.getElementById('info'); + var logLine = document.createElement('div'); + if (color) { + logLine.style.color = color; + } + logLine.innerHTML = message; + log.appendChild(logLine); + } + + var clearLog = function () { + var log = document.getElementById('info'); + log.innerHTML = ''; + } + + //------------------------------------------------------------------------- + // Vibrations + //------------------------------------------------------------------------- + + //old vibrate call + var vibrateOld = function(){ + clearLog(); + navigator.notification.vibrate(2500); + logMessage("navigator.notification.vibrate(2500)", "green"); + }; + + //old vibrate with pattern call + var vibrateWithPatternOld = function(){ + clearLog(); + navigator.notification.vibrateWithPattern([1000, 3000, 2000, 5000]); + logMessage("navigator.notification.vibrateWithPattern([1000, 3000, 2000, 5000])", "green"); + }; + + //old cancel vibrate call + var cancelOld = function(){ + clearLog(); + navigator.notification.cancelVibration(); + logMessage("navigator.notification.cancelVibration()", "green"); + }; + + //new standard vibrate call that aligns to w3c spec with param long + var vibrateWithInt = function() { + clearLog(); + navigator.vibrate(3000); + logMessage("navigator.vibrate(3000)", "green"); + }; + + //new standard vibrate call that aligns to w3c spec with param array + var vibrateWithArray = function() { + clearLog(); + navigator.vibrate([3000]); + logMessage("navigator.vibrate([3000])", "green"); + }; + + //vibrate with a pattern using w3c spec + var vibrateWithPattern = function() { + clearLog(); + navigator.vibrate([1000, 2000, 3000, 2000, 5000]); + logMessage("navigator.vibrate([1000, 2000, 3000, 2000, 5000])", "green"); + }; + + //cancel existing vibration using w3c spec navigator.vibrate(0) + var cancelWithZero = function() { + clearLog(); + navigator.vibrate(0); + logMessage("navigator.vibrate(0)", "green"); + }; + + //cancel existing vibration using w3c spec navigator.vibrate([]) + var cancelWithEmpty = function() { + clearLog(); + navigator.vibrate([]); + logMessage("navigator.vibrate([])", "green"); + }; + + //reference to the timeout variable + var timeout; + + //special long vibrate used to test cancel + var longVibrate = function() { + clearLog(); + navigator.vibrate(60000); + vibrateOn = true; + logMessage("navigator.vibrate(60000)", "green"); + timeout = setTimeout(resetVibrateOn, 60000); //if user doesn't cancel vibrate, reset vibrateOn var after 60 seconds + }; + + //special long vibrate with pattern used to test cancel + var longVibrateWithPattern = function() { + clearLog(); + navigator.vibrate([1000, 2000, 3000, 2000, 5000, 2000, 30000]); + vibrateOn = true; + logMessage("navigator.vibrate([1000, 2000, 3000, 2000, 5000, 2000, 30000])", "green"); + timeout = setTimeout(resetVibrateOn, 45000); //if user doesn't cancel vibrate, reset vibrateOn var after 45 seconds + }; + + //initiate two vibrations to test cancel + var multipleVibrations = function() { + clearLog(); + navigator.vibrate(20000); + navigator.vibrate(45000); + vibrateOn = true; + logMessage("navigator.vibrate(15000)\nnavigator.vibrate(45000)", "green"); + timeout = setTimeout(resetVibrateOn, 45000); //if user doesn't cancel vibrate, reset vibrateOn var after 45 seconds + } + + function resetVibrateOn() { + vibrateOn = false; + } + + //check whether there is an ongoing vibration + var vibrateOn = false; + + + + + var vibrate_tests = '

Vibrate Tests

' + + '

Starred tests only work for Android and Windows.

' + + '

iOS ignores the time given for a vibrate

' + + '
' + + 'Expected result: Vibrate once for 2.5 seconds.' + + '

' + + 'Expected result: Pause for 1s, vibrate for 3s, pause for 2s, vibrate for 5s.' + + '

' + + 'Expected result: Press once to initiate vibrate for 60 seconds. Press again to cancel vibrate immediately.' + + '

' + + 'Expected result: Press once to initiate vibrate with pattern for 45s. Press again to cancel vibrate immediately.' + + '

' + + 'Expected result: Vibrate once for 3 seconds.' + + '

' + + 'Expected result: Vibrate once for 3 seconds.' + + '

' + + 'Expected result: Vibrate for 1s, pause for 2s, vibrate for 3s, pause for 2s, vibrate for 5s.' + + '

' + + 'Expected result: Press once to initiate vibrate for 60 seconds. Press again to cancel vibrate immediately.' + + '

' + + 'Expected result: Press once to initiate vibrate for 60 seconds. Press again to cancel vibrate immediately.' + + '

' + + 'Expected result: Press once to initiate vibrate with pattern for 45s. Press again to cancel vibrate immediately.' + + '

' + + 'Expected result: Press once to initiate vibrate with pattern for 45s. Press again to cancel vibrate immediately.' + + '

' + + 'Expected result: Press once to initiate two vibrations simultaneously (one for 20s the other for 45s so total of 45s). Press again to cancel both vibrations immediately.'; + + + contentEl.innerHTML = '
' + vibrate_tests; + + //standard vibrate with old call + createActionButton('Vibrate (Old)', function () { + vibrateOld(); + }, 'vibrate_old'); + + //vibrate with pattern with old call + createActionButton('* Vibrate with a pattern (Old)', function () { + vibrateWithPatternOld(); + }, 'vibrateWithPattern_old'); + + //cancel vibrate with old call + createActionButton('* Cancel vibration (Old)', function() { + + if (!vibrateOn) + { + longVibrate(); + } + else + { + cancelOld(); + resetVibrateOn(); + clearTimeout(timeout); //clear the timeout since user has canceled the vibrate + } + }, 'cancelVibrate_old'); + + //cancel vibrate with pattern with old call + createActionButton('* Cancel vibration with pattern (Old)', function() { + + if (!vibrateOn) + { + longVibrateWithPattern(); + } + else + { + cancelOld(); + resetVibrateOn(); + clearTimeout(timeout); //clear the timeout since user has canceled the vibrate + } + }, 'cancelVibrateWithPattern_old'); + + //standard vibrate with new call param int + createActionButton('Vibrate with int', function() { + vibrateWithInt(); + }, 'vibrate_int'); + + //standard vibrate with new call param array + createActionButton('Vibrate with array', function() { + vibrateWithArray(); + }, 'vibrate_array'); + + //vibrate with a pattern + createActionButton('* Vibrate with a pattern', function() { + vibrateWithPattern(); + }, 'vibrate_with_pattern'); + + //cancel any existing vibrations with param 0 + createActionButton('* Cancel vibration with 0', function() { + + if (!vibrateOn) + { + longVibrate(); + } + else + { + cancelWithZero(); + resetVibrateOn(); + clearTimeout(timeout); //clear the timeout since user has canceled the vibrate + } + }, 'cancel_zero'); + + //cancel any existing vibrations with param [] + createActionButton('* Cancel vibration with []', function() { + + if (!vibrateOn) + { + longVibrate(); + } + else + { + cancelWithEmpty(); + resetVibrateOn(); + clearTimeout(timeout); //clear the timeout since user has canceled the vibrate + } + }, 'cancel_array'); + + //cancel vibration with pattern with param 0 + createActionButton('* Cancel vibration with pattern with 0', function() { + + if (!vibrateOn) + { + longVibrateWithPattern(); + } + else + { + cancelWithZero(); + resetVibrateOn(); + clearTimeout(timeout); //clear the timeout since user has canceled the vibrate + } + }, 'cancelWithPattern_zero'); + + //cancel vibration with pattern with param [] + createActionButton('* Cancel vibration with pattern with []', function() { + + if (!vibrateOn) + { + longVibrateWithPattern(); + } + else + { + cancelWithEmpty(); + resetVibrateOn(); + clearTimeout(timeout); //clear the timeout since user has canceled the vibrate + } + }, 'cancelWithPattern_array'); + + //cancel multiple vibrations + createActionButton('* Cancel multiple vibrations', function() { + + if (!vibrateOn) + { + multipleVibrations(); + } + else + { + cancelWithZero(); + resetVibrateOn(); + clearTimeout(timeout); //clear the timeout since user has canceled the vibrate + } + }, 'cancelMultipleVibrations'); +}; -- 2.34.1