You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by cx...@apache.org on 2017/03/24 03:42:29 UTC

[3/8] incubator-weex git commit: + [ios] add macaca test case for texture maxlength

+ [ios] add macaca test case for texture maxlength


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

Branch: refs/heads/0.12-dev
Commit: cf884be8ebcc622e4dd1ec19b30688a8744b3158
Parents: 995f4cc
Author: kfeagle <su...@163.com>
Authored: Thu Mar 23 17:08:31 2017 +0800
Committer: kfeagle <su...@163.com>
Committed: Thu Mar 23 17:08:31 2017 +0800

----------------------------------------------------------------------
 .../WeexSDK/Sources/Component/WXEditComponent.m |  3 ++
 test/pages/components/textarea-maxlength.vue    | 44 ++++++++++++++++++++
 .../components/textarea-maxlength.test.js       | 35 ++++++++++++++++
 3 files changed, 82 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cf884be8/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
index 28efd3c..6bd3390 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXEditComponent.m
@@ -348,6 +348,9 @@ WX_EXPORT_METHOD(@selector(getSelectionRange:))
     }
     if (attributes[@"value"]) {
         _value = [WXConvert NSString:attributes[@"value"]]?:@"";
+        if (_maxLength && [_value length] > [_maxLength integerValue]&& [_maxLength integerValue]> 0) {
+            _value = [_value substringToIndex:([_maxLength integerValue])];
+        }
         [self setText:_value];
     }
     if (attributes[@"returnKeyType"]) {

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cf884be8/test/pages/components/textarea-maxlength.vue
----------------------------------------------------------------------
diff --git a/test/pages/components/textarea-maxlength.vue b/test/pages/components/textarea-maxlength.vue
new file mode 100644
index 0000000..796ea2b
--- /dev/null
+++ b/test/pages/components/textarea-maxlength.vue
@@ -0,0 +1,44 @@
+<template>
+  <div class="wrapper">
+    <text style="font-size:30">test textarea maxlenght</text>
+    <textarea id="textarea" class="textarea" value="" maxlength=4 @input="oninput" @change="onchange" ></textarea>
+  </div>
+</template>
+<script>
+  const modal = weex.requireModule('modal')
+  export default {
+    methods: {
+      oninput (event) {
+        console.log('oninput:', event.value)
+        modal.toast({
+          message: `oninput: ${event.value}`,
+          duration: 0.8
+        })
+      },
+      onchange (event) {
+        console.log('onchange:', event.value)
+        modal.toast({
+          message: `onchange: ${event.value}`,
+          duration: 0.8
+        })
+      },
+    }
+  }
+</script>
+<style>
+  .textarea {
+    font-size: 50px;
+    width: 650px;
+    margin-top: 50px;
+    margin-left: 50px;
+    padding-top: 20px;
+    padding-bottom: 20px;
+    padding-left: 20px;
+    padding-right: 20px;
+    color: #666666;
+    border-width: 2px;
+    border-style: solid;
+    border-color: #41B883;
+    maxlength:10;
+  }
+</style>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cf884be8/test/scripts/components/textarea-maxlength.test.js
----------------------------------------------------------------------
diff --git a/test/scripts/components/textarea-maxlength.test.js b/test/scripts/components/textarea-maxlength.test.js
new file mode 100644
index 0000000..f40368c
--- /dev/null
+++ b/test/scripts/components/textarea-maxlength.test.js
@@ -0,0 +1,35 @@
+'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('textarea maxlength vue test2 ', function () {
+  this.timeout(util.getTimeoutMills());
+  var driver = util.createDriver(wd);
+
+  before(function () {
+    return util.init(driver)
+      .get('wxpage://' + util.getDeviceHost() +'/components/textarea-maxlength.js')
+      .waitForElementByXPath('//div/text[1]',util.getGETActionWaitTimeMills(),1000)
+  });
+
+  after(function () {
+      return util.quit(driver)
+  })
+
+  it('#1 textarea maxlenght', () => {
+    return driver
+      .waitForElementByXPath('//div/textarea')
+      .sendKeys('12345678')
+      .elementByXPath('//div/textarea')
+      .text()
+      .then((text)=>{
+      assert.equal(text,'1234')
+     })
+  })
+
+});
\ No newline at end of file