Sha256: 1b32a4acefec07c9fe96926fd9b62542d2bf31b2a81af9940435209d0da49fc1
Contents?: true
Size: 1.15 KB
Versions: 14
Compression:
Stored size: 1.15 KB
Contents
require 'spec_helper' describe Computation do it 'should trigger again when a dependent changes' do a = ReactiveHash.new values = [] -> { values << a[0] }.watch! expect(values).to eq([nil]) a[0] = 'one' Computation.flush! expect(values).to eq([nil, 'one']) a[0] = 'two' Computation.flush! expect(values).to eq([nil, 'one', 'two']) end it 'should not trigger after the computation is stopped' do a = ReactiveHash.new values = [] computation = -> { values << a[0] }.watch! expect(values).to eq([nil]) a[0] = 'one' Computation.flush! expect(values).to eq([nil, 'one']) computation.stop a[0] = 'two' Computation.flush! expect(values).to eq([nil, 'one']) end it 'should support nested watches' do a = ReactiveHash.new values = [] -> do values << a[0] -> do values << a[1] end.watch! end.watch! expect(values).to eq([nil,nil]) a[1] = 'inner' Computation.flush! expect(values).to eq([nil,nil,'inner']) a[0] = 'outer' Computation.flush! expect(values).to eq([nil,nil,'inner','outer','inner']) end end
Version data entries
14 entries across 14 versions & 1 rubygems