[
https://issues.apache.org/jira/browse/CB-8385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14304784#comment-14304784
]
ASF GitHub Bot commented on CB-8385:
------------------------------------
Github user sgrebnov commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-test-framework/pull/10#discussion_r24069058
--- Diff: www/medic.js ---
@@ -35,30 +35,27 @@ exports.log = function() {
};
exports.load = function (callback) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", "../medic.json", true);
- xhr.onload = function() {
- if (xhr.readyState == 4 && (xhr.status == 0 || xhr.status == 200)) {
- var cfg = JSON.parse(xhr.responseText);
- exports.logurl = cfg.couchdb || cfg.logurl;
- exports.enabled = true;
- exports.sha = cfg.sha;
- console.log('Loaded Medic Config: logurl=' + exports.logurl);
- }
- callback();
- }
- xhr.onerror = function() {
- callback();
- }
+ var jsonMedic = null;
try {
+ // attempt to synchronously load medic config
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", "../medic.json", false);
xhr.send(null);
- }
- catch(ex) {
- // some platforms throw on a file not found
+ jsonMedic = xhr.responseText;
+ } catch (ex) { }
+
+ // config is available
+ if (jsonMedic) {
+ exports.logurl = JSON.parse(jsonMedic).logurl;
--- End diff --
Ops, I'll fix this shortly. Thx @nikhilkh
> Ensure plugin-test-framework runs tests only once
> -------------------------------------------------
>
> Key: CB-8385
> URL: https://issues.apache.org/jira/browse/CB-8385
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin TestFramework
> Reporter: Sergey Grebnov
> Assignee: Sergey Grebnov
> Labels: cordova-plugin-test-framework
>
> I see this on Windows. This is happening when test-framework checks whether
> Medic config exists and calls callback twice when there is no config
> available (default case when you use test framework locally):
> 1. Inside onload
> 2. Inside exception catch block
> {code}
> exports.load = function (callback) {
> var xhr = new XMLHttpRequest();
> xhr.open("GET", "../medic.json", true);
> xhr.onload = function() {
> if (xhr.readyState == 4 && xhr.status == 200) {
> var cfg = JSON.parse(xhr.responseText);
> exports.logurl = cfg.logurl;
> exports.enabled = true;
> console.log('Loaded Medic Config: logurl=' + exports.logurl);
> }
> callback();
> }
> xhr.onerror = function() {
> callback();
> }
> try {
> xhr.send(null);
> }
> catch(ex) {
> // some platforms throw on a file not found
> console.log('Did not find medic config file');
> setTimeout(function(){
> callback();
> },0);
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]