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
129
webapp/web/src/collections/Dictionary.js
Normal file
129
webapp/web/src/collections/Dictionary.js
Normal file
|
@ -0,0 +1,129 @@
|
|||
/*
|
||||
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.collections.Dictionary");
|
||||
dojo.require("dojo.collections.Collections");
|
||||
|
||||
dojo.collections.Dictionary=function(/* dojo.collections.Dictionary? */dictionary){
|
||||
// summary
|
||||
// Returns an object of type dojo.collections.Dictionary
|
||||
var items={};
|
||||
this.count=0;
|
||||
|
||||
// comparator for property addition and access.
|
||||
var testObject={};
|
||||
|
||||
this.add=function(/* string */k, /* object */v){
|
||||
// summary
|
||||
// Add a new item to the Dictionary.
|
||||
var b=(k in items);
|
||||
items[k]=new dojo.collections.DictionaryEntry(k,v);
|
||||
if(!b){
|
||||
this.count++;
|
||||
}
|
||||
};
|
||||
this.clear=function(){
|
||||
// summary
|
||||
// Clears the internal dictionary.
|
||||
items={};
|
||||
this.count=0;
|
||||
};
|
||||
this.clone=function(){
|
||||
// summary
|
||||
// Returns a new instance of dojo.collections.Dictionary; note the the dictionary is a clone but items might not be.
|
||||
return new dojo.collections.Dictionary(this); // dojo.collections.Dictionary
|
||||
};
|
||||
this.contains=this.containsKey=function(/* string */k){
|
||||
// summary
|
||||
// Check to see if the dictionary has an entry at key "k".
|
||||
if(testObject[k]){
|
||||
return false; // bool
|
||||
}
|
||||
return (items[k]!=null); // bool
|
||||
};
|
||||
this.containsValue=function(/* object */v){
|
||||
// summary
|
||||
// Check to see if the dictionary has an entry with value "v".
|
||||
var e=this.getIterator();
|
||||
while(e.get()){
|
||||
if(e.element.value==v){
|
||||
return true; // bool
|
||||
}
|
||||
}
|
||||
return false; // bool
|
||||
};
|
||||
this.entry=function(/* string */k){
|
||||
// summary
|
||||
// Accessor method; similar to dojo.collections.Dictionary.item but returns the actual Entry object.
|
||||
return items[k]; // dojo.collections.DictionaryEntry
|
||||
};
|
||||
this.forEach=function(/* function */ fn, /* object? */ scope){
|
||||
// summary
|
||||
// functional iterator, following the mozilla spec.
|
||||
var a=[]; // Create an indexing array
|
||||
for(var p in items) {
|
||||
if(!testObject[p]){
|
||||
a.push(items[p]); // fill it up
|
||||
}
|
||||
}
|
||||
var s=scope||dj_global;
|
||||
if(Array.forEach){
|
||||
Array.forEach(a, fn, s);
|
||||
}else{
|
||||
for(var i=0; i<a.length; i++){
|
||||
fn.call(s, a[i], i, a);
|
||||
}
|
||||
}
|
||||
};
|
||||
this.getKeyList=function(){
|
||||
// summary
|
||||
// Returns an array of the keys in the dictionary.
|
||||
return (this.getIterator()).map(function(entry){
|
||||
return entry.key;
|
||||
}); // array
|
||||
};
|
||||
this.getValueList=function(){
|
||||
// summary
|
||||
// Returns an array of the values in the dictionary.
|
||||
return (this.getIterator()).map(function(entry){
|
||||
return entry.value;
|
||||
}); // array
|
||||
};
|
||||
this.item=function(/* string */k){
|
||||
// summary
|
||||
// Accessor method.
|
||||
if(k in items){
|
||||
return items[k].valueOf(); // object
|
||||
}
|
||||
return undefined; // object
|
||||
};
|
||||
this.getIterator=function(){
|
||||
// summary
|
||||
// Gets a dojo.collections.DictionaryIterator for iteration purposes.
|
||||
return new dojo.collections.DictionaryIterator(items); // dojo.collections.DictionaryIterator
|
||||
};
|
||||
this.remove=function(/* string */k){
|
||||
// summary
|
||||
// Removes the item at k from the internal collection.
|
||||
if(k in items && !testObject[k]){
|
||||
delete items[k];
|
||||
this.count--;
|
||||
return true; // bool
|
||||
}
|
||||
return false; // bool
|
||||
};
|
||||
|
||||
if (dictionary){
|
||||
var e=dictionary.getIterator();
|
||||
while(e.get()) {
|
||||
this.add(e.element.key, e.element.value);
|
||||
}
|
||||
}
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue