Ad NashornScriptEngine (Re: FXMLLoader: not supplying filename to script engine, not supplying event object as argument to script
Rony G. Flatscher
Rony.Flatscher at wu.ac.at
Fri Nov 15 15:08:54 UTC 2019
On 14.11.2019 22:57, Kevin Rushforth wrote:
> On 11/14/2019 10:12 AM, Rony G. Flatscher wrote:
>> On 14.11.2019 16:34, Rony G. Flatscher wrote:
>>> On 13.11.2019 19:50, Kevin Rushforth wrote:
>>>> On 11/13/2019 9:42 AM, Rony G. Flatscher wrote:
>> ... cut ...
>>>>> To reproduce the testcase one would need ooRexx and the Java bridge BSF4ooRexx (all
>>>>> opensource) for
>>>>> which I could come up with a zip-archive (assuming binaries within should be 64-bit) and a
>>>>> script to
>>>>> set up the environment either for Windows, Linux or MacOS, whatever you advise. Would that be
>>>> We prefer not to rely on third-party libraries for test cases. In any case we would not be able to
>>>> use that for a regression test / unit test.
>> If test units really seem to be important in this particular case, one possibility would be to
>> create a minimalistic ScriptEngine implementation in pure Java just for the sole purpose to allow
>> the creation of a test unit that is able to assert that FXMLLoader puts the ScriptEngine.ARGV and
>> ScriptEngine.FILENAME entries into the ENGINE_SCOPE Bindings. E.g. having the ScriptEngine's eval()
>> methods return the ScriptContext at invocation time in order to allow inspection of the Bindings.
>> This way it would become also possible to write in addition test units that also check whether all
>> FXML elements that carry a fx:id are really placed into the GLOBAL_SCOPE Bindings.
> Something like that seems reasonable, and would avoid a dependence on Nashorn, which in addition
> to having all the problems you mentioned, is deprecated for removal.
> Did you have something more to add?
No, sorry for that. Rewrote my e-mail and had sent it too early by mistake and without noticing.
Will study all the procedures and create a testcase to be submitted at <https://bugreport.java.com/>
as per your advice (and will report back under this thread once submitted). The testcase would use
an artificial ScriptEngine implementation that could be used for testunit testing as well. This
might take a while due to other obligations that I will have to meet during the next few days.
More information about the openjfx-dev