* [html5] fix collectStat test case

Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/fdad32f4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/fdad32f4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/fdad32f4

Branch: refs/heads/0.15-dev
Commit: fdad32f47e4b7049aa30bdfb615e3a0719e5bb9d
Parents: 9c84d23
Author: erha19 <faterr...@gmail.com>
Authored: Tue Jul 18 17:29:19 2017 +0800
Committer: erha19 <faterr...@gmail.com>
Committed: Tue Jul 18 17:29:19 2017 +0800

----------------------------------------------------------------------
 html5/test/render/vue/utils/lazyload.js | 82 ++++++++++++++++++----------
 html5/test/render/vue/utils/perf.js     | 12 ++++
 2 files changed, 64 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fdad32f4/html5/test/render/vue/utils/lazyload.js
----------------------------------------------------------------------
diff --git a/html5/test/render/vue/utils/lazyload.js 
b/html5/test/render/vue/utils/lazyload.js
index 6f574d4..b390468 100644
--- a/html5/test/render/vue/utils/lazyload.js
+++ b/html5/test/render/vue/utils/lazyload.js
@@ -16,33 +16,44 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-import * as lazyload from '../../../../render/vue/utils/lazyload'
+import {
+  fireLazyload,
+  getThrottleLazyload
+} from '../../../../render/vue/utils/lazyload'
 describe('utils', function () {
   describe('lazyload', function () {
     const validImageTransparent = 
'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'
     const validImageBlack = 
'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='
     const invalidImage = 'data:image/jpeg;base64,'
     before(() => {
+      // for test collectStat in utils/perf.js
+      window.performance = {
+        getEntries: () => {
+          return [{
+            entryType: 'resource',
+            name: 'weex-invalid.jpg'
+          }, {
+            entryType: 'resource',
+            name: 'weex-test.jpg'
+          }]
+        }
+      }
+      window.history.pushState(null, null, '?_wx_tpl=./weex-test.jpg')
       this.weexEmit = sinon.stub(window.weex, 'emit')
-      //   this.clock = sinon.useFakeTimers()
     })
     after(() => {
       this.weexEmit.restore()
-      //   this.clock.restore()
     })
     it('fireLazyload', (done) => {
-      const {
-        fireLazyload
-      } = lazyload
       const node = document.createElement('figure')
       const urlReg = /http(s)?:\/\/(\S+):(\d+)\//
       const IMG_REC_INDENT = 500
       node.setAttribute('img-src', invalidImage)
       node.setAttribute('img-placeholder', validImageBlack)
       node.style.height = '10px'
-      //  coverage branch if (item._src_loading)
+        //  coverage branch if (item._src_loading)
       node._src_loading = true
-      //  coverage branch if (Array.isArray(el))
+        //  coverage branch if (Array.isArray(el))
       fireLazyload([node])
       node._src_loading = false
       fireLazyload(node, true)
@@ -56,29 +67,40 @@ describe('utils', function () {
         }, IMG_REC_INDENT)
       }, 100)
     })
-    it('getThrottleLazyload', (done) => {
-      const {
-        getThrottleLazyload
-      } = lazyload
-      const node = document.createElement('figure')
-      const urlReg = /http(s)?:\/\/(\S+):(\d+)\//
-      const wait = 100
-      const IMG_REC_INDENT = 500
-      node.style.height = '10px'
-      node.setAttribute('img-src', validImageTransparent)
-      node.setAttribute('img-placeholder', validImageBlack)
-      document.body.appendChild(node)
-      window._first_screen_detected = false
-      getThrottleLazyload(wait, node)()
-      setTimeout(() => {
-        expect(node.style.backgroundImage.replace(urlReg, 
'')).to.be.equal('url(' + validImageTransparent + ')')
+    describe('getThrottleLazyload', () => {
+      it('should use default value while parmas is undefined', (done) => {
+        const IMG_REC_INDENT = 500
+        window._first_screen_detected = true
+        getThrottleLazyload()()
         setTimeout(() => {
-          
expect(this.weexEmit.withArgs('renderfinish').callCount).to.be.equal(2)
-          
expect(this.weexEmit.withArgs('firstscreenfinish').callCount).to.be.equal(1)
-          done()
-          document.body.removeChild(node)
-        }, IMG_REC_INDENT)
-      }, 100)
+          setTimeout(() => {
+            
expect(this.weexEmit.withArgs('renderfinish').callCount).to.be.equal(1)
+            
expect(this.weexEmit.withArgs('firstscreenfinish').callCount).to.be.equal(0)
+            done()
+          }, IMG_REC_INDENT)
+        }, 16)
+      })
+      it('should be work', (done) => {
+        const node = document.createElement('figure')
+        const urlReg = /http(s)?:\/\/(\S+):(\d+)\//
+        const wait = 100
+        const IMG_REC_INDENT = 500
+        node.style.height = '10px'
+        node.setAttribute('img-src', validImageTransparent)
+        node.setAttribute('img-placeholder', validImageBlack)
+        document.body.appendChild(node)
+        window._first_screen_detected = false
+        getThrottleLazyload(wait, node)()
+        setTimeout(() => {
+          expect(node.style.backgroundImage.replace(urlReg, 
'')).to.be.equal('url(' + validImageTransparent + ')')
+          setTimeout(() => {
+            
expect(this.weexEmit.withArgs('renderfinish').callCount).to.be.equal(2)
+            
expect(this.weexEmit.withArgs('firstscreenfinish').callCount).to.be.equal(1)
+            done()
+            document.body.removeChild(node)
+          }, IMG_REC_INDENT)
+        }, 100)
+      })
     })
   })
 })

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/fdad32f4/html5/test/render/vue/utils/perf.js
----------------------------------------------------------------------
diff --git a/html5/test/render/vue/utils/perf.js 
b/html5/test/render/vue/utils/perf.js
index 824daa3..c582334 100644
--- a/html5/test/render/vue/utils/perf.js
+++ b/html5/test/render/vue/utils/perf.js
@@ -44,6 +44,18 @@ describe('utils', function () {
       this.weexEmit.restore()
     })
     it('collectStatPerf', () => {
+      window.performance = {
+        getEntries: () => {
+          return [{
+            entryType: 'resource',
+            name: 'weex-invalid.jpg'
+          }, {
+            entryType: 'resource',
+            name: 'weex-test.jpg'
+          }]
+        }
+      }
+      window.history.pushState(null, null, '?_wx_tpl=./weex-test.jpg')
       const time = (new Date()).getTime()
       collectStatPerf('totalTime', time)
       expect(collectStatPerf).to.be.a('function')

Reply via email to