From 008d72442ab5fd3bb2e42f667e4a8e19d7106727 Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Mon, 7 Dec 2015 12:07:28 +0000 Subject: [PATCH] SSDM-2788 : Report basic tests SVN: 35223 --- .../html/test/test-jsVSjava.js | 45 ++++++++++++++++--- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-jsVSjava.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-jsVSjava.js index 616c6c1ef9f..77c662ecf56 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-jsVSjava.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-jsVSjava.js @@ -12,9 +12,35 @@ define([ 'jquery', 'underscore', 'openbis', 'test/common' ], function($, _, open // // } // -// var standardHandler = function(javaDef, jsDef) { -// -// } + var standardHandler = function(javaClassReport, jsObject) { + //Check object returned + if(!jsObject) { + console.info("JS class missing instance: " + javaClassReport.jsonObjAnnotation); + return; + } + + //Check prototype available + if(!jsObject.prototype) { + console.info("JS class missing prototype: " + javaClassReport.jsonObjAnnotation); + return; + } + + //Java Fields found in Javascript + for(var fIdx = 0; fIdx < javaClassReport.fields.length; fIdx++) { + if(!jsObject.prototype[javaClassReport.fields[fIdx]]) { + console.info("JS class missing field: " + javaClassReport.jsonObjAnnotation + " - " + javaClassReport.fields[fIdx]); + } + } + + //Java Methods found in Javascript + for(var fIdx = 0; fIdx < javaClassReport.methods.length; fIdx++) { + if(!jsObject.prototype[javaClassReport.methods[fIdx]]) { + console.info("JS class missing method: " + javaClassReport.jsonObjAnnotation + " - " + javaClassReport.methods[fIdx]); + } + } + + var breakHere = "NOW!"; + } var areClassesCorrect = function(report) { for(var ridx = 0; ridx < report.entries.length; ridx++) { @@ -22,15 +48,20 @@ define([ 'jquery', 'underscore', 'openbis', 'test/common' ], function($, _, open var javaClassName = javaClassReport.name; var jsClassName = javaClassReport.jsonObjAnnotation; if(jsClassName) { - var errorHandler = function(javaClassName) { + var failedLoadingErrorHandler = function(javaClassName) { return function() { console.info("Java class with jsonObjectAnnotation missing in Javascript: " + javaClassName); }; }; + + var loadedHandler = function(javaClassReport) { + return function(jsObject) { + standardHandler(javaClassReport, jsObject); + }; + }; + var requireJsPath = jsClassName.replace(/\./g,'/'); - require([requireJsPath], function(myclass){ - var test = "break"; - }, errorHandler(javaClassName)); + require([requireJsPath], loadedHandler(javaClassReport), failedLoadingErrorHandler(javaClassName)); } else { console.info("Java class missing jsonObjectAnnotation: " + javaClassName); } -- GitLab