@@ -313,6 +313,11 @@ std.assertEqual(std.lines(['a', null, 'b']), 'a\nb\n') &&
313
313
314
314
std.assertEqual (std.flattenArrays ([[1 , 2 , 3 ], [4 , 5 , 6 ], []]), [1 , 2 , 3 , 4 , 5 , 6 ]) &&
315
315
316
+ std.assertEqual (std.flattenDeepArray([]), []) &&
317
+ std.assertEqual (std.flattenDeepArray([1 , 2 , 3 ]), [1 , 2 , 3 ]) &&
318
+ std.assertEqual (std.flattenDeepArray([1 , [2 , 3 ]]), [1 , 2 , 3 ]) &&
319
+ std.assertEqual (std.flattenDeepArray([[1 ], [2 , 3 ], [[null ]]]), [1 , 2 , 3 , null ]) &&
320
+
316
321
std.assertEqual (
317
322
std.manifestIni ({
318
323
main: { a: '1' , b: '2' },
@@ -1544,6 +1549,10 @@ std.assertEqual(std.all([]), true) &&
1544
1549
1545
1550
std.assertEqual (std.sum([1 , 2 , 3 ]), 6 ) &&
1546
1551
1552
+ std.assertEqual (std.avg([1 , 2 , 3 ]), 2 ) &&
1553
+ std.assertEqual (std.avg([0 , 0 , 0 ]), 0 ) &&
1554
+ std.assertEqual (std.avg([1 , 1 , 2.5 ]), 1.5 ) &&
1555
+
1547
1556
std.assertEqual (std.minArray([1 , 2 , 3 ]), 1 ) &&
1548
1557
std.assertEqual (std.minArray(['1' , '2' , '3' ]), '1' ) &&
1549
1558
@@ -1565,14 +1574,29 @@ std.assertEqual(std.isEmpty(''), true) &&
1565
1574
std.assertEqual (std.isEmpty('non-empty string' ), false ) &&
1566
1575
1567
1576
std.assertEqual (std.contains([1 , 2 , 3 ], 2 ), true ) &&
1568
- std.assertEqual (std.contains([1 , 2 , 3 ], " foo" ), false ) &&
1577
+ std.assertEqual (std.contains([1 , 2 , 3 ], ' foo' ), false ) &&
1569
1578
1570
1579
std.assertEqual (std.equalsIgnoreCase('foo' , 'FOO' ), true ) &&
1571
1580
std.assertEqual (std.equalsIgnoreCase('foo' , 'bar' ), false ) &&
1572
1581
1582
+ std.assertEqual (std.isEven(10 ), true ) &&
1583
+ std.assertEqual (std.isEven(5 ), false ) &&
1584
+ std.assertEqual (std.isOdd(5 ), true ) &&
1585
+ std.assertEqual (std.isOdd(10 ), false ) &&
1586
+ std.assertEqual (std.isInteger(1 ), true ) &&
1587
+ std.assertEqual (std.isInteger(1.1 ), false ) &&
1588
+ std.assertEqual (std.isDecimal(1.1 ), true ) &&
1589
+ std.assertEqual (std.isDecimal(1 ), false ) &&
1590
+
1573
1591
std.assertEqual (std.remove([1 , 2 , 3 ], 2 ), [1 , 3 ]) &&
1574
1592
std.assertEqual (std.removeAt([1 , 2 , 3 ], 1 ), [1 , 3 ]) &&
1575
1593
1576
1594
std.assertEqual (std.objectRemoveKey({ foo: 1 , bar: 2 , baz: 3 }, 'foo' ), { bar: 2 , baz: 3 }) &&
1577
1595
1596
+ std.assertEqual (std.trim('already trimmed string' ), 'already trimmed string' ) &&
1597
+ std.assertEqual (std.trim(' string with spaces on both ends ' ), 'string with spaces on both ends' ) &&
1598
+ std.assertEqual (std.trim('string with newline character at end\n ' ), 'string with newline character at end' ) &&
1599
+ std.assertEqual (std.trim('string with tabs at end\t\t ' ), 'string with tabs at end' ) &&
1600
+ std.assertEqual (std.trim('string with other special whitespaces at end\f\r\u0085\u00A0 ' ), 'string with carriage return at end' ) &&
1601
+
1578
1602
true
0 commit comments