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);
+ })
+ })
+});
+
+