提交 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 @@
默认样式
</text>
</view>
<view class="uni-flex uni-row">
<radio value="r1" :checked="true" style="margin-right: 30rpx;">选中</radio>
<radio value="r2">未选中</radio>
</view>
<radio-group class="uni-flex uni-row radio-group" @change="testChange">
<radio value="r" :checked="checked" :color="color" style="margin-right: 30rpx;" class="radio r">{{text}}
</radio>
<radio value="r1" style="margin-right: 30rpx;" class="radio r1">未选中</radio>
<radio value="r2" :disabled="disabled" class="radio r2">禁用</radio>
</radio-group>
</view>
<view class="uni-padding-wrap">
<view class="uni-title uni-common-mt">
......@@ -18,11 +20,12 @@
不同颜色和尺寸的radio
</text>
</view>
<view class="uni-flex uni-row">
<radio value="r1" :checked="true" color="#FFCC33" style="transform:scale(0.7); margin-right: 30rpx;">选中
<radio-group class="uni-flex uni-row radio-group">
<radio value="r1" :checked="true" color="#FFCC33" style="transform:scale(0.7); margin-right: 30rpx;"
class="radio">选中
</radio>
<radio value="r2" color="#FFCC33" style="transform:scale(0.7)">未选中</radio>
</view>
<radio value="r2" color="#FFCC33" style="transform:scale(0.7)" class="radio">未选中</radio>
</radio-group>
</view>
<view class="uni-padding-wrap">
<view class="uni-title uni-common-mt">
......@@ -32,8 +35,8 @@
</view>
</view>
<view class="uni-list">
<radio-group @change="radioChange">
<radio class="uni-list-cell uni-list-cell-pd" v-for="(item, index) in items" :key="item.value"
<radio-group @change="radioChange" class="radio-group">
<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"
:checked="index === current">
{{item.name}}
......@@ -76,7 +79,13 @@
name: '法国'
},
] as ItemType[],
current: 0
current: 0,
value: '',
text: '选中',
disabled: true,
checked: true,
color: '#007aff'
}
},
methods: {
......@@ -87,6 +96,9 @@
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.
先完成此消息的编辑!
想要评论请 注册