Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_43355755
engine
提交
dea585f5
E
engine
项目概览
weixin_43355755
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
dea585f5
编写于
6月 18, 2021
作者:
D
Dan Field
提交者:
GitHub
6月 18, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Migrate //testing to nullsafety (#26825)
上级
6be8b074
变更
31
隐藏空白更改
内联
并排
Showing
31 changed file
with
123 addition
and
217 deletion
+123
-217
testing/dart/canvas_test.dart
testing/dart/canvas_test.dart
+6
-15
testing/dart/channel_buffers_test.dart
testing/dart/channel_buffers_test.dart
+43
-45
testing/dart/codec_test.dart
testing/dart/codec_test.dart
+0
-1
testing/dart/color_filter_test.dart
testing/dart/color_filter_test.dart
+1
-10
testing/dart/color_test.dart
testing/dart/color_test.dart
+0
-1
testing/dart/compositing_test.dart
testing/dart/compositing_test.dart
+31
-32
testing/dart/dart_test.dart
testing/dart/dart_test.dart
+0
-1
testing/dart/encoding_test.dart
testing/dart/encoding_test.dart
+5
-6
testing/dart/geometry_test.dart
testing/dart/geometry_test.dart
+0
-1
testing/dart/gradient_test.dart
testing/dart/gradient_test.dart
+1
-2
testing/dart/http_allow_http_connections_test.dart
testing/dart/http_allow_http_connections_test.dart
+0
-2
testing/dart/http_disallow_http_connections_test.dart
testing/dart/http_disallow_http_connections_test.dart
+0
-2
testing/dart/image_descriptor_test.dart
testing/dart/image_descriptor_test.dart
+0
-1
testing/dart/image_dispose_test.dart
testing/dart/image_dispose_test.dart
+6
-7
testing/dart/image_filter_test.dart
testing/dart/image_filter_test.dart
+4
-45
testing/dart/image_resize_test.dart
testing/dart/image_resize_test.dart
+3
-4
testing/dart/isolate_name_server_test.dart
testing/dart/isolate_name_server_test.dart
+1
-2
testing/dart/lerp_test.dart
testing/dart/lerp_test.dart
+0
-1
testing/dart/locale_test.dart
testing/dart/locale_test.dart
+0
-1
testing/dart/observatory/skp_test.dart
testing/dart/observatory/skp_test.dart
+0
-2
testing/dart/paragraph_builder_test.dart
testing/dart/paragraph_builder_test.dart
+0
-1
testing/dart/paragraph_test.dart
testing/dart/paragraph_test.dart
+0
-1
testing/dart/path_test.dart
testing/dart/path_test.dart
+8
-10
testing/dart/plugin_utilities_test.dart
testing/dart/plugin_utilities_test.dart
+4
-9
testing/dart/pubspec.yaml
testing/dart/pubspec.yaml
+1
-1
testing/dart/semantics_test.dart
testing/dart/semantics_test.dart
+0
-1
testing/dart/spirv_exception_test.dart
testing/dart/spirv_exception_test.dart
+1
-1
testing/dart/task_order_test.dart
testing/dart/task_order_test.dart
+0
-1
testing/dart/text_test.dart
testing/dart/text_test.dart
+6
-6
testing/dart/window_test.dart
testing/dart/window_test.dart
+2
-3
testing/smoke_test_failure/fail_test.dart
testing/smoke_test_failure/fail_test.dart
+0
-2
未找到文件。
testing/dart/canvas_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'dart:io'
;
import
'dart:typed_data'
;
...
...
@@ -54,8 +52,6 @@ void testNoCrashes() {
final
Picture
picture
=
recorder
.
endRecording
();
final
Image
image
=
await
picture
.
toImage
(
1
,
1
);
try
{
Canvas
(
null
,
null
);
}
catch
(
error
)
{
}
// ignore: empty_catches
try
{
Canvas
(
null
,
rect
);
}
catch
(
error
)
{
}
// ignore: empty_catches
try
{
Canvas
(
PictureRecorder
(),
null
);
}
catch
(
error
)
{
}
// ignore: empty_catches
try
{
Canvas
(
PictureRecorder
(),
rect
);
}
catch
(
error
)
{
}
// ignore: empty_catches
...
...
@@ -88,19 +84,18 @@ void testNoCrashes() {
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawRawPoints
(
PointMode
.
points
,
Float32List
(
0
),
paint
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawRect
(
rect
,
paint
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawRRect
(
rrect
,
paint
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawShadow
(
path
,
color
,
double
.
nan
,
null
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawShadow
(
path
,
color
,
double
.
nan
,
false
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawShadow
(
path
,
color
,
double
.
nan
,
true
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawVertices
(
Vertices
(
VertexMode
.
triangles
,
<
Offset
>[]),
null
,
paint
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
drawVertices
(
Vertices
(
VertexMode
.
triangles
,
<
Offset
>[]),
BlendMode
.
screen
,
paint
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
getSaveCount
());
testCanvas
((
Canvas
canvas
)
=>
canvas
.
restore
());
testCanvas
((
Canvas
canvas
)
=>
canvas
.
rotate
(
double
.
nan
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
save
());
testCanvas
((
Canvas
canvas
)
=>
canvas
.
saveLayer
(
rect
,
paint
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
saveLayer
(
null
,
null
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
saveLayer
(
null
,
paint
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
scale
(
double
.
nan
,
double
.
nan
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
skew
(
double
.
nan
,
double
.
nan
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
transform
(
null
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
transform
(
Float64List
(
16
)
));
testCanvas
((
Canvas
canvas
)
=>
canvas
.
translate
(
double
.
nan
,
double
.
nan
));
});
}
...
...
@@ -112,8 +107,8 @@ Future<bool> fuzzyCompareImages(Image golden, Image img) async {
return
false
;
}
int
getPixel
(
ByteData
data
,
int
x
,
int
y
)
=>
data
.
getUint32
((
x
+
y
*
golden
.
width
)
*
4
);
final
ByteData
goldenData
=
await
golden
.
toByteData
()
;
final
ByteData
imgData
=
await
img
.
toByteData
()
;
final
ByteData
goldenData
=
(
await
golden
.
toByteData
())!
;
final
ByteData
imgData
=
(
await
img
.
toByteData
())!
;
for
(
int
y
=
0
;
y
<
golden
.
height
;
y
++)
{
for
(
int
x
=
0
;
x
<
golden
.
width
;
x
++)
{
if
(
getPixel
(
goldenData
,
x
,
y
)
!=
getPixel
(
imgData
,
x
,
y
))
{
...
...
@@ -144,7 +139,7 @@ Future<bool> fuzzyGoldenImageCompare(
}
if
(!
areEqual
)
{
final
ByteData
pngData
=
await
image
.
toByteData
(
format:
ImageByteFormat
.
png
)
;
final
ByteData
pngData
=
(
await
image
.
toByteData
(
format:
ImageByteFormat
.
png
))!
;
final
String
outPath
=
path
.
join
(
imagesPath
,
'found_'
+
goldenImageName
);
File
(
outPath
).
writeAsBytesSync
(
pngData
.
buffer
.
asUint8List
());
print
(
'wrote: '
+
outPath
);
...
...
@@ -231,11 +226,7 @@ void main() {
canvas
.
drawRawAtlas
(
image
,
Float32List
(
0
),
Float32List
(
0
),
Int32List
(
0
),
BlendMode
.
src
,
null
,
paint
);
canvas
.
drawRawAtlas
(
image
,
Float32List
(
0
),
Float32List
(
0
),
null
,
null
,
rect
,
paint
);
expectAssertion
(()
=>
canvas
.
drawAtlas
(
image
,
<
RSTransform
>[
transform
],
<
Rect
>[
rect
],
<
Color
>[
color
],
BlendMode
.
src
,
rect
,
null
));
expectAssertion
(()
=>
canvas
.
drawAtlas
(
image
,
<
RSTransform
>[
transform
],
<
Rect
>[
rect
],
<
Color
>[
color
],
null
,
rect
,
paint
));
expectAssertion
(()
=>
canvas
.
drawAtlas
(
image
,
<
RSTransform
>[
transform
],
null
,
<
Color
>[
color
],
BlendMode
.
src
,
rect
,
paint
));
expectAssertion
(()
=>
canvas
.
drawAtlas
(
image
,
null
,
<
Rect
>[
rect
],
<
Color
>[
color
],
BlendMode
.
src
,
rect
,
paint
));
expectAssertion
(()
=>
canvas
.
drawAtlas
(
null
,
<
RSTransform
>[
transform
],
<
Rect
>[
rect
],
<
Color
>[
color
],
BlendMode
.
src
,
rect
,
paint
));
});
test
(
'Data lengths must match for drawAtlas methods'
,
()
async
{
...
...
testing/dart/channel_buffers_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
// KEEP THIS SYNCHRONIZED WITH ../../lib/web_ui/test/channel_buffers_test.dart
import
'dart:async'
;
...
...
@@ -29,16 +27,15 @@ void main() {
final
ByteData
data
=
_makeByteData
(
'bar'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
bool
called
=
false
;
void
callback
(
ByteData
responseData
)
{
void
callback
(
ByteData
?
responseData
)
{
called
=
true
;
}
buffers
.
push
(
channel
,
data
,
callback
);
await
buffers
.
drain
(
channel
,
(
ByteData
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
{
await
buffers
.
drain
(
channel
,
(
ByteData
?
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
expect
(
drainedData
,
equals
(
data
));
assert
(!
called
);
drainedCallback
(
drainedData
);
assert
(
called
);
return
;
});
});
...
...
@@ -46,13 +43,13 @@ void main() {
const
String
channel
=
'foo'
;
final
ByteData
data
=
_makeByteData
(
'message'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
void
callback
(
ByteData
responseData
)
{}
void
callback
(
ByteData
?
responseData
)
{}
buffers
.
push
(
channel
,
data
,
callback
);
final
List
<
String
>
log
=
<
String
>[];
final
Completer
<
void
>
completer
=
Completer
<
void
>();
scheduleMicrotask
(()
{
log
.
add
(
'before drain, microtask'
);
});
log
.
add
(
'before drain'
);
buffers
.
drain
(
channel
,
(
ByteData
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
buffers
.
drain
(
channel
,
(
ByteData
?
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
log
.
add
(
'callback'
);
completer
.
complete
();
});
...
...
@@ -73,13 +70,12 @@ void main() {
final
ByteData
data
=
_makeByteData
(
'bar'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
void
callback
(
ByteData
responseData
)
{}
void
callback
(
ByteData
?
responseData
)
{}
_resize
(
buffers
,
channel
,
0
);
buffers
.
push
(
channel
,
data
,
callback
);
bool
didCall
=
false
;
await
buffers
.
drain
(
channel
,
(
ByteData
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
{
await
buffers
.
drain
(
channel
,
(
ByteData
?
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
didCall
=
true
;
return
;
});
expect
(
didCall
,
equals
(
false
));
});
...
...
@@ -88,9 +84,8 @@ void main() {
const
String
channel
=
'foo'
;
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
bool
didCall
=
false
;
await
buffers
.
drain
(
channel
,
(
ByteData
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
{
await
buffers
.
drain
(
channel
,
(
ByteData
?
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
didCall
=
true
;
return
;
});
expect
(
didCall
,
equals
(
false
));
});
...
...
@@ -102,14 +97,14 @@ void main() {
final
ByteData
three
=
_makeByteData
(
'three'
);
final
ByteData
four
=
_makeByteData
(
'four'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
void
callback
(
ByteData
responseData
)
{}
void
callback
(
ByteData
?
responseData
)
{}
_resize
(
buffers
,
channel
,
3
);
buffers
.
push
(
channel
,
one
,
callback
);
buffers
.
push
(
channel
,
two
,
callback
);
buffers
.
push
(
channel
,
three
,
callback
);
buffers
.
push
(
channel
,
four
,
callback
);
int
counter
=
0
;
await
buffers
.
drain
(
channel
,
(
ByteData
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
{
await
buffers
.
drain
(
channel
,
(
ByteData
?
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
switch
(
counter
)
{
case
0
:
expect
(
drainedData
,
equals
(
two
));
...
...
@@ -122,7 +117,6 @@ void main() {
break
;
}
counter
+=
1
;
return
;
});
expect
(
counter
,
equals
(
3
));
});
...
...
@@ -133,18 +127,17 @@ void main() {
final
ByteData
two
=
_makeByteData
(
'two'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
_resize
(
buffers
,
channel
,
100
);
void
callback
(
ByteData
responseData
)
{}
void
callback
(
ByteData
?
responseData
)
{}
buffers
.
push
(
channel
,
one
,
callback
);
buffers
.
push
(
channel
,
two
,
callback
);
_resize
(
buffers
,
channel
,
1
);
int
counter
=
0
;
await
buffers
.
drain
(
channel
,
(
ByteData
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
{
await
buffers
.
drain
(
channel
,
(
ByteData
?
drainedData
,
ui
.
PlatformMessageResponseCallback
drainedCallback
)
async
{
switch
(
counter
)
{
case
0
:
expect
(
drainedData
,
equals
(
two
));
}
counter
+=
1
;
return
;
});
expect
(
counter
,
equals
(
1
));
});
...
...
@@ -155,11 +148,11 @@ void main() {
final
ByteData
two
=
_makeByteData
(
'two'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
bool
didCallCallback
=
false
;
void
oneCallback
(
ByteData
responseData
)
{
void
oneCallback
(
ByteData
?
responseData
)
{
expect
(
responseData
,
isNull
);
didCallCallback
=
true
;
}
void
twoCallback
(
ByteData
responseData
)
{
void
twoCallback
(
ByteData
?
responseData
)
{
fail
(
'wrong callback called'
);
}
_resize
(
buffers
,
channel
,
100
);
...
...
@@ -176,11 +169,11 @@ void main() {
final
ByteData
two
=
_makeByteData
(
'two'
);
final
ui
.
ChannelBuffers
buffers
=
ui
.
ChannelBuffers
();
bool
didCallCallback
=
false
;
void
oneCallback
(
ByteData
responseData
)
{
void
oneCallback
(
ByteData
?
responseData
)
{
expect
(
responseData
,
isNull
);
didCallCallback
=
true
;
}
void
twoCallback
(
ByteData
responseData
)
{
void
twoCallback
(
ByteData
?
responseData
)
{
fail
(
'wrong callback called'
);
}
_resize
(
buffers
,
channel
,
1
);
...
...
@@ -211,37 +204,40 @@ void main() {
final
ByteData
five
=
_makeByteData
(
'five'
);
final
ByteData
six
=
_makeByteData
(
'six'
);
final
ByteData
seven
=
_makeByteData
(
'seven'
);
buffers
.
push
(
'a'
,
one
,
(
ByteData
data
)
{
});
buffers
.
push
(
'b'
,
two
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
three
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
one
,
(
ByteData
?
data
)
{
});
buffers
.
push
(
'b'
,
two
,
(
ByteData
?
data
)
{
});
buffers
.
push
(
'a'
,
three
,
(
ByteData
?
data
)
{
});
log
.
add
(
'top'
);
buffers
.
setListener
(
'a'
,
(
ByteData
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
log
.
add
(
'a1:
${utf8.decode(data.buffer.asUint8List())}
'
);
buffers
.
setListener
(
'a'
,
(
ByteData
?
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
assert
(
data
!=
null
);
log
.
add
(
'a1:
${utf8.decode(data!.buffer.asUint8List())}
'
);
});
log
.
add
(
'-1'
);
await
null
;
log
.
add
(
'-2'
);
buffers
.
setListener
(
'a'
,
(
ByteData
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
log
.
add
(
'a2:
${utf8.decode(data.buffer.asUint8List())}
'
);
buffers
.
setListener
(
'a'
,
(
ByteData
?
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
assert
(
data
!=
null
);
log
.
add
(
'a2:
${utf8.decode(data!.buffer.asUint8List())}
'
);
});
log
.
add
(
'-3'
);
await
null
;
log
.
add
(
'-4'
);
buffers
.
setListener
(
'b'
,
(
ByteData
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
log
.
add
(
'b:
${utf8.decode(data.buffer.asUint8List())}
'
);
buffers
.
setListener
(
'b'
,
(
ByteData
?
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
assert
(
data
!=
null
);
log
.
add
(
'b:
${utf8.decode(data!.buffer.asUint8List())}
'
);
});
log
.
add
(
'-5'
);
await
null
;
// first microtask after setting listener drains the first message
await
null
;
// second microtask ends the draining.
log
.
add
(
'-6'
);
buffers
.
push
(
'b'
,
four
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
five
,
(
ByteData
data
)
{
});
buffers
.
push
(
'b'
,
four
,
(
ByteData
?
data
)
{
});
buffers
.
push
(
'a'
,
five
,
(
ByteData
?
data
)
{
});
log
.
add
(
'-7'
);
await
null
;
log
.
add
(
'-8'
);
buffers
.
clearListener
(
'a'
);
buffers
.
push
(
'a'
,
six
,
(
ByteData
data
)
{
});
buffers
.
push
(
'b'
,
seven
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
six
,
(
ByteData
?
data
)
{
});
buffers
.
push
(
'b'
,
seven
,
(
ByteData
?
data
)
{
});
await
null
;
log
.
add
(
'-9'
);
expect
(
log
,
<
String
>[
...
...
@@ -271,24 +267,26 @@ void main() {
final
ByteData
three
=
_makeByteData
(
'three'
);
final
ByteData
four
=
_makeByteData
(
'four'
);
buffers
.
handleMessage
(
_makeByteData
(
'resize
\r
a
\r
10'
));
buffers
.
push
(
'a'
,
one
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
two
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
three
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
one
,
(
ByteData
?
data
)
{
});
buffers
.
push
(
'a'
,
two
,
(
ByteData
?
data
)
{
});
buffers
.
push
(
'a'
,
three
,
(
ByteData
?
data
)
{
});
log
.
add
(
'-1'
);
buffers
.
setListener
(
'a'
,
(
ByteData
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
log
.
add
(
'a1:
${utf8.decode(data.buffer.asUint8List())}
'
);
buffers
.
setListener
(
'a'
,
(
ByteData
?
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
assert
(
data
!=
null
);
log
.
add
(
'a1:
${utf8.decode(data!.buffer.asUint8List())}
'
);
});
await
null
;
// handles one
log
.
add
(
'-2'
);
buffers
.
clearListener
(
'a'
);
await
null
;
log
.
add
(
'-3'
);
buffers
.
setListener
(
'a'
,
(
ByteData
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
log
.
add
(
'a2:
${utf8.decode(data.buffer.asUint8List())}
'
);
buffers
.
setListener
(
'a'
,
(
ByteData
?
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
assert
(
data
!=
null
);
log
.
add
(
'a2:
${utf8.decode(data!.buffer.asUint8List())}
'
);
});
log
.
add
(
'-4'
);
await
null
;
buffers
.
push
(
'a'
,
four
,
(
ByteData
data
)
{
});
buffers
.
push
(
'a'
,
four
,
(
ByteData
?
data
)
{
});
log
.
add
(
'-5'
);
await
null
;
log
.
add
(
'-6'
);
...
...
@@ -337,14 +335,14 @@ void main() {
final
Zone
zone2
=
Zone
.
current
.
fork
();
zone1
.
run
(()
{
log
.
add
(
'first zone run:
${Zone.current == zone1}
'
);
buffers
.
setListener
(
'a'
,
(
ByteData
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
buffers
.
setListener
(
'a'
,
(
ByteData
?
data
,
ui
.
PlatformMessageResponseCallback
callback
)
{
log
.
add
(
'callback1:
${Zone.current == zone1}
'
);
callback
(
data
);
});
});
zone2
.
run
(()
{
log
.
add
(
'second zone run:
${Zone.current == zone2}
'
);
buffers
.
push
(
'a'
,
ByteData
.
sublistView
(
Uint8List
.
fromList
(<
int
>[]),
0
,
0
),
(
ByteData
data
)
{
buffers
.
push
(
'a'
,
ByteData
.
sublistView
(
Uint8List
.
fromList
(<
int
>[]),
0
,
0
),
(
ByteData
?
data
)
{
log
.
add
(
'callback2:
${Zone.current == zone2}
'
);
});
});
...
...
testing/dart/codec_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:io'
;
import
'dart:typed_data'
;
import
'dart:ui'
as
ui
;
...
...
testing/dart/color_filter_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:typed_data'
;
import
'dart:ui'
;
...
...
@@ -36,20 +35,12 @@ void main() {
recorderCanvas
.
drawPaint
(
paint
);
final
Picture
picture
=
recorder
.
endRecording
();
final
Image
image
=
await
picture
.
toImage
(
width
,
height
);
final
ByteData
bytes
=
await
image
.
toByteData
()
;
final
ByteData
bytes
=
(
await
image
.
toByteData
())!
;
expect
(
bytes
.
lengthInBytes
,
width
*
height
*
4
);
return
bytes
.
buffer
.
asUint32List
();
}
test
(
'ColorFilter - nulls'
,
()
async
{
final
Paint
paint
=
Paint
()..
colorFilter
=
const
ColorFilter
.
mode
(
null
,
null
);
expect
(
paint
.
colorFilter
,
null
);
paint
.
colorFilter
=
const
ColorFilter
.
matrix
(
null
);
expect
(
paint
.
colorFilter
,
null
);
});
test
(
'ColorFilter - mode'
,
()
async
{
final
Paint
paint
=
Paint
()
..
color
=
green
...
...
testing/dart/color_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/compositing_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:typed_data'
show
Float64List
;
import
'dart:ui'
;
...
...
@@ -292,28 +291,28 @@ void main() {
}
test
(
'SceneBuilder does not share a layer between addRetained and push*'
,
()
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushOffset
(
0
,
0
,
oldLayer:
oldLayer
as
OffsetEngineLayer
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushOffset
(
0
,
0
,
oldLayer:
oldLayer
as
OffsetEngineLayer
?
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushTransform
(
Float64List
(
16
),
oldLayer:
oldLayer
as
TransformEngineLayer
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushTransform
(
Float64List
(
16
),
oldLayer:
oldLayer
as
TransformEngineLayer
?
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushClipRect
(
Rect
.
zero
,
oldLayer:
oldLayer
as
ClipRectEngineLayer
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushClipRect
(
Rect
.
zero
,
oldLayer:
oldLayer
as
ClipRectEngineLayer
?
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushClipRRect
(
RRect
.
zero
,
oldLayer:
oldLayer
as
ClipRRectEngineLayer
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushClipRRect
(
RRect
.
zero
,
oldLayer:
oldLayer
as
ClipRRectEngineLayer
?
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushClipPath
(
Path
(),
oldLayer:
oldLayer
as
ClipPathEngineLayer
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushClipPath
(
Path
(),
oldLayer:
oldLayer
as
ClipPathEngineLayer
?
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushOpacity
(
100
,
oldLayer:
oldLayer
as
OpacityEngineLayer
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushOpacity
(
100
,
oldLayer:
oldLayer
as
OpacityEngineLayer
?
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushBackdropFilter
(
ImageFilter
.
blur
(),
oldLayer:
oldLayer
as
BackdropFilterEngineLayer
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushBackdropFilter
(
ImageFilter
.
blur
(),
oldLayer:
oldLayer
as
BackdropFilterEngineLayer
?
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushShaderMask
(
Gradient
.
radial
(
const
Offset
(
0
,
0
),
...
...
@@ -322,22 +321,22 @@ void main() {
),
Rect
.
zero
,
BlendMode
.
color
,
oldLayer:
oldLayer
as
ShaderMaskEngineLayer
,
oldLayer:
oldLayer
as
ShaderMaskEngineLayer
?
,
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
return
builder
.
pushPhysicalShape
(
path:
Path
(),
color:
const
Color
.
fromARGB
(
0
,
0
,
0
,
0
),
oldLayer:
oldLayer
as
PhysicalShapeEngineLayer
,
elevation:
0.0
);
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushPhysicalShape
(
path:
Path
(),
color:
const
Color
.
fromARGB
(
0
,
0
,
0
,
0
),
oldLayer:
oldLayer
as
PhysicalShapeEngineLayer
?
,
elevation:
0.0
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushColorFilter
(
const
ColorFilter
.
mode
(
Color
.
fromARGB
(
0
,
0
,
0
,
0
),
BlendMode
.
color
,
),
oldLayer:
oldLayer
as
ColorFilterEngineLayer
,
oldLayer:
oldLayer
as
ColorFilterEngineLayer
?
,
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushColorFilter
(
const
ColorFilter
.
matrix
(<
double
>[
1
,
0
,
0
,
0
,
0
,
...
...
@@ -345,28 +344,28 @@ void main() {
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
]),
oldLayer:
oldLayer
as
ColorFilterEngineLayer
,
oldLayer:
oldLayer
as
ColorFilterEngineLayer
?
,
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushColorFilter
(
const
ColorFilter
.
linearToSrgbGamma
(),
oldLayer:
oldLayer
as
ColorFilterEngineLayer
,
oldLayer:
oldLayer
as
ColorFilterEngineLayer
?
,
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushColorFilter
(
const
ColorFilter
.
srgbToLinearGamma
(),
oldLayer:
oldLayer
as
ColorFilterEngineLayer
,
oldLayer:
oldLayer
as
ColorFilterEngineLayer
?
,
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushImageFilter
(
ImageFilter
.
blur
(
sigmaX:
10.0
,
sigmaY:
10.0
),
oldLayer:
oldLayer
as
ImageFilterEngineLayer
,
oldLayer:
oldLayer
as
ImageFilterEngineLayer
?
,
);
});
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
oldLayer
)
{
testNoSharing
((
SceneBuilder
builder
,
EngineLayer
?
oldLayer
)
{
return
builder
.
pushImageFilter
(
ImageFilter
.
matrix
(
Float64List
.
fromList
(<
double
>[
1
,
0
,
0
,
0
,
...
...
@@ -374,10 +373,10 @@ void main() {
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
])),
oldLayer:
oldLayer
as
ImageFilterEngineLayer
,
oldLayer:
oldLayer
as
ImageFilterEngineLayer
?
,
);
});
});
}
typedef
_TestNoSharingFunction
=
EngineLayer
Function
(
SceneBuilder
builder
,
EngineLayer
oldLayer
);
typedef
_TestNoSharingFunction
=
EngineLayer
Function
(
SceneBuilder
builder
,
EngineLayer
?
oldLayer
);
testing/dart/dart_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/encoding_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'dart:io'
;
import
'dart:typed_data'
;
...
...
@@ -20,13 +19,13 @@ const Color _kGreen = Color.fromRGBO(0, 255, 0, 1.0);
void
main
(
)
{
test
(
'Image.toByteData RGBA format works with simple image'
,
()
async
{
final
Image
image
=
await
Square4x4Image
.
image
;
final
ByteData
data
=
await
image
.
toByteData
()
;
final
ByteData
data
=
(
await
image
.
toByteData
())!
;
expect
(
Uint8List
.
view
(
data
.
buffer
),
Square4x4Image
.
bytes
);
});
test
(
'Image.toByteData RGBA format converts grayscale images'
,
()
async
{
final
Image
image
=
await
GrayscaleImage
.
load
();
final
ByteData
data
=
await
image
.
toByteData
()
;
final
ByteData
data
=
(
await
image
.
toByteData
())!
;
final
Uint8List
bytes
=
data
.
buffer
.
asUint8List
();
expect
(
bytes
,
hasLength
(
16
));
expect
(
bytes
,
GrayscaleImage
.
bytesAsRgba
);
...
...
@@ -34,13 +33,13 @@ void main() {
test
(
'Image.toByteData Unmodified format works with simple image'
,
()
async
{
final
Image
image
=
await
Square4x4Image
.
image
;
final
ByteData
data
=
await
image
.
toByteData
(
format:
ImageByteFormat
.
rawUnmodified
)
;
final
ByteData
data
=
(
await
image
.
toByteData
(
format:
ImageByteFormat
.
rawUnmodified
))!
;
expect
(
Uint8List
.
view
(
data
.
buffer
),
Square4x4Image
.
bytes
);
});
test
(
'Image.toByteData Unmodified format works with grayscale images'
,
()
async
{
final
Image
image
=
await
GrayscaleImage
.
load
();
final
ByteData
data
=
await
image
.
toByteData
(
format:
ImageByteFormat
.
rawUnmodified
)
;
final
ByteData
data
=
(
await
image
.
toByteData
(
format:
ImageByteFormat
.
rawUnmodified
))!
;
final
Uint8List
bytes
=
data
.
buffer
.
asUint8List
();
expect
(
bytes
,
hasLength
(
4
));
expect
(
bytes
,
GrayscaleImage
.
bytesUnmodified
);
...
...
@@ -48,7 +47,7 @@ void main() {
test
(
'Image.toByteData PNG format works with simple image'
,
()
async
{
final
Image
image
=
await
Square4x4Image
.
image
;
final
ByteData
data
=
await
image
.
toByteData
(
format:
ImageByteFormat
.
png
)
;
final
ByteData
data
=
(
await
image
.
toByteData
(
format:
ImageByteFormat
.
png
))!
;
final
List
<
int
>
expected
=
await
readFile
(
'square.png'
);
expect
(
Uint8List
.
view
(
data
.
buffer
),
expected
);
});
...
...
testing/dart/geometry_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:math'
as
math
show
sqrt
;
import
'dart:math'
show
pi
;
import
'dart:ui'
;
...
...
testing/dart/gradient_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
@@ -12,7 +11,7 @@ void main() {
expect
(
Gradient
.
radial
(
Offset
.
zero
,
null
,
0.0
,
<
Color
>[
const
Color
(
0xFFFFFFFF
),
const
Color
(
0xFFFFFFFF
)],
<
double
>[
0.0
,
1.0
],
TileMode
.
mirror
),
...
...
testing/dart/http_allow_http_connections_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.9
import
'dart:async'
;
import
'dart:io'
;
...
...
testing/dart/http_disallow_http_connections_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.9
// FlutterTesterOptions=--disallow-insecure-connections
import
'dart:async'
;
...
...
testing/dart/image_descriptor_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'dart:io'
;
import
'dart:typed_data'
;
...
...
testing/dart/image_dispose_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:io'
;
import
'dart:typed_data'
;
import
'dart:ui'
;
...
...
@@ -58,9 +57,9 @@ void main() {
final
Picture
picture
=
recorder
.
endRecording
();
final
Image
rasterizedImage
=
await
picture
.
toImage
(
2
,
2
);
final
ByteData
sourceData
=
await
frame
.
image
.
toByteData
()
;
final
ByteData
handleData
=
await
handle1
.
toByteData
()
;
final
ByteData
rasterizedData
=
await
rasterizedImage
.
toByteData
()
;
final
ByteData
sourceData
=
(
await
frame
.
image
.
toByteData
())!
;
final
ByteData
handleData
=
(
await
handle1
.
toByteData
())!
;
final
ByteData
rasterizedData
=
(
await
rasterizedImage
.
toByteData
())!
;
expect
(
sourceData
.
buffer
.
asUint8List
(),
equals
(
handleData
.
buffer
.
asUint8List
()));
expect
(
sourceData
.
buffer
.
asUint8List
(),
equals
(
rasterizedData
.
buffer
.
asUint8List
()));
...
...
@@ -74,17 +73,17 @@ void main() {
final
Image
handle1
=
frame
.
image
.
clone
();
final
Image
handle2
=
handle1
.
clone
();
List
<
StackTrace
>
stackTraces
=
frame
.
image
.
debugGetOpenHandleStackTraces
()
;
List
<
StackTrace
>
stackTraces
=
(
frame
.
image
.
debugGetOpenHandleStackTraces
())!
;
expect
(
stackTraces
.
length
,
3
);
expect
(
stackTraces
,
equals
(
handle1
.
debugGetOpenHandleStackTraces
()));
handle1
.
dispose
();
stackTraces
=
frame
.
image
.
debugGetOpenHandleStackTraces
()
;
stackTraces
=
(
frame
.
image
.
debugGetOpenHandleStackTraces
())!
;
expect
(
stackTraces
.
length
,
2
);
expect
(
stackTraces
,
equals
(
handle2
.
debugGetOpenHandleStackTraces
()));
handle2
.
dispose
();
stackTraces
=
frame
.
image
.
debugGetOpenHandleStackTraces
()
;
stackTraces
=
(
frame
.
image
.
debugGetOpenHandleStackTraces
())!
;
expect
(
stackTraces
.
length
,
1
);
expect
(
stackTraces
,
equals
(
frame
.
image
.
debugGetOpenHandleStackTraces
()));
...
...
testing/dart/image_filter_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:typed_data'
;
import
'dart:ui'
;
...
...
@@ -54,7 +53,7 @@ void main() {
recorderCanvas
.
drawRect
(
const
Rect
.
fromLTRB
(
1.0
,
1.0
,
2.0
,
2.0
),
paint
);
final
Picture
picture
=
recorder
.
endRecording
();
final
Image
image
=
await
picture
.
toImage
(
width
,
height
);
final
ByteData
bytes
=
await
image
.
toByteData
()
;
final
ByteData
bytes
=
(
await
image
.
toByteData
())!
;
expect
(
bytes
.
lengthInBytes
,
equals
(
width
*
height
*
4
));
return
bytes
.
buffer
.
asUint32List
();
...
...
@@ -66,7 +65,7 @@ void main() {
recorderCanvas
.
drawPaint
(
paint
);
final
Picture
picture
=
recorder
.
endRecording
();
final
Image
image
=
await
picture
.
toImage
(
width
,
height
);
final
ByteData
bytes
=
await
image
.
toByteData
()
;
final
ByteData
bytes
=
(
await
image
.
toByteData
())!
;
expect
(
bytes
.
lengthInBytes
,
width
*
height
*
4
);
return
bytes
.
buffer
.
asUint32List
();
...
...
@@ -91,11 +90,9 @@ void main() {
List
<
ColorFilter
>
colorFilters
()
{
// Create new color filter instances on each invocation.
return
<
ColorFilter
>
[
// ignore: prefer_const_constructors
ColorFilter
.
mode
(
null
,
null
),
// ignore: prefer_const_constructors
ColorFilter
.
mode
(
green
,
BlendMode
.
color
),
// ignore: prefer_const_constructors
ColorFilter
.
mode
(
red
,
BlendMode
.
color
),
// ignore: prefer_const_constructors
ColorFilter
.
mode
(
red
,
BlendMode
.
screen
),
// ignore: prefer_const_constructors
ColorFilter
.
matrix
(
null
),
// ignore: prefer_const_constructors
ColorFilter
.
matrix
(
grayscaleColorMatrix
),
// ignore: prefer_const_constructors
ColorFilter
.
linearToSrgbGamma
(),
// ignore: prefer_const_constructors
ColorFilter
.
srgbToLinearGamma
(),
// ignore: prefer_const_constructors
...
...
@@ -199,20 +196,6 @@ void main() {
expect
(
filter
.
toString
(),
originalDescription
);
});
test
(
'ImageFilter - null color filters do not throw'
,
()
{
dynamic
error
;
final
Paint
paint
=
Paint
();
try
{
paint
..
color
=
green
..
imageFilter
=
const
ColorFilter
.
mode
(
null
,
null
);
}
catch
(
e
)
{
error
=
e
;
}
expect
(
error
,
isNull
);
});
test
(
'ImageFilter - from color filters'
,
()
async
{
final
Paint
paint
=
Paint
()
..
color
=
green
...
...
@@ -222,30 +205,6 @@ void main() {
expect
(
bytes
[
0
],
0xFF020202
);
});
test
(
'ImageFilter - null filter composition'
,
()
async
{
const
ImageFilter
nullFilter
=
ColorFilter
.
mode
(
null
,
null
);
const
ImageFilter
identityFilter
=
ColorFilter
.
matrix
(
identityColorMatrix
);
// Verify that null filter == identity.
Future
<
void
>
verifyAgainst
(
ImageFilter
filter
)
async
{
final
ImageFilter
comp0
=
ImageFilter
.
compose
(
outer:
filter
,
inner:
identityFilter
);
final
ImageFilter
comp1
=
ImageFilter
.
compose
(
outer:
filter
,
inner:
nullFilter
);
final
ImageFilter
comp2
=
ImageFilter
.
compose
(
outer:
nullFilter
,
inner:
filter
);
final
Paint
paint
=
Paint
()..
color
=
green
;
paint
.
imageFilter
=
comp0
;
final
Uint32List
bytes
=
await
getBytesForColorPaint
(
paint
);
paint
.
imageFilter
=
comp1
;
expect
(
bytes
,
equals
(
await
getBytesForColorPaint
(
paint
)));
paint
.
imageFilter
=
comp2
;
expect
(
bytes
,
equals
(
await
getBytesForColorPaint
(
paint
)));
}
makeList
().
forEach
(
verifyAgainst
);
});
test
(
'ImageFilter - color filter composition'
,
()
async
{
final
ImageFilter
compOrder1
=
ImageFilter
.
compose
(
outer:
const
ColorFilter
.
matrix
(
halvesBrightnessColorMatrix
),
...
...
@@ -282,13 +241,13 @@ void main() {
ImageFilter
.
compose
(
outer:
ImageFilter
.
compose
(
outer:
makeBlur
(
30.0
,
30.0
,
TileMode
.
mirror
),
inner:
makeBlur
(
20.0
,
20.0
,
TileMode
.
repeated
)),
inner:
ImageFilter
.
compose
(
outer:
const
ColorFilter
.
mode
(
null
,
null
),
outer:
const
ColorFilter
.
mode
(
Color
(
0xFFABCDEF
),
BlendMode
.
color
),
inner:
makeScale
(
10.0
,
10.0
),
),
).
toString
(),
contains
(
'matrix([10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -0.0, -0.0, 0.0, 1.0], FilterQuality.low) -> '
'ColorFilter.mode(
null, null
) -> '
'ColorFilter.mode(
Color(0xffabcdef), BlendMode.color
) -> '
'blur(20.0, 20.0, repeated) -> '
'blur(30.0, 30.0, mirror)'
),
...
...
testing/dart/image_resize_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'dart:io'
;
import
'dart:typed_data'
;
...
...
@@ -127,7 +126,7 @@ void main() {
blackSquare
.
width
,
blackSquare
.
height
,
PixelFormat
.
rgba8888
,
(
Image
image
)
=>
null
,
(
Image
image
)
{}
,
targetHeight:
10
,
allowUpscaling:
false
,
);
...
...
@@ -155,7 +154,7 @@ void main() {
blackSquare
.
width
,
blackSquare
.
height
,
PixelFormat
.
rgba8888
,
(
Image
image
)
=>
null
,
(
Image
image
)
{}
,
targetHeight:
10
,
targetWidth:
1
,
allowUpscaling:
false
,
...
...
@@ -184,7 +183,7 @@ class BlackSquare {
return
BlackSquare
.
_
(
width
,
height
,
pixels
);
}
Future
<
Image
>
resize
({
int
targetWidth
,
int
targetHeight
,
bool
allowUpscaling
=
false
})
async
{
Future
<
Image
>
resize
({
int
?
targetWidth
,
int
?
targetHeight
,
bool
allowUpscaling
=
false
})
async
{
final
Completer
<
Image
>
imageCompleter
=
Completer
<
Image
>();
decodeImageFromPixels
(
pixels
,
...
...
testing/dart/isolate_name_server_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'dart:isolate'
;
import
'dart:ui'
;
...
...
@@ -28,7 +27,7 @@ void isolateSpawnEntrypoint(IsolateSpawnInfo info) {
port
.
send
(<
dynamic
>[
code
,
message
]);
}
final
SendPort
shared
=
IsolateNameServer
.
lookupPortByName
(
portName
);
final
SendPort
?
shared
=
IsolateNameServer
.
lookupPortByName
(
portName
);
if
(
shared
==
null
)
{
sendHelper
(
kErrorCode
,
'Could not find port:
$portName
'
);
return
;
...
...
testing/dart/lerp_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.10
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/locale_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/observatory/skp_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart=2.12
import
'dart:async'
;
import
'dart:convert'
;
import
'dart:developer'
as
developer
;
...
...
testing/dart/paragraph_builder_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/paragraph_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/path_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:typed_data'
show
Float64List
;
import
'dart:ui'
;
...
...
@@ -130,8 +129,7 @@ void main() {
expect
(
simpleHorizontalMetrics
.
iterator
.
current
.
isClosed
,
isFalse
);
final
Path
simpleExtract
=
simpleHorizontalMetrics
.
iterator
.
current
.
extractPath
(
1.0
,
9.0
);
expect
(
simpleExtract
.
getBounds
(),
equals
(
const
Rect
.
fromLTRB
(
1.0
,
0.0
,
9.0
,
0.0
)));
final
Tangent
posTan
=
simpleHorizontalMetrics
.
iterator
.
current
.
getTangentForOffset
(
1.0
);
expect
(
posTan
,
isNotNull
);
final
Tangent
posTan
=
simpleHorizontalMetrics
.
iterator
.
current
.
getTangentForOffset
(
1.0
)!;
expect
(
posTan
.
position
,
equals
(
const
Offset
(
1.0
,
0.0
)));
expect
(
posTan
.
angle
,
equals
(
0.0
));
...
...
@@ -152,7 +150,7 @@ void main() {
// test getTangentForOffset with vertical line
final
Path
simpleVerticalLine
=
Path
()..
lineTo
(
0.0
,
10.0
);
final
PathMetrics
simpleMetricsVertical
=
simpleVerticalLine
.
computeMetrics
()..
iterator
.
moveNext
();
final
Tangent
posTanVertical
=
simpleMetricsVertical
.
iterator
.
current
.
getTangentForOffset
(
5.0
);
final
Tangent
posTanVertical
=
simpleMetricsVertical
.
iterator
.
current
.
getTangentForOffset
(
5.0
)
!
;
expect
(
posTanVertical
.
position
,
equals
(
const
Offset
(
0.0
,
5.0
)));
expect
(
posTanVertical
.
angle
,
closeTo
(-
1.5708
,
.
0001
));
// 90 degrees
...
...
@@ -160,7 +158,7 @@ void main() {
final
Path
simpleDiagonalLine
=
Path
()..
lineTo
(
10.0
,
10.0
);
final
PathMetrics
simpleMetricsDiagonal
=
simpleDiagonalLine
.
computeMetrics
()..
iterator
.
moveNext
();
final
double
midPoint
=
simpleMetricsDiagonal
.
iterator
.
current
.
length
/
2
;
final
Tangent
posTanDiagonal
=
simpleMetricsDiagonal
.
iterator
.
current
.
getTangentForOffset
(
midPoint
);
final
Tangent
posTanDiagonal
=
simpleMetricsDiagonal
.
iterator
.
current
.
getTangentForOffset
(
midPoint
)
!
;
expect
(
posTanDiagonal
.
position
,
equals
(
const
Offset
(
5.0
,
5.0
)));
expect
(
posTanDiagonal
.
angle
,
closeTo
(-
0.7853981633974483
,
.
00001
));
// ~45 degrees
...
...
@@ -191,11 +189,11 @@ void main() {
expect
(
metrics
.
length
,
2
);
expect
(
metrics
[
0
].
length
,
20
);
expect
(
metrics
[
0
].
isClosed
,
true
);
expect
(
metrics
[
0
].
getTangentForOffset
(
4.0
).
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
metrics
[
0
].
getTangentForOffset
(
4.0
)
!
.
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
metrics
[
0
].
extractPath
(
4.0
,
10.0
).
computeMetrics
().
first
.
length
,
6.0
);
expect
(
metrics
[
1
].
length
,
10
);
expect
(
metrics
[
1
].
isClosed
,
false
);
expect
(
metrics
[
1
].
getTangentForOffset
(
4.0
).
vector
,
const
Offset
(
1.0
,
0.0
));
expect
(
metrics
[
1
].
getTangentForOffset
(
4.0
)
!
.
vector
,
const
Offset
(
1.0
,
0.0
));
expect
(
metrics
[
1
].
extractPath
(
4.0
,
6.0
).
computeMetrics
().
first
.
length
,
2.0
);
});
...
...
@@ -207,7 +205,7 @@ void main() {
expect
(
metrics
,
isEmpty
);
expect
(
firstMetric
.
length
,
10
);
expect
(
firstMetric
.
isClosed
,
false
);
expect
(
firstMetric
.
getTangentForOffset
(
4.0
).
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
firstMetric
.
getTangentForOffset
(
4.0
)
!
.
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
firstMetric
.
extractPath
(
4.0
,
10.0
).
computeMetrics
().
first
.
length
,
6.0
);
path
..
lineTo
(
10
,
10
)..
lineTo
(
10
,
0
)..
close
();
...
...
@@ -215,7 +213,7 @@ void main() {
expect
(
metrics
,
isEmpty
);
expect
(
firstMetric
.
length
,
10
);
expect
(
firstMetric
.
isClosed
,
false
);
expect
(
firstMetric
.
getTangentForOffset
(
4.0
).
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
firstMetric
.
getTangentForOffset
(
4.0
)
!
.
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
firstMetric
.
extractPath
(
4.0
,
10.0
).
computeMetrics
().
first
.
length
,
6.0
);
// getting a new iterator should update us.
...
...
@@ -224,7 +222,7 @@ void main() {
expect
(
newMetrics
,
isEmpty
);
expect
(
newFirstMetric
.
length
,
40
);
expect
(
newFirstMetric
.
isClosed
,
true
);
expect
(
newFirstMetric
.
getTangentForOffset
(
4.0
).
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
newFirstMetric
.
getTangentForOffset
(
4.0
)
!
.
vector
,
const
Offset
(
0.0
,
1.0
));
expect
(
newFirstMetric
.
extractPath
(
4.0
,
10.0
).
computeMetrics
().
first
.
length
,
6.0
);
});
}
testing/dart/plugin_utilities_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
@@ -20,21 +19,17 @@ const Foo foo = Foo();
void
main
(
)
{
test
(
'PluginUtilities Callback Handles'
,
()
{
// Top level callback.
final
CallbackHandle
hTop
=
PluginUtilities
.
getCallbackHandle
(
top
);
expect
(
hTop
,
isNotNull
);
final
CallbackHandle
hTop
=
PluginUtilities
.
getCallbackHandle
(
top
)!;
expect
(
hTop
,
notEquals
(
0
));
expect
(
PluginUtilities
.
getCallbackHandle
(
top
),
hTop
);
final
Function
topClosure
=
PluginUtilities
.
getCallbackFromHandle
(
hTop
);
expect
(
topClosure
,
isNotNull
);
final
Function
topClosure
=
PluginUtilities
.
getCallbackFromHandle
(
hTop
)!;
expect
(
topClosure
(),
'top'
);
// Static method callback.
final
CallbackHandle
hGetInt
=
PluginUtilities
.
getCallbackHandle
(
Foo
.
getInt
);
expect
(
hGetInt
,
isNotNull
);
final
CallbackHandle
hGetInt
=
PluginUtilities
.
getCallbackHandle
(
Foo
.
getInt
)!;
expect
(
hGetInt
,
notEquals
(
0
));
expect
(
PluginUtilities
.
getCallbackHandle
(
Foo
.
getInt
),
hGetInt
);
final
Function
getIntClosure
=
PluginUtilities
.
getCallbackFromHandle
(
hGetInt
);
expect
(
getIntClosure
,
isNotNull
);
final
Function
getIntClosure
=
PluginUtilities
.
getCallbackFromHandle
(
hGetInt
)!;
expect
(
getIntClosure
(),
1
);
// Instance method callbacks cannot be looked up.
...
...
testing/dart/pubspec.yaml
浏览文件 @
dea585f5
...
...
@@ -14,7 +14,7 @@ publish_to: none
# relative to this directory into //third_party/dart
environment
:
sdk
:
'
>=2.
8
.0
<3.0.0'
sdk
:
'
>=2.
12
.0
<3.0.0'
dependencies
:
litetest
:
any
...
...
testing/dart/semantics_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:ui'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/spirv_exception_test.dart
浏览文件 @
dea585f5
...
...
@@ -45,7 +45,7 @@ Stream<Uint8List> exceptionShaders() async* {
if
(
entry
is
!
File
)
{
continue
;
}
final
File
file
=
entry
as
File
;
final
File
file
=
entry
;
if
(
path
.
extension
(
file
.
path
)
!=
'.spv'
)
{
continue
;
}
...
...
testing/dart/task_order_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'package:litetest/litetest.dart'
;
...
...
testing/dart/text_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:convert'
;
import
'dart:typed_data'
;
import
'dart:ui'
;
...
...
@@ -173,12 +172,13 @@ void testTextRange() {
void
testLoadFontFromList
(
)
{
test
(
'loadFontFromList will send platform message after font is loaded'
,
()
async
{
final
PlatformMessageCallback
oldHandler
=
window
.
onPlatformMessage
;
String
actualName
;
String
message
;
window
.
onPlatformMessage
=
(
String
name
,
ByteData
data
,
PlatformMessageResponseCallback
callback
)
{
final
PlatformMessageCallback
?
oldHandler
=
window
.
onPlatformMessage
;
late
String
actualName
;
late
String
message
;
window
.
onPlatformMessage
=
(
String
name
,
ByteData
?
data
,
PlatformMessageResponseCallback
?
callback
)
{
assert
(
data
!=
null
);
actualName
=
name
;
final
Uint8List
list
=
data
.
buffer
.
asUint8List
(
data
.
offsetInBytes
,
data
.
lengthInBytes
);
final
Uint8List
list
=
data
!
.
buffer
.
asUint8List
(
data
.
offsetInBytes
,
data
.
lengthInBytes
);
message
=
utf8
.
decode
(
list
);
};
final
Uint8List
fontData
=
Uint8List
(
0
);
...
...
testing/dart/window_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.6
import
'dart:async'
;
import
'dart:typed_data'
;
import
'dart:ui'
;
...
...
@@ -13,7 +12,7 @@ void main() {
test
(
'window.sendPlatformMessage preserves callback zone'
,
()
{
runZoned
(()
{
final
Zone
innerZone
=
Zone
.
current
;
window
.
sendPlatformMessage
(
'test'
,
ByteData
.
view
(
Uint8List
(
0
).
buffer
),
expectAsync1
((
ByteData
data
)
{
window
.
sendPlatformMessage
(
'test'
,
ByteData
.
view
(
Uint8List
(
0
).
buffer
),
expectAsync1
((
ByteData
?
data
)
{
final
Zone
runZone
=
Zone
.
current
;
expect
(
runZone
,
isNotNull
);
expect
(
runZone
,
same
(
innerZone
));
...
...
@@ -41,7 +40,7 @@ void main() {
const
Locale
.
fromSubtags
(
languageCode:
'en'
),
];
// The default implementation returns null due to lack of a real platform.
final
Locale
result
=
window
.
computePlatformResolvedLocale
(
supportedLocales
);
final
Locale
?
result
=
window
.
computePlatformResolvedLocale
(
supportedLocales
);
expect
(
result
,
null
);
});
}
testing/smoke_test_failure/fail_test.dart
浏览文件 @
dea585f5
...
...
@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// @dart = 2.12
import
'package:litetest/litetest.dart'
;
void
main
(
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录