Improve output: distinguish between failed assertions (failures) and unexpected exceptions (errors), and print a filtered stack trace for any exception.
This commit is contained in:
commit
4f2e303079
1839 changed files with 235630 additions and 0 deletions
76
webapp/web/src/hostenv_jsc.js
Normal file
76
webapp/web/src/hostenv_jsc.js
Normal file
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
Copyright (c) 2004-2006, The Dojo Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
Licensed under the Academic Free License version 2.1 or above OR the
|
||||
modified BSD license. For more information on Dojo licensing, see:
|
||||
|
||||
http://dojotoolkit.org/community/licensing.shtml
|
||||
*/
|
||||
|
||||
/*
|
||||
* JScript .NET jsc
|
||||
*
|
||||
*/
|
||||
|
||||
dojo.hostenv.name_ = 'jsc';
|
||||
|
||||
// Sanity check this is the right hostenv.
|
||||
// See the Rotor source code jscript/engine/globalobject.cs for what globals
|
||||
// are available.
|
||||
if((typeof ScriptEngineMajorVersion != 'function')||(ScriptEngineMajorVersion() < 7)){
|
||||
dojo.raise("attempt to use JScript .NET host environment with inappropriate ScriptEngine");
|
||||
}
|
||||
|
||||
// for more than you wanted to know about why this import is required even if
|
||||
// we fully qualify all symbols, see
|
||||
// http://groups.google.com/groups?th=f050c7aeefdcbde2&rnum=12
|
||||
import System;
|
||||
|
||||
dojo.hostenv.getText = function(uri){
|
||||
if(!System.IO.File.Exists(uri)){
|
||||
// dojo.raise("No such file '" + uri + "'");
|
||||
return 0;
|
||||
}
|
||||
var reader = new System.IO.StreamReader(uri);
|
||||
var contents : String = reader.ReadToEnd();
|
||||
return contents;
|
||||
}
|
||||
|
||||
dojo.hostenv.loadUri = function(uri){
|
||||
var contents = this.getText(uri);
|
||||
if(!contents){
|
||||
dojo.raise("got no back contents from uri '" + uri + "': " + contents);
|
||||
}
|
||||
// TODO: in JScript .NET, eval will not affect the symbol table of the current code?
|
||||
var value = dj_eval(contents);
|
||||
dojo.debug("jsc eval of contents returned: ", value);
|
||||
return 1;
|
||||
|
||||
// for an example doing runtime code compilation, see:
|
||||
// http://groups.google.com/groups?selm=eQ1aeciCBHA.1644%40tkmsftngp05&rnum=6
|
||||
// Microsoft.JScript or System.CodeDom.Compiler ?
|
||||
// var engine = new Microsoft.JScript.Vsa.VsaEngine()
|
||||
// what about loading a js file vs. a dll?
|
||||
// GetObject("script:" . uri);
|
||||
}
|
||||
|
||||
/* The System.Environment object is useful:
|
||||
print ("CommandLine='" + System.Environment.CommandLine + "' " +
|
||||
"program name='" + System.Environment.GetCommandLineArgs()[0] + "' " +
|
||||
"CurrentDirectory='" + System.Environment.CurrentDirectory + "' " +
|
||||
"StackTrace='" + System.Environment.StackTrace + "'");
|
||||
*/
|
||||
|
||||
// same as System.Console.WriteLine
|
||||
// sigh; Rotor treats symbol "print" at parse time without actually putting it
|
||||
// in the builtin symbol table.
|
||||
// Note that the print symbol is not available if jsc is run with the "/print-"
|
||||
// option.
|
||||
dojo.hostenv.println = function(s){
|
||||
print(s); // = print
|
||||
}
|
||||
|
||||
dojo.hostenv.getLibraryScriptUri = function(){
|
||||
return System.Environment.GetCommandLineArgs()[0];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue