You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/04/08 14:12:02 UTC

[3/5] incubator-weex git commit: * [android] fix the invaild interval time and add testcase

* [android] fix the invaild interval time and add testcase


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

Branch: refs/heads/0.12-dev
Commit: e28a195bb4ce24ae1b69f77a4eea73ccd6486cf0
Parents: 003e9ae
Author: moxun.ljf <fu...@foxmail.com>
Authored: Thu Mar 23 15:49:30 2017 +0800
Committer: moxun.ljf <fu...@foxmail.com>
Committed: Thu Mar 23 15:49:30 2017 +0800

----------------------------------------------------------------------
 .../taobao/weex/ui/view/WXCircleViewPager.java  |  8 ++--
 test/pages/slider-infinite.we                   | 47 ++++++++++++++++++++
 test/scripts/components/slider-infinite.test.js | 38 ++++++++++++++++
 3 files changed, 88 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e28a195b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
index fe8446c..ef6106b 100755
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
@@ -233,7 +233,7 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
   private boolean scrollable = true;
   private int mState = ViewPager.SCROLL_STATE_IDLE;
 
-  private Runnable scrollAction = new ScrollAction(this, intervalTime);
+  private Runnable scrollAction = new ScrollAction(this);
 
   @SuppressLint("NewApi")
   public WXCircleViewPager(Context context) {
@@ -487,10 +487,8 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
 
   private static final class ScrollAction implements Runnable {
     private WeakReference<WXCircleViewPager> targetRef;
-    private long intervalTime;
-    private ScrollAction(WXCircleViewPager target, long intervalTime) {
+    private ScrollAction(WXCircleViewPager target) {
       this.targetRef = new WeakReference<>(target);
-      this.intervalTime = intervalTime;
     }
 
     @Override
@@ -500,7 +498,7 @@ public class WXCircleViewPager extends ViewPager implements WXGestureObservable
       if ((target = targetRef.get()) != null) {
         target.showNextItem();
         target.removeCallbacks(this);
-        target.postDelayed(this, intervalTime);
+        target.postDelayed(this, target.getIntervalTime());
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e28a195b/test/pages/slider-infinite.we
----------------------------------------------------------------------
diff --git a/test/pages/slider-infinite.we b/test/pages/slider-infinite.we
new file mode 100644
index 0000000..e4fc45d
--- /dev/null
+++ b/test/pages/slider-infinite.we
@@ -0,0 +1,47 @@
+<template>
+    <div>
+        <text>{{d1}}</text>
+        <slider auto-play="true" onchange="change" style="width: 750px;height: 400px;background-color: blue" interval="500" infinite="false">
+            <div style="flex: 1;background-color: beige;align-items: center;" repeat="{{item in items}}">
+                <text style="font-size: 60px;">
+                    {{item}}
+                </text>
+            </div>
+            <indicator style="height: 20px"></indicator>
+        </slider>
+        
+        <text style="margin-top:60">{{d2}}</text>
+        <slider auto-play="true" onchange="change2" style="width: 750px;height: 400px;background-color: blue;" interval="500">
+            <div style="flex: 1;background-color: beige;align-items: center;" repeat="{{item in items}}">
+                <text style="font-size: 60px;">
+                    {{item}}
+                </text>
+            </div>
+            <indicator style="height: 20px"></indicator>
+        </slider>
+    </div>
+</template>
+
+<script>
+    var itemCount = 2;
+    module.exports = {
+        data: {
+            d1:0,
+            d2:0,
+            items: [],
+        },
+        methods: {
+            ready: function () {
+                for (var index = 0; index < itemCount ; index++) {
+                    this.items[index] = 'Page: ' + index;
+                }
+            },
+            change: function(e){
+              this.d1 = parseInt(this.d1) + 1;
+            },
+            change2: function(e) {
+              this.d2 = parseInt(this.d2) + 1;
+            }
+        }
+    }
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e28a195b/test/scripts/components/slider-infinite.test.js
----------------------------------------------------------------------
diff --git a/test/scripts/components/slider-infinite.test.js b/test/scripts/components/slider-infinite.test.js
new file mode 100644
index 0000000..1a14170
--- /dev/null
+++ b/test/scripts/components/slider-infinite.test.js
@@ -0,0 +1,38 @@
+'use strict';
+
+var _ = require('macaca-utils');
+var assert = require('chai').assert
+var wd = require('weex-wd')
+var path = require('path');
+var os = require('os');
+var util = require("../util.js");
+
+describe('slider infinite scroll', function () {
+  this.timeout(util.getTimeoutMills());
+  var driver = util.createDriver(wd);
+
+  before(function () {
+    return util.init(driver)
+      .get('wxpage://' + util.getDeviceHost() +'/slider-infinite.js')
+      .waitForElementByXPath('//div/text[1]',util.getGETActionWaitTimeMills(),1000)
+  });
+
+  after(function () {
+      return util.quit(driver);
+  })
+
+
+  it('#1 waiting for auto play', () => {
+    return driver
+    .sleep(5000)
+    .elementByXPath('//div/text')
+    .text()
+    .then((text)=>{
+        var parts = text.split("-");
+        assert.equal(parts[0], 1);
+        assert.equal(parts[2] == 1, false);
+    })
+  })
+});
+
+