Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
0dc5ea4a
Commit
0dc5ea4a
authored
Oct 30, 2019
by
Larry McKenzie
Committed by
Jonah Williams
Oct 30, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a null check for ranges in the sourceReport map. (#43667)
parent
207135cd
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
440 additions
and
10 deletions
+440
-10
coverage_collector.dart
packages/flutter_tools/lib/src/test/coverage_collector.dart
+22
-5
coverage_collector_test.dart
...ter_tools/test/general.shard/coverage_collector_test.dart
+418
-5
No files found.
packages/flutter_tools/lib/src/test/coverage_collector.dart
View file @
0dc5ea4a
...
@@ -245,20 +245,37 @@ void _buildCoverageMap(
...
@@ -245,20 +245,37 @@ void _buildCoverageMap(
final
Map
<
String
,
Map
<
int
,
int
>>
hitMaps
=
<
String
,
Map
<
int
,
int
>>{};
final
Map
<
String
,
Map
<
int
,
int
>>
hitMaps
=
<
String
,
Map
<
int
,
int
>>{};
for
(
String
scriptId
in
scripts
.
keys
)
{
for
(
String
scriptId
in
scripts
.
keys
)
{
final
Map
<
String
,
dynamic
>
sourceReport
=
sourceReports
[
scriptId
];
final
Map
<
String
,
dynamic
>
sourceReport
=
sourceReports
[
scriptId
];
for
(
Map
<
String
,
dynamic
>
range
in
sourceReport
[
'ranges'
])
{
final
Map
<
String
,
dynamic
>
scripts
=
sourceReport
[
'scripts'
];
final
List
<
Map
<
String
,
Object
>>
ranges
=
sourceReport
[
'ranges'
];
// Ranges may sometimes be null for a report.
if
(
ranges
==
null
||
scripts
==
null
)
{
continue
;
}
for
(
Map
<
String
,
dynamic
>
range
in
ranges
)
{
final
Map
<
String
,
dynamic
>
coverage
=
range
[
'coverage'
];
final
Map
<
String
,
dynamic
>
coverage
=
range
[
'coverage'
];
final
String
scriptIndex
=
range
[
'scriptIndex'
];
// Coverage reports may sometimes be null for a Script.
// Coverage reports may sometimes be null for a Script.
if
(
coverage
==
null
)
{
if
(
coverage
==
null
||
scriptIndex
==
null
)
{
continue
;
}
final
Map
<
String
,
dynamic
>
scriptRef
=
scripts
[
scriptIndex
];
if
(
scriptRef
==
null
)
{
continue
;
continue
;
}
}
final
Map
<
String
,
dynamic
>
scriptRef
=
sourceReport
[
'scripts'
][
range
[
'scriptIndex'
]];
final
String
uri
=
scriptRef
[
'uri'
];
final
String
uri
=
scriptRef
[
'uri'
];
final
String
id
=
scriptRef
[
'id'
];
if
(
uri
==
null
||
id
==
null
)
{
continue
;
}
final
Map
<
String
,
Object
>
scriptById
=
scripts
[
id
];
if
(
scriptById
==
null
)
{
continue
;
}
hitMaps
[
uri
]
??=
<
int
,
int
>{};
hitMaps
[
uri
]
??=
<
int
,
int
>{};
final
Map
<
int
,
int
>
hitMap
=
hitMaps
[
uri
];
final
Map
<
int
,
int
>
hitMap
=
hitMaps
[
uri
];
final
List
<
dynamic
>
hits
=
coverage
[
'hits'
];
final
List
<
dynamic
>
hits
=
coverage
[
'hits'
];
final
List
<
dynamic
>
misses
=
coverage
[
'misses'
];
final
List
<
dynamic
>
misses
=
coverage
[
'misses'
];
final
List
<
dynamic
>
tokenPositions
=
script
s
[
scriptRef
[
'id'
]]
[
'tokenPosTable'
];
final
List
<
dynamic
>
tokenPositions
=
script
ById
[
'tokenPosTable'
];
// The token positions can be null if the script has no coverable lines.
// The token positions can be null if the script has no coverable lines.
if
(
tokenPositions
==
null
)
{
if
(
tokenPositions
==
null
)
{
continue
;
continue
;
...
...
packages/flutter_tools/test/general.shard/coverage_collector_test.dart
View file @
0dc5ea4a
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment