OLD | NEW |
| (Empty) |
1 /* | |
2 * GMExpectedResultsLoader: | |
3 * Reads an expected-results.json file, and imports its data into $scope. | |
4 */ | |
5 var GMExpectedResultsLoader = angular.module( | |
6 'GMExpectedResultsLoader', | |
7 [], | |
8 function($httpProvider) { | |
9 /* Override transformResponse so that the numeric checksums are interprete
d as | |
10 * strings instead, since Javascript cannot handle 64-bit integers. */ | |
11 $httpProvider.defaults.transformResponse = function(data, headersGetter) { | |
12 return JSON.parse(data.replace(/\s(\d+)\s/g, " \"$1\" ")); | |
13 } | |
14 } | |
15 ); | |
16 GMExpectedResultsLoader.controller( | |
17 'GMExpectedResultsLoader.Controller', | |
18 function($scope, $http) { | |
19 /* When the changePlatformPath function is called, download expected-resul
ts.json | |
20 * from the desired platform directory. | |
21 * | |
22 * When the JSON is received, predigest it and return it to the frontend a
s | |
23 * $scope.gmExpectedResults . | |
24 */ | |
25 $scope.changePlatformPath = function() { | |
26 $http.get($scope.platformPath + "/expected-results.json").success( | |
27 function(response) { | |
28 var jsonResults = []; | |
29 var imageNameRegex = /^(.+)_([^_]+).png/; | |
30 angular.forEach(response['expected-results'], function(imageExpect
ations, imageName) { | |
31 var matched = imageNameRegex.exec(imageName); | |
32 var allowedImages = []; | |
33 angular.forEach(imageExpectations['allowed-digests'], function(a
llowedDigest, key) { | |
34 var thisImage = { | |
35 hashType: allowedDigest[0], hashValue: allowedDigest[1] | |
36 }; | |
37 allowedImages.push(thisImage); | |
38 }); | |
39 var thisResult = { | |
40 test: matched[1], config: matched[2], | |
41 allowedImages: allowedImages, | |
42 bugs: imageExpectations['bugs'], | |
43 reviewedByHuman: imageExpectations['reviewed-by-human'] | |
44 }; | |
45 jsonResults.push(thisResult); | |
46 }); | |
47 $scope.gmExpectedResults = jsonResults; | |
48 } | |
49 ); | |
50 }; | |
51 } | |
52 ); | |
OLD | NEW |