提交 7b3c6175 编写于 作者: Y yurj26

feat(radio): add test

上级 551ee7c6
function getData(key = '') {
return new Promise(async (resolve, reject) => {
const data = await page.data()
resolve(key ? data[key] : data)
})
}
let page
beforeAll(async () => {
page = await program.reLaunch('/pages/component/radio/radio')
await page.waitFor(1000)
})
describe('Radio.uvue', () => {
it('change', async () => {
const radio = await page.$('.r')
const radio1 = await page.$('.r1')
const radio2 = await page.$('.r2')
expect(await getData('value')).toEqual("")
await radio1.tap()
expect(await getData('value')).toEqual("r1")
await radio.tap()
expect(await getData('value')).toEqual("r")
await radio2.tap()
expect(await getData('value')).toEqual("r")
})
it('length', async () => {
const radioGroupElements = await page.$$('.radio-group')
expect(radioGroupElements.length).toBe(3)
const radioElements = await page.$$('.radio')
expect(radioElements.length).toBe(11)
})
it('text', async () => {
const radio = await page.$('.r')
expect(await radio.text()).toEqual('选中')
await page.setData({
text: 'checked'
})
expect(await radio.text()).toEqual('checked')
})
it('checked', async () => {
const radio = await page.$('.r')
expect(await radio.property('checked')).toBe(true)
await page.setData({
checked: false
})
await page.waitFor(500)
expect(await radio.property('checked')).toBe(false)
})
it('color', async () => {
const radio = await page.$('.r')
expect(await radio.property('color')).toBe('#007aff')
await page.setData({
color: '#63acfc'
})
await page.waitFor(500)
expect(await radio.property('color')).toBe('#63acfc')
})
it('disabled', async () => {
const radio = await page.$('.r2')
expect(await radio.property('disabled')).toBe(true)
await page.setData({
disabled: false
})
await page.waitFor(500)
expect(await radio.property('disabled')).toBe(false)
})
})
\ No newline at end of file
...@@ -7,10 +7,12 @@ ...@@ -7,10 +7,12 @@
默认样式 默认样式
</text> </text>
</view> </view>
<view class="uni-flex uni-row"> <radio-group class="uni-flex uni-row radio-group" @change="testChange">
<radio value="r1" :checked="true" style="margin-right: 30rpx;">选中</radio> <radio value="r" :checked="checked" :color="color" style="margin-right: 30rpx;" class="radio r">{{text}}
<radio value="r2">未选中</radio> </radio>
</view> <radio value="r1" style="margin-right: 30rpx;" class="radio r1">未选中</radio>
<radio value="r2" :disabled="disabled" class="radio r2">禁用</radio>
</radio-group>
</view> </view>
<view class="uni-padding-wrap"> <view class="uni-padding-wrap">
<view class="uni-title uni-common-mt"> <view class="uni-title uni-common-mt">
...@@ -18,11 +20,12 @@ ...@@ -18,11 +20,12 @@
不同颜色和尺寸的radio 不同颜色和尺寸的radio
</text> </text>
</view> </view>
<view class="uni-flex uni-row"> <radio-group class="uni-flex uni-row radio-group">
<radio value="r1" :checked="true" color="#FFCC33" style="transform:scale(0.7); margin-right: 30rpx;">选中 <radio value="r1" :checked="true" color="#FFCC33" style="transform:scale(0.7); margin-right: 30rpx;"
class="radio">选中
</radio> </radio>
<radio value="r2" color="#FFCC33" style="transform:scale(0.7)">未选中</radio> <radio value="r2" color="#FFCC33" style="transform:scale(0.7)" class="radio">未选中</radio>
</view> </radio-group>
</view> </view>
<view class="uni-padding-wrap"> <view class="uni-padding-wrap">
<view class="uni-title uni-common-mt"> <view class="uni-title uni-common-mt">
...@@ -32,8 +35,8 @@ ...@@ -32,8 +35,8 @@
</view> </view>
</view> </view>
<view class="uni-list"> <view class="uni-list">
<radio-group @change="radioChange"> <radio-group @change="radioChange" class="radio-group">
<radio class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items" :key="item.value" <radio class="uni-list-cell uni-list-cell-pd radio" v-for="(item, index) in items" :key="item.value"
:class="index < items.length - 1 ? 'uni-list-cell-line': ''" :value="item.value" :class="index < items.length - 1 ? 'uni-list-cell-line': ''" :value="item.value"
:checked="index === current"> :checked="index === current">
{{item.name}} {{item.name}}
...@@ -76,7 +79,13 @@ ...@@ -76,7 +79,13 @@
name: '法国' name: '法国'
}, },
] as ItemType[], ] as ItemType[],
current: 0 current: 0,
value: '',
text: '选中',
disabled: true,
checked: true,
color: '#007aff'
} }
}, },
methods: { methods: {
...@@ -87,6 +96,9 @@ ...@@ -87,6 +96,9 @@
break; break;
} }
} }
},
testChange(e : RadioGroupChangeEvent) {
this.value = e.detail.value
} }
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册