Preparation Code Preparation HTML (this will be inserted in the <body>
of a valid HTML5 document in standards mode) (useful when testing DOM operations or including libraries) <script src ="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.18/angular.min.js" > </script >
<script src ="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.8.0/lodash.js" > </script >
Setup JS var __ = {
forEachRight : function (obj, callback ) {
for (i = obj.length - 1 ; i >= 0 ; i--) {
callback (obj[i]);
}
}
};
var dataset, i, retObj = {}, stats = [{
"window" : "lifetime" ,
"source" : "DX" ,
"spend" : "1642.81" ,
"ideal_spend" : "2989.86" ,
"pace" : "43" ,
"impressions" : "224929" ,
"actions" : "189" ,
"cpm" : "3.90" ,
"ideal_cpm" : "2.81" ,
"cpa" : "25.82"
}, {
"window" : "yesterday" ,
"source" : "DX" ,
"spend" : "1634.57" ,
"ideal_spend" : "3276.75" ,
"pace" : "24" ,
"impressions" : "24771" ,
"actions" : "41" ,
"cpm" : "2.08" ,
"ideal_cpm" : "3.14" ,
"cpa" : "16.00"
}];
Teardown JS
Test cases
Test #1 Title *
Async
Code * angular.forEach (stats, function (dataset ) {
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
});
Test #2 Title *
Async
Code * for (i = stats.length - 1 ; i >= 0 ; i--) {
dataset = stats[i];
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
}
Title *
Async
Code * _.forEachRight (stats, function (dataset ) {
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
});
Title *
Async
Code * __.forEachRight (stats, function (dataset ) {
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
});
Title *
Async
Code * stats.forEach (function (dataset ) {
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
});
Title *
Async
Code * _.forEach (stats, function (dataset ) {
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
});
Title *
Async
Code * for (i = 0 ; i < stats.length ; i++) {
var dataset = stats[i];
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
}
Title *
Async
Code * var i, len = stats.length ;
for (i = 0 ; i < len; i++) {
var d = stats[i],
dw = d.window || 0 ;
if (dw && dw === 'lifetime' ) {
delete dw;
retObj = d;
}
}
Title *
Async
Code * for (dataset of stats) {
if (dataset.window && dataset.window === 'lifetime' ) {
delete dataset.window ;
retObj = dataset;
}
}