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
108
webapp/web/src/lang/extras.js
Normal file
108
webapp/web/src/lang/extras.js
Normal file
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
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
|
||||
*/
|
||||
|
||||
dojo.provide("dojo.lang.extras");
|
||||
|
||||
dojo.require("dojo.lang.common");
|
||||
|
||||
/**
|
||||
* Sets a timeout in milliseconds to execute a function in a given context
|
||||
* with optional arguments.
|
||||
*
|
||||
* setTimeout (Object context, function func, number delay[, arg1[, ...]]);
|
||||
* setTimeout (function func, number delay[, arg1[, ...]]);
|
||||
*/
|
||||
dojo.lang.setTimeout = function(func, delay){
|
||||
var context = window, argsStart = 2;
|
||||
if(!dojo.lang.isFunction(func)){
|
||||
context = func;
|
||||
func = delay;
|
||||
delay = arguments[2];
|
||||
argsStart++;
|
||||
}
|
||||
|
||||
if(dojo.lang.isString(func)){
|
||||
func = context[func];
|
||||
}
|
||||
|
||||
var args = [];
|
||||
for (var i = argsStart; i < arguments.length; i++) {
|
||||
args.push(arguments[i]);
|
||||
}
|
||||
return setTimeout(function () { func.apply(context, args); }, delay);
|
||||
}
|
||||
|
||||
dojo.lang.getNameInObj = function(ns, item){
|
||||
if(!ns){ ns = dj_global; }
|
||||
|
||||
for(var x in ns){
|
||||
if(ns[x] === item){
|
||||
return new String(x);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
dojo.lang.shallowCopy = function(obj) {
|
||||
var ret = {}, key;
|
||||
for(key in obj) {
|
||||
if(dojo.lang.isUndefined(ret[key])) {
|
||||
ret[key] = obj[key];
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the first argument that isn't undefined
|
||||
*/
|
||||
dojo.lang.firstValued = function(/* ... */) {
|
||||
for(var i = 0; i < arguments.length; i++) {
|
||||
if(typeof arguments[i] != "undefined") {
|
||||
return arguments[i];
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a value from a reference specified as a string descriptor,
|
||||
* (e.g. "A.B") in the given context.
|
||||
*
|
||||
* getObjPathValue(String objpath [, Object context, Boolean create])
|
||||
*
|
||||
* If context is not specified, dj_global is used
|
||||
* If create is true, undefined objects in the path are created.
|
||||
*/
|
||||
dojo.lang.getObjPathValue = function(objpath, context, create){
|
||||
with(dojo.parseObjPath(objpath, context, create)){
|
||||
return dojo.evalProp(prop, obj, create);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a value on a reference specified as a string descriptor.
|
||||
* (e.g. "A.B") in the given context.
|
||||
*
|
||||
* setObjPathValue(String objpath, value [, Object context, Boolean create])
|
||||
*
|
||||
* If context is not specified, dj_global is used
|
||||
* If create is true, undefined objects in the path are created.
|
||||
*/
|
||||
dojo.lang.setObjPathValue = function(objpath, value, context, create){
|
||||
if(arguments.length < 4){
|
||||
create = true;
|
||||
}
|
||||
with(dojo.parseObjPath(objpath, context, create)){
|
||||
if(obj && (create || (prop in obj))){
|
||||
obj[prop] = value;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue