Files
kit/tests/kit.Collection.php
T
2021-10-05 23:13:01 +03:00

114 lines
3.1 KiB
PHP

<script src="../assets/config/config.js"></script>
<script src="../assets/core/core.js"></script>
<script src="../assets/core/core.register.js"></script>
<script>
kit.PluginManager.install('Collection');
function assertSame(value, need, msg) {
if(value === need) {
console.log(true, msg);
return;
}
console.error(msg, value, need);
}
</script>
<h1>в консоле</h1>
<script>
kit.ready(['collection'], function () {
console.warn('ARRAY');
var arr = [];
arr[10] = 100;
var collection = new kit.Collection(arr);
assertSame(collection.count(), 1, 'Количество');
assertSame(collection.has(10), true, 'has');
assertSame(collection.has('10'), true, 'has');
assertSame(collection.has('5'), false, 'has');
assertSame(collection.get(3, 2), 2, 'get');
assertSame(collection.get(10, 2), 100, 'get');
assertSame(collection.get(11), undefined, 'get');
console.warn('Object');
var ob = {
a: 1,
b: 2,
10: 3,
};
collection = new kit.Collection(ob);
assertSame(collection.count(), 3, 'Количество');
assertSame(collection.has(10), true, 'has');
assertSame(collection.has('10'), true, 'has');
assertSame(collection.has('5'), false, 'has');
assertSame(collection.get('a'), 1, 'get');
assertSame(collection.get(3, 2), 2, 'get');
assertSame(collection.get(10, 2), 3, 'get');
assertSame(collection.get(11), undefined, 'get');
assertSame(JSON.stringify(collection.set(5, 19).all()), JSON.stringify({
a: 1,
b: 2,
10: 3,
5: 19,
}), 'get');
var testFunction = function (q, w, e, r, t, y) {
var c = new kit.Collection(arguments);
assertSame(c.count(), 8, 'arguments count');
assertSame(c.get(0), 1, 'arguments get');
assertSame(c.get(7), 8, 'arguments get');
assertSame(c.get(8, 80), 80, 'arguments get');
}
testFunction(1, 2, 3, 4, 5, 6, 7, 8);
collection = new kit.Collection([1, 2, 3, '', 0, NaN, undefined, null, false, true]);
assertSame(collection.filter().count(), 4, 'filter');
collection = new kit.Collection([4, 5, 6]);
assertSame(collection.every(function (item) {
return item > 2;
}), true, 'every');
assertSame(collection.every(function (item) {
return item > 5;
}), false, 'every');
assertSame(collection.every(function (item) {
return item < 1;
}), false, 'every');
collection = new kit.Collection([10, 20, 30]);
assertSame(collection.first(), 10, 'first');
assertSame(collection.first(function (item) {
return item > 15;
}), 20, 'first');
assertSame(collection.first(function (item) {
return item < 0;
}), undefined, 'first');
assertSame(collection.last(), 30, 'first');
assertSame(collection.last(function (item) {
return item < 25;
}), 20, 'first');
assertSame(collection.last(function (item) {
return item < 0;
}), undefined, 'first');
assertSame(collection.keys().count(), 3, 'keys');
});
</script>