()
| 157 | } |
| 158 | |
| 159 | var loadPG = function() { |
| 160 | var xmlHttp = new XMLHttpRequest(); |
| 161 | xmlHttp.addEventListener("readystatechange", function() { |
| 162 | if (xmlHttp.readyState === 4) { |
| 163 | try { |
| 164 | xmlHttp.onreadystatechange = null; |
| 165 | var snippet = JSON.parse(xmlHttp.responseText); |
| 166 | var code = JSON.parse(snippet.jsonPayload).code.toString(); |
| 167 | code = code.replace(/\/textures\//g, pgRoot + "/textures/"); |
| 168 | code = code.replace(/"textures\//g, "\"" + pgRoot + "/textures/"); |
| 169 | code = code.replace(/\/scenes\//g, pgRoot + "/scenes/"); |
| 170 | code = code.replace(/"scenes\//g, "\"" + pgRoot + "/scenes/"); |
| 171 | if (test.replace) { |
| 172 | var split = test.replace.split(","); |
| 173 | for (var i = 0; i < split.length; i += 2) { |
| 174 | var source = split[i].trim(); |
| 175 | var destination = split[i + 1].trim(); |
| 176 | code = code.replace(source, destination); |
| 177 | } |
| 178 | } |
| 179 | currentScene = eval(code + "\r\ncreateScene(engine)"); |
| 180 | var resultCanvas = 0; |
| 181 | var result; |
| 182 | var waitRing; |
| 183 | |
| 184 | if (currentScene.then) { |
| 185 | // Handle if createScene returns a promise |
| 186 | currentScene.then(function(scene) { |
| 187 | currentScene = scene; |
| 188 | processCurrentScene(test, resultCanvas, result, referenceImage, index, waitRing, done); |
| 189 | }).catch(function(e) { |
| 190 | console.error(e); |
| 191 | onError(); |
| 192 | }) |
| 193 | } else { |
| 194 | // Handle if createScene returns a scene |
| 195 | processCurrentScene(test, resultCanvas, result, referenceImage, index, waitRing, done); |
| 196 | } |
| 197 | |
| 198 | } |
| 199 | catch (e) { |
| 200 | console.error(e); |
| 201 | onError(); |
| 202 | } |
| 203 | } |
| 204 | }, false); |
| 205 | xmlHttp.onerror = function() { |
| 206 | console.error("Network error during test load."); |
| 207 | onError(); |
| 208 | } |
| 209 | xmlHttp.open("GET", snippetUrl + test.playgroundId.replace(/#/g, "/")); |
| 210 | xmlHttp.send(); |
| 211 | } |
| 212 | loadPG(); |
| 213 | } else { |
| 214 | // Fix references |
no test coverage detected