Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
83b20c67
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1642
Star
28
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
83b20c67
编写于
12月 03, 2024
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加部分 for..of 测试示例
上级
e7ea966e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
106 addition
and
0 deletion
+106
-0
uni_modules/uts-tests/utssdk/iterator.uts
uni_modules/uts-tests/utssdk/iterator.uts
+106
-0
未找到文件。
uni_modules/uts-tests/utssdk/iterator.uts
浏览文件 @
83b20c67
...
...
@@ -41,6 +41,86 @@ class TestChild implements UTSValueIterable<any | null> {
}
}
class TestClass implements UTSValueIterable<any | null> {
holderArray: (any | null)[] = [null, null]
constructor(){
super()
}
valueIterator(): UTSIterator<any | null> {
let holderIndex = 0;
let obj: UTSIterator<any | null> = {
next(): UTSIteratorResult<any | null> {
let currentVal = this.holderArray[holderIndex++]
while(currentVal == null ){
if(holderIndex == this.holderArray.size - 1){
break;
}
currentVal = this.holderArray[holderIndex++]
}
return UTSIteratorResult<any | null>(holderIndex == this.holderArray.size - 1,currentVal )
}
}
return obj
}
}
class TestClass2 implements UTSValueIterable<any | null> {
holderArray: (any | null)[] = [11, 22, null, 33, 44, null]
constructor(){
super()
}
valueIterator(): UTSIterator<any | null> {
let holderIndex = 0;
let obj: UTSIterator<any | null> = {
next(): UTSIteratorResult<any | null> {
let currentVal = this.holderArray[holderIndex++]
while(currentVal == null ){
if(holderIndex == this.holderArray.size - 1){
break;
}
currentVal = this.holderArray[holderIndex++]
}
return UTSIteratorResult<any | null>(holderIndex == this.holderArray.size - 1,currentVal )
}
}
return obj
}
}
class TestClass3 implements UTSValueIterable<any | null> {
holderArray: (any | null)[] = [11, 22, null, 33, 44, null]
constructor(){
super()
}
valueIterator(): UTSIterator<any | null> {
let holderIndex = 0;
let obj: UTSIterator<any | null> = {
next(): UTSIteratorResult<any | null> {
return UTSIteratorResult<any | null>(holderIndex == this.holderArray.size - 1, this.holderArray[holderIndex++])
}
}
return obj
}
}
export function testIterator(): Result {
return describe("Iterator", () => {
...
...
@@ -53,6 +133,9 @@ export function testIterator(): Result {
// expect(result).toEqual(["a", "b", "c"])
})
test('for...of', () => {
// test Array
let arr = ["a", "b", "c", "d"]
...
...
@@ -96,6 +179,29 @@ export function testIterator(): Result {
result4.add(item)
}
expect(result4).toEqual([11, 22, null, 33, 44, null])
let test = new TestClass()
let forofRet = ""
for (item of test) {
forofRet += item.toString()
}
expect(forofRet).toEqual('')
let test2 = new TestClass2()
let forofRet2 = ""
for (item of test2) {
forofRet2 += item.toString()
}
expect(forofRet2).toEqual('11223344')
let test3 = new TestClass3()
let forofRet3 = ""
for (item of test3) {
forofRet3 += item.toString()
}
expect(forofRet3).toEqual('1122null3344null')
})
})
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录