A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/neovim/neovim/commit/d746f5aa418f86828aef689a2c4f8d5b53c9f7de below:

partially port v8.2.0878 · neovim/neovim@d746f5a · GitHub

@@ -620,6 +620,37 @@ func Test_reverse_sort_uniq()

620 620

call assert_fails('call reverse("")', 'E899:')

621 621

endfunc

622 622 623 +

" reduce a list or a blob

624 +

func Test_reduce()

625 +

call assert_equal(1, reduce([], { acc, val -> acc + val }, 1))

626 +

call assert_equal(10, reduce([1, 3, 5], { acc, val -> acc + val }, 1))

627 +

call assert_equal(2 * (2 * ((2 * 1) + 2) + 3) + 4, reduce([2, 3, 4], { acc, val -> 2 * acc + val }, 1))

628 +

call assert_equal('a x y z', ['x', 'y', 'z']->reduce({ acc, val -> acc .. ' ' .. val}, 'a'))

629 +

call assert_equal(#{ x: 1, y: 1, z: 1 }, ['x', 'y', 'z']->reduce({ acc, val -> extend(acc, { val: 1 }) }, {}))

630 +

call assert_equal([0, 1, 2, 3], reduce([1, 2, 3], function('add'), [0]))

631 + 632 +

let l = ['x', 'y', 'z']

633 +

call assert_equal(42, reduce(l, function('get'), #{ x: #{ y: #{ z: 42 } } }))

634 +

call assert_equal(['x', 'y', 'z'], l)

635 + 636 +

call assert_equal(1, reduce([1], { acc, val -> acc + val }))

637 +

call assert_equal('x y z', reduce(['x', 'y', 'z'], { acc, val -> acc .. ' ' .. val }))

638 +

call assert_equal(120, range(1, 5)->reduce({ acc, val -> acc * val }))

639 +

call assert_fails("call reduce([], { acc, val -> acc + val })", 'E998: Reduce of an empty List with no initial value')

640 + 641 +

call assert_equal(1, reduce(0z, { acc, val -> acc + val }, 1))

642 +

call assert_equal(1 + 0xaf + 0xbf + 0xcf, reduce(0zAFBFCF, { acc, val -> acc + val }, 1))

643 +

call assert_equal(2 * (2 * 1 + 0xaf) + 0xbf, 0zAFBF->reduce({ acc, val -> 2 * acc + val }, 1))

644 + 645 +

call assert_equal(0xff, reduce(0zff, { acc, val -> acc + val }))

646 +

call assert_equal(2 * (2 * 0xaf + 0xbf) + 0xcf, reduce(0zAFBFCF, { acc, val -> 2 * acc + val }))

647 +

call assert_fails("call reduce(0z, { acc, val -> acc + val })", 'E998: Reduce of an empty Blob with no initial value')

648 + 649 +

call assert_fails("call reduce({}, { acc, val -> acc + val }, 1)", 'E897:')

650 +

call assert_fails("call reduce(0, { acc, val -> acc + val }, 1)", 'E897:')

651 +

call assert_fails("call reduce('', { acc, val -> acc + val }, 1)", 'E897:')

652 +

endfunc

653 + 623 654

" splitting a string to a List

624 655

func Test_str_split()

625 656

call assert_equal(['aa', 'bb'], split(' aa bb '))


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4