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
146
webapp/web/src/collections/ArrayList.js
Normal file
146
webapp/web/src/collections/ArrayList.js
Normal file
|
@ -0,0 +1,146 @@
|
|||
/*
|
||||
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.ArrayList");
|
||||
dojo.require("dojo.collections.Collections");
|
||||
|
||||
dojo.collections.ArrayList=function(/* array? */arr){
|
||||
// summary
|
||||
// Returns a new object of type dojo.collections.ArrayList
|
||||
var items=[];
|
||||
if(arr) items=items.concat(arr);
|
||||
this.count=items.length;
|
||||
this.add=function(/* object */obj){
|
||||
// summary
|
||||
// Add an element to the collection.
|
||||
items.push(obj);
|
||||
this.count=items.length;
|
||||
};
|
||||
this.addRange=function(/* array */a){
|
||||
// summary
|
||||
// Add a range of objects to the ArrayList
|
||||
if(a.getIterator){
|
||||
var e=a.getIterator();
|
||||
while(!e.atEnd()){
|
||||
this.add(e.get());
|
||||
}
|
||||
this.count=items.length;
|
||||
}else{
|
||||
for(var i=0; i<a.length; i++){
|
||||
items.push(a[i]);
|
||||
}
|
||||
this.count=items.length;
|
||||
}
|
||||
};
|
||||
this.clear=function(){
|
||||
// summary
|
||||
// Clear all elements out of the collection, and reset the count.
|
||||
items.splice(0, items.length);
|
||||
this.count=0;
|
||||
};
|
||||
this.clone=function(){
|
||||
// summary
|
||||
// Clone the array list
|
||||
return new dojo.collections.ArrayList(items); // dojo.collections.ArrayList
|
||||
};
|
||||
this.contains=function(/* object */obj){
|
||||
// summary
|
||||
// Check to see if the passed object is a member in the ArrayList
|
||||
for(var i=0; i < items.length; i++){
|
||||
if(items[i] == obj) {
|
||||
return true; // bool
|
||||
}
|
||||
}
|
||||
return false; // bool
|
||||
};
|
||||
this.forEach=function(/* function */ fn, /* object? */ scope){
|
||||
// summary
|
||||
// functional iterator, following the mozilla spec.
|
||||
var s=scope||dj_global;
|
||||
if(Array.forEach){
|
||||
Array.forEach(items, fn, s);
|
||||
}else{
|
||||
for(var i=0; i<items.length; i++){
|
||||
fn.call(s, items[i], i, items);
|
||||
}
|
||||
}
|
||||
};
|
||||
this.getIterator=function(){
|
||||
// summary
|
||||
// Get an Iterator for this object
|
||||
return new dojo.collections.Iterator(items); // dojo.collections.Iterator
|
||||
};
|
||||
this.indexOf=function(/* object */obj){
|
||||
// summary
|
||||
// Return the numeric index of the passed object; will return -1 if not found.
|
||||
for(var i=0; i < items.length; i++){
|
||||
if(items[i] == obj) {
|
||||
return i; // int
|
||||
}
|
||||
}
|
||||
return -1; // int
|
||||
};
|
||||
this.insert=function(/* int */ i, /* object */ obj){
|
||||
// summary
|
||||
// Insert the passed object at index i
|
||||
items.splice(i,0,obj);
|
||||
this.count=items.length;
|
||||
};
|
||||
this.item=function(/* int */ i){
|
||||
// summary
|
||||
// return the element at index i
|
||||
return items[i]; // object
|
||||
};
|
||||
this.remove=function(/* object */obj){
|
||||
// summary
|
||||
// Look for the passed object, and if found, remove it from the internal array.
|
||||
var i=this.indexOf(obj);
|
||||
if(i >=0) {
|
||||
items.splice(i,1);
|
||||
}
|
||||
this.count=items.length;
|
||||
};
|
||||
this.removeAt=function(/* int */ i){
|
||||
// summary
|
||||
// return an array with function applied to all elements
|
||||
items.splice(i,1);
|
||||
this.count=items.length;
|
||||
};
|
||||
this.reverse=function(){
|
||||
// summary
|
||||
// Reverse the internal array
|
||||
items.reverse();
|
||||
};
|
||||
this.sort=function(/* function? */ fn){
|
||||
// summary
|
||||
// sort the internal array
|
||||
if(fn){
|
||||
items.sort(fn);
|
||||
}else{
|
||||
items.sort();
|
||||
}
|
||||
};
|
||||
this.setByIndex=function(/* int */ i, /* object */ obj){
|
||||
// summary
|
||||
// Set an element in the array by the passed index.
|
||||
items[i]=obj;
|
||||
this.count=items.length;
|
||||
};
|
||||
this.toArray=function(){
|
||||
// summary
|
||||
// Return a new array with all of the items of the internal array concatenated.
|
||||
return [].concat(items);
|
||||
}
|
||||
this.toString=function(/* string */ delim){
|
||||
// summary
|
||||
// implementation of toString, follows [].toString();
|
||||
return items.join((delim||","));
|
||||
};
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue