## 2016-05-12, #Jens, #Robert, #Stefan

Experimenting with workspace bindings

```JS
// lively.openCoolWorkspace("")


that.boundEval = function(str) {
   // return lively.vm.runEval(str, {topLevelVarRecorder: this }).then(r => r.value)
	
	if (!lively.modules.isHookInstalled("fetch", "workspaceFetch")) {
		lively.modules.installHook("fetch", function workspaceFetch(proceed, load) { 
			if (load.address.match("workspace://")) return Promise.resolve("")
			return proceed(load)
		})
	}
	return lively.modules.runEval(str, {targetModule: "workspace://1", context: this}).then( x => x.value)
}
```

### Testing lively.modules

```JS
window.S = lively.modules.getSystem("test", {baseURL: "https://lively-kernel.org/lively4/"})
lively.modules.changeSystem(S, false)

lively.modules.importPackage('lively.modules')

lively.modules.importPackage('lively.modules/node_modules/mocha-es6')
	.then(m => window.mochaEs6 = m)

mochaEs6.runTestFiles(["https://lively-kernel.org/lively4/lively.modules/tests/export-default-test.js"])
```

