Sha256: c24151acdffee7a3d924574260ab49f02e1f51425e17fa6453771fc4da51438c
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
require 'test_helper' module Vedeu describe Viewport do let(:described) { Viewport.new(interface) } let(:interface) { Interface.new({ name: 'fluorine', geometry: { width: 30, height: 2, }, lines: [ { streams: [{ text: 'Something interesting ', },{ text: 'on this line ', },{ text: 'would be cool, eh?' }] }, { streams: [{ text: 'Maybe a lyric, a little ditty ', },{ text: 'to help you unwind.', }] } ] }) } describe '#initialize' do it { return_type_for(described, Viewport) } it { assigns(described, '@interface', interface) } it { assigns(described, '@top', 0) } it { assigns(described, '@left', 0) } end describe '.show' do it { return_type_for(Viewport.show(interface), Array) } context 'when there is no content' do before { interface.stubs(:content).returns([]) } it 'returns an empty collection' do Viewport.show(interface).must_equal([]) end end context 'when there is content, it returns only the visible content ' \ 'determined by the geometry of the interface and the current ' \ 'offset stored' do it 'returns a collection of lines, each a collection of characters' do Viewport.show(interface).must_equal( [ ['S', 'o', 'm', 'e', 't', 'h', 'i', 'n', 'g', ' ', 'i', 'n', 't', 'e', 'r', 'e', 's', 't', 'i', 'n', 'g', ' ', 'o', 'n', ' ', 't', 'h', 'i', 's', ' '], ['M', 'a', 'y', 'b', 'e', ' ', 'a', ' ', 'l', 'y', 'r', 'i', 'c', ',', ' ', 'a', ' ', 'l', 'i', 't', 't', 'l', 'e', ' ', 'd', 'i', 't', 't', 'y', ' '] ] ) end end end end # Viewport end # Vedeu
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.2.12 | test/lib/vedeu/output/viewport_test.rb |