blob: a3ebddec8dcdcffb8cbdf074d63db5704e666723 [file] [log] [blame]
<template>
<scroller>
<panel title = 'stream-result' :padding-body='0'>
<div style='flex-direction:row'>
<button test-id='streamGet' class='mr-base' type="info" size="middle" value="streamGet" @click.native="streamGet"></button>
<text style="font-size:30px">{{complete}}</text>
</div>
<panel title='校验结果:GET'>
<text style="font-size:30px">{{getResult}}</text>
</panel>
<panel title='校验结果:GET_JSONP'>
<text style="font-size:30px">{{getJSONPResult}}</text>
</panel>
<panel title="校验结果:POST">
<text style="font-size:30px">{{postResult}}</text>
</panel>
<panel title="校验结果:PUT">
<text style="font-size:30px">{{putResult}}</text>
</panel>
<panel title="校验结果:DELETE">
<text style="font-size:30px">{{deleteResult}}</text>
</panel>
<panel title="校验结果:HEAD">
<text style="font-size:30px">{{headResult}}</text>
</panel>
<panel title="校验结果:PATCH">
<text style="font-size:30px">{{patchResult}}</text>
</panel>
</panel>
<wxc-desc>
<text class='desc'>
测试点:
* stream模块的网络请求功能是否正常(GET、POST、PUT、DELETE、HEAD、PATCH)
测试方式:
* 截图比对网络请求返回的结果
</text>
</wxc-desc>
</scroller>
</template>
<script>
var GET_URL = 'http://httpbin.org/get';
var GET_URL_JSONP = 'http://jsfiddle.net/echo/jsonp/?callback=anything&result=content_in_response';
var POST_URL = 'http://httpbin.org/post';
var PUT_URL = 'http://httpbin.org/put';
var DELETE_URL = 'http://httpbin.org/delete';
var HEAD_URL = 'http://httpbin.org/status/418';
var PATCH_URL = 'http://httpbin.org/patch';
var stream = weex.requireModule("stream");
module.exports = {
data : {
sendtype:'json',
getResult:'',
getJSONPResult:'',
postResult:'',
putResult:'',
deleteResult:'',
headResult:'',
patchResult:'',
complete:'',
},
components: {
"wxc-desc":require('../include/wxc-desc.vue'),
panel: require('../include/panel.vue'),
button: require('../include/button.vue'),
},
methods : {
streamGet:function() {
var me = this;
stream.fetch({
method: "GET",
url: GET_URL,
type: this.sendtype,
timeout : 10000
}, function(ret) {
if("GET"=="HEAD"){
me.getResult = ret.resultTxt_GET;
}else{
if(!ret.ok){
me.getResult = "request failed";
}else{
me.getResult = "data type:"+ typeof(ret.data) + "; " +JSON.stringify(ret.data);
}
}
},function(response){
me.getResult = JSON.stringify(response);
});
stream.fetch({
method: 'GET',
url: GET_URL_JSONP,
type:'jsonp'
}, function(ret) {
if(!ret.ok){
me.getJSONPResult = "request failed";
}else{
me.getJSONPResult = JSON.stringify(ret.data);
}
},function(response){
me.getJSONPResult = "bytes received:"+response.length;
});
stream.fetch({
method: 'POST',
url: POST_URL,
type:'json',
body:JSON.stringify({username:'weex'})//or you can just use JSON Object {username:'weex'}
}, function(ret) {
if(!ret.ok){
me.postResult = "request failed";
}else{
me.postResult = JSON.stringify(ret.data);
}
},function(response){
me.postResult = "bytes received:"+response.length;
});
stream.fetch({
method: 'PUT',
url: PUT_URL,
type:'json'
}, function(ret) {
if(!ret.ok){
me.putResult = "request failed";
}else{
me.putResult = JSON.stringify(ret.data);
}
},function(response){
me.putResult = "bytes received:"+response.length;
});
stream.fetch({
method: 'DELETE',
url: DELETE_URL,
type:'json'
}, function(ret) {
if(!ret.ok){
me.deleteResult = "request failed";
}else{
me.deleteResult = JSON.stringify(ret.data);
}
},function(response){
me.deleteResult = "bytes received:"+response.length;
});
stream.fetch({
method: 'HEAD',
url: HEAD_URL,
type:'json'
}, function(ret) {
if(ret.statusText !== 'I\'m a teapot'){
me.headResult = "request failed";
}else{
me.headResult = ret.statusText;
}
},function(response){
me.headResult = "bytes received:"+response.length;
});
stream.fetch({
method: 'PATCH',
url: PATCH_URL,
type:'json'
}, function(ret) {
if(!ret.ok){
me.patchResult = "request failed";
me.complete = "Completed";
}else{
me.patchResult = JSON.stringify(ret.data);
me.complete = "Completed";
}
},function(response){
me.patchResult = "bytes received:"+response.length;
me.complete = "Completed";
});
},
}
}
</script>
<style scoped>
.origin{background-color: #FFFFDF;width: 200;height: 50;}
.mr-base{
margin: 10px;
}
.desc{
color:#aa0000;
font-size: 30px;
}
</style>