@@ -40,21 +40,31 @@ describe('The Search Panel', async () => {
40
40
41
41
// Process the results into something manageable.
42
42
const fileResults = await $$ ( SEARCH_FILE_RESULT , resultsContainer ) ;
43
- const files = await fileResults . evaluate ( result => result . map ( ( value : Element ) => {
43
+
44
+ interface FileSearchResult {
45
+ matchesCount : number ;
46
+ fileName : string ;
47
+ }
48
+
49
+ const files : FileSearchResult [ ] = await fileResults . evaluate ( result => result . map ( ( value : Element ) => {
44
50
const SEARCH_RESULT_FILE_NAME = '.search-result-file-name' ;
45
51
const SEARCH_RESULT_MATCHES_COUNT = '.search-result-matches-count' ;
46
52
47
53
// Wrap the entries with the file details.
48
54
return {
49
55
fileName : value . querySelector ( SEARCH_RESULT_FILE_NAME ) ! . firstChild ! . textContent ,
50
- matchesCount : value . querySelector ( SEARCH_RESULT_MATCHES_COUNT ) ! . textContent ,
56
+ matchesCount : parseInt ( value . querySelector ( SEARCH_RESULT_MATCHES_COUNT ) ! . textContent ! , 10 ) ,
51
57
} ;
52
58
} ) ) ;
53
59
60
+ files . sort ( ( a , b ) => {
61
+ return a . matchesCount - b . matchesCount ;
62
+ } ) ;
63
+
54
64
assert . deepEqual ( files , [
55
- { fileName : 'search.css' , matchesCount : '3' } ,
56
- { fileName : 'search.js ' , matchesCount : '5' } ,
57
- { fileName : 'search.html ' , matchesCount : '4' } ,
65
+ { fileName : 'search.css' , matchesCount : 3 } ,
66
+ { fileName : 'search.html ' , matchesCount : 4 } ,
67
+ { fileName : 'search.js ' , matchesCount : 5 } ,
58
68
] ) ;
59
69
60
70
// Now step through the actual entries of the search result.
0 commit comments