"use strict";
/*jshint rhino:true*/
/*eslint-env rhino*/
/*global run*/ // From bdd.js

print("Rhino showcase");
/*exported gpfSourcesPath*/
var gpfSourcesPath = "src/"; //eslint-disable-line no-unused-vars
load("src/boot.js");

load("test/host/bdd.js");
load("test/host/console.js");

var sources = gpf.sources(),
    len = sources.length,
    idx,
    src;
for (idx = 0; idx < len; ++idx) {
    src = sources[idx];
    if (!src) {
        break;
    }
    load("test/" + src + ".js");
}

exit = gpf.exit; // used by BDD.js
run();
gpf.handleTimeout();

@@ -63,371 +63,454 @@
 bal 
-run*/ // From bdd.js%0A%0Aprint(%22Rhino showcase%22);%0A/*exported gpfSourcesPath
+environment*/%0A%0A/*jshint -W079
 */%0A
+%0A
 var gpf
-SourcesPath = %22src/%22; //eslint-disable-line no-unused-vars%0Aload(%22src/boot.js%22);%0A%0Aload(%22
+Path = environment%5B%22user.dir%22%5D,%0A    global = (function () %7B%0A        return this; //eslint-disable-line no-invalid-this%0A    %7D());%0A%0Aload(gpfPath + %22%5C%5C
 test
-/
+%5C%5C
 host
-/bdd.js%22);%0Aload(%22test/host/console.js%22);%0A%0Avar sources = gpf.sources(),%0A    len = sources.length,%0A    idx,%0A    src;%0Afor (idx = 0; idx %3C len; ++idx) %7B%0A    src = sources%5Bidx%5D;%0A    if (!src
+%5C%5Cloader.js%22); /*global loadGpfAndTests*/%0A%0AloadGpfAndTests(%7B%0A    global: global,%0A    parameters: global%5B%22arguments%22%5D, //eslint-disable-line dot-notation%0A    gpfPath: gpfPath,%0A    pathSeparator: environment%5B%22file.separator%22%5D,%0A    log: function (text
 ) %7B%0A
@@ -521,116 +521,134 @@
     
-break
+print(text)
 ;%0A    %7D
+,
 %0A    
-load(%22test/%22 + src + %22.js%22);%0A%7D%0A%0Aexit = gpf.exit; // used by BDD.js%0Arun();%0Agpf.handleTimeout(
+exit: function (code) %7B%0A        java.lang.System.exit(code);%0A    %7D,%0A    require: load,%0A    load: load%0A%7D
 );%0A

Use new loader