vedeu 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +4 -2
  3. data/lib/vedeu.rb +5 -2
  4. data/lib/vedeu/launcher.rb +1 -1
  5. data/lib/vedeu/output/compositor.rb +5 -4
  6. data/lib/vedeu/output/geometry.rb +5 -1
  7. data/lib/vedeu/process/event_loop.rb +6 -2
  8. data/lib/vedeu/process/input.rb +5 -20
  9. data/lib/vedeu/process/output.rb +25 -0
  10. data/lib/vedeu/process/process.rb +63 -0
  11. data/lib/vedeu/process/queue.rb +32 -0
  12. data/lib/vedeu/repository/command_repository.rb +4 -12
  13. data/lib/vedeu/repository/dummy_command.rb +1 -1
  14. data/lib/vedeu/repository/interface.rb +8 -26
  15. data/lib/vedeu/repository/interface_repository.rb +0 -14
  16. data/lib/vedeu/version.rb +1 -1
  17. data/test/lib/vedeu/launcher_test.rb +15 -0
  18. data/test/lib/vedeu/process/event_loop_test.rb +9 -3
  19. data/test/lib/vedeu/process/input_test.rb +4 -7
  20. data/test/lib/vedeu/process/output_test.rb +25 -0
  21. data/test/lib/vedeu/process/process_test.rb +67 -0
  22. data/test/lib/vedeu/process/queue_test.rb +54 -0
  23. data/test/lib/vedeu/repository/command_repository_test.rb +6 -2
  24. data/test/lib/vedeu/repository/command_test.rb +1 -11
  25. data/test/lib/vedeu/repository/dummy_command_test.rb +21 -0
  26. data/test/lib/vedeu/repository/dummy_interface_test.rb +7 -0
  27. data/test/lib/vedeu/repository/interface_repository_test.rb +0 -18
  28. data/test/lib/vedeu/repository/interface_test.rb +0 -35
  29. data/test/lib/vedeu/repository/repository_test.rb +0 -2
  30. data/test/lib/vedeu/repository/storage_test.rb +0 -12
  31. data/test/lib/vedeu/support/terminal_test.rb +0 -10
  32. data/test/test_helper.rb +0 -6
  33. metadata +17 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 91075694e8c8b20c64f154ab41f71176a871ca64
4
- data.tar.gz: 1637599541bcad4e9895c55d58e2a180a0fe8f06
3
+ metadata.gz: a3489de1de7dba2be8959a6f31fedda506ab98d9
4
+ data.tar.gz: 86ccc8058d098ecadee5ce5b921858a9894df14b
5
5
  SHA512:
6
- metadata.gz: b552c855f7c1b9d1774324ca2435d99dc85ed85bc5622a22b8284ee216dc93c5fe7f31c188cd19ce697085a821adae90f2359f49658e33acf4df268c34c93e73
7
- data.tar.gz: f63e7b4cfff15aa2a65a6da620effc55c60544426fb50b334326adbe555f2f2ae6422a537742fe263185ed8cf53de570e8160db9ff3a566c4cfee23774f2a886
6
+ metadata.gz: b04a568a44e0c7eb891f10ffb72f94f19370e9652ad17850291665f7873b9b3901117a01353d2429f74bfa94f7d068a1aa52eff9eaf87adcde4eb39f983ed4dc
7
+ data.tar.gz: 996e9e94f5009f3e75d994a397b17bb83545332f370efcad301a1553d58c870e42407d0d61bb9386916aeaba1c70e99143c11ba9672bf21dccfe568130cbbe38
data/Rakefile CHANGED
@@ -7,13 +7,15 @@ Cucumber::Rake::Task.new(:cucumber) do |t|
7
7
  t.cucumber_opts = "features --format progress"
8
8
  end
9
9
 
10
- Rake::TestTask.new do |t|
10
+ Rake::TestTask.new(:minitest) do |t|
11
11
  t.libs << 'lib/vedeu'
12
12
  t.test_files = FileList["test/lib/vedeu/*_test.rb",
13
13
  "test/lib/vedeu/**/*_test.rb"]
14
14
  t.verbose = false
15
15
  end
16
16
 
17
- task :default => :test
17
+ task :default => :minitest
18
+
19
+ Rake::Task['minitest'].execute
18
20
 
19
21
  Rake::Task['cucumber'].execute
data/lib/vedeu.rb CHANGED
@@ -21,6 +21,9 @@ require_relative 'vedeu/output/wordwrap'
21
21
  require_relative 'vedeu/process/event_loop'
22
22
  require_relative 'vedeu/process/exit'
23
23
  require_relative 'vedeu/process/input'
24
+ require_relative 'vedeu/process/output'
25
+ require_relative 'vedeu/process/process'
26
+ require_relative 'vedeu/process/queue'
24
27
 
25
28
  require_relative 'vedeu/repository/repository'
26
29
  require_relative 'vedeu/repository/command_repository'
@@ -37,10 +40,10 @@ require_relative 'vedeu/version'
37
40
 
38
41
  module Vedeu
39
42
  module ClassMethods
40
- def interface(name, options = {})
43
+ def interface(name, geometry = {})
41
44
  interface_name = name.is_a?(Symbol) ? name.to_s : name
42
45
 
43
- Interface.create({ name: interface_name, options: options })
46
+ Interface.create({ name: interface_name, geometry: geometry })
44
47
  end
45
48
 
46
49
  def command(name, klass, options = {})
@@ -1,6 +1,6 @@
1
1
  module Vedeu
2
2
  class Launcher
3
- def initialize(argv, stdin = STDIN,
3
+ def initialize(argv, stdin = STDIN,
4
4
  stdout = STDOUT,
5
5
  stderr = STDERR,
6
6
  kernel = Kernel)
@@ -9,9 +9,7 @@ module Vedeu
9
9
  if output.is_a?(Array)
10
10
  new(output, interface).arrange
11
11
  elsif output.is_a?(Hash)
12
- output.map do |i, o|
13
- new(o, i).arrange
14
- end
12
+ output.map { |i, o| new(o, i).arrange }
15
13
  end
16
14
  end
17
15
  end
@@ -30,14 +28,17 @@ module Vedeu
30
28
  def composition
31
29
  container = []
32
30
  streams = []
31
+
33
32
  output.map do |line|
34
33
  line.each_with_index do |stream, index|
35
34
  streams << clear(index)
36
35
  streams << Directive.enact(stream)
37
36
  end
37
+
38
38
  container << streams.join
39
39
  streams = []
40
40
  end
41
+
41
42
  container
42
43
  end
43
44
 
@@ -46,7 +47,7 @@ module Vedeu
46
47
  end
47
48
 
48
49
  def origin(index)
49
- target_interface.origin(index)
50
+ geometry.origin(index)
50
51
  end
51
52
 
52
53
  def width
@@ -4,6 +4,10 @@ module Vedeu
4
4
  @values = values || {}
5
5
  end
6
6
 
7
+ def origin(index = 0)
8
+ Position.set(vy(index), vx)
9
+ end
10
+
7
11
  def z
8
12
  values[:z]
9
13
  end
@@ -56,7 +60,7 @@ module Vedeu
56
60
  end
57
61
 
58
62
  def values
59
- defaults.merge(auto)
63
+ defaults.merge!(auto)
60
64
  end
61
65
 
62
66
  def auto
@@ -13,10 +13,14 @@ module Vedeu
13
13
  end
14
14
 
15
15
  def main_sequence
16
+ InterfaceRepository.initial_state
17
+
16
18
  while @running do
17
- InterfaceRepository.input
19
+ Input.capture
20
+
21
+ Process.evaluate
18
22
 
19
- InterfaceRepository.output
23
+ Output.render
20
24
  end
21
25
  rescue Collapse
22
26
  stop
@@ -1,30 +1,15 @@
1
1
  module Vedeu
2
2
  class Input
3
3
  class << self
4
- def evaluate(input, args = [])
5
- new(input, args).evaluate
4
+ def capture
5
+ new.capture
6
6
  end
7
7
  end
8
8
 
9
- def initialize(input, args = [])
10
- @input = input
11
- @args = args || []
12
- end
13
-
14
- def evaluate
15
- command.execute(*args) if exists?
16
- end
17
-
18
- private
19
-
20
- attr_reader :input, :args
21
-
22
- def exists?
23
- command.is_a?(Command)
24
- end
9
+ def initialize; end
25
10
 
26
- def command
27
- @command ||= CommandRepository.find_by_input(input)
11
+ def capture
12
+ Terminal.input
28
13
  end
29
14
  end
30
15
  end
@@ -0,0 +1,25 @@
1
+ module Vedeu
2
+ class Output
3
+ class << self
4
+ def render
5
+ new.render
6
+ end
7
+ end
8
+
9
+ def initialize; end
10
+
11
+ def render
12
+ Compositor.arrange(result) unless empty?
13
+ end
14
+
15
+ private
16
+
17
+ def empty?
18
+ result.nil? || result.empty?
19
+ end
20
+
21
+ def result
22
+ @result ||= Queue.dequeue
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,63 @@
1
+ module Vedeu
2
+ class Process
3
+ class << self
4
+ def evaluate
5
+ new.evaluate
6
+ end
7
+ end
8
+
9
+ def initialize; end
10
+
11
+ def evaluate
12
+ raise Collapse if result == :stop
13
+
14
+ Queue.enqueue(result) unless no_result?
15
+ end
16
+
17
+ private
18
+
19
+ def result
20
+ @result ||= command.execute(*args) unless not_found?
21
+ end
22
+
23
+ def no_result?
24
+ result.nil? || result.empty?
25
+ end
26
+
27
+ def not_found?
28
+ command.nil?
29
+ end
30
+
31
+ def command
32
+ @command ||= find_by_keypress || find_by_keyword
33
+ end
34
+
35
+ def find_by_keypress
36
+ CommandRepository.by_keypress(input) if keypress?
37
+ end
38
+
39
+ def find_by_keyword
40
+ CommandRepository.by_keyword(input) if keyword?
41
+ end
42
+
43
+ def keypress?
44
+ input? && input.size == 1
45
+ end
46
+
47
+ def keyword?
48
+ input? && input.size > 1
49
+ end
50
+
51
+ def input?
52
+ !!(input)
53
+ end
54
+
55
+ def input
56
+ @input ||= Queue.dequeue
57
+ end
58
+
59
+ def args
60
+ []
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,32 @@
1
+ module Vedeu
2
+ module Queue
3
+ extend self
4
+
5
+ def dequeue
6
+ store.pop
7
+ end
8
+
9
+ def enqueue(result)
10
+ store.unshift(result)
11
+ self
12
+ end
13
+
14
+ def size
15
+ store.size
16
+ end
17
+
18
+ def clear
19
+ store.clear
20
+ end
21
+
22
+ def view
23
+ store.inspect
24
+ end
25
+
26
+ private
27
+
28
+ def store
29
+ @store ||= Array.new
30
+ end
31
+ end
32
+ end
@@ -3,18 +3,6 @@ module Vedeu
3
3
  extend Repository
4
4
 
5
5
  class << self
6
- def find_by_input(input)
7
- return nil if input.nil? || input.empty?
8
- return by_keypress(input) if input.size == 1
9
- return by_keyword(input) if input.size > 1
10
- end
11
-
12
- def klass
13
- Command
14
- end
15
-
16
- private
17
-
18
6
  def by_keypress(input)
19
7
  query(klass, :keypress, input)
20
8
  end
@@ -22,6 +10,10 @@ module Vedeu
22
10
  def by_keyword(input)
23
11
  query(klass, :keyword, input)
24
12
  end
13
+
14
+ def klass
15
+ Command
16
+ end
25
17
  end
26
18
  end
27
19
  end
@@ -1,7 +1,7 @@
1
1
  module Vedeu
2
2
  class DummyCommand
3
3
  def self.dispatch(value = :dummy)
4
- value
4
+ value || :dummy
5
5
  end
6
6
  end
7
7
  end
@@ -1,6 +1,6 @@
1
1
  module Vedeu
2
2
  class Interface
3
- attr_accessor :id, :active, :attributes, :result, :name, :geometry
3
+ attr_accessor :id, :attributes, :active, :geometry, :name, :result
4
4
 
5
5
  class << self
6
6
  def create(attributes = {})
@@ -10,9 +10,11 @@ module Vedeu
10
10
 
11
11
  def initialize(attributes = {})
12
12
  @attributes = attributes || {}
13
- @name = attributes[:name]
13
+
14
14
  @active = false
15
- @geometry = Geometry.new(attributes[:geometry])
15
+ @geometry = attributes[:geometry]
16
+ @name = attributes[:name]
17
+ @result = nil
16
18
  end
17
19
 
18
20
  def create
@@ -23,30 +25,10 @@ module Vedeu
23
25
  self
24
26
  end
25
27
 
26
- def origin(index = 0)
27
- Position.set(geometry.vy(index), geometry.vx)
28
- end
29
-
30
- def initial_state
31
- # raise NotImplementedError, 'Subclasses implement this method.'
32
- end
33
-
34
- def input
35
- raise Collapse if evaluate == :stop
36
- end
37
-
38
- def output
39
- Compositor.arrange(@result, self) unless @result.nil? || @result.empty?
40
- end
41
-
42
- private
43
-
44
- def evaluate
45
- @result = Input.evaluate(read)
46
- end
28
+ def initial_state; end
47
29
 
48
- def read
49
- Terminal.input
30
+ def geometry
31
+ Geometry.new(@geometry)
50
32
  end
51
33
  end
52
34
  end
@@ -27,20 +27,6 @@ module Vedeu
27
27
  all.map { |interface| interface.initial_state }
28
28
  end
29
29
 
30
- def update; end
31
-
32
- def input
33
- all.map do |interface|
34
- interface.origin
35
-
36
- interface.input
37
- end
38
- end
39
-
40
- def output
41
- all.map { |interface| interface.output }
42
- end
43
-
44
30
  def klass
45
31
  Interface
46
32
  end
data/lib/vedeu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vedeu
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
@@ -0,0 +1,15 @@
1
+ require_relative '../../test_helper'
2
+
3
+ module Vedeu
4
+ describe Launcher do
5
+ let(:described_class) { Launcher }
6
+ let(:described_instance) { described_class.new(argv) }
7
+ let(:argv) { [] }
8
+
9
+ it { described_instance.must_be_instance_of(Launcher) }
10
+
11
+ describe '#execute!' do
12
+ let(:subject) { described_instance.execute! }
13
+ end
14
+ end
15
+ end
@@ -7,16 +7,22 @@ module Vedeu
7
7
  let(:subject) { described_class.new }
8
8
 
9
9
  before do
10
- InterfaceRepository.stubs(:input).returns("stop")
11
- InterfaceRepository.stubs(:output).returns(NilClass)
10
+ Input.stubs(:evaluate)
11
+ Output.stubs(:render)
12
12
  end
13
13
 
14
14
  it { subject.must_be_instance_of(EventLoop) }
15
15
 
16
+ it { subject.instance_variable_get("@running").must_equal(true) }
17
+
16
18
  describe '.main_sequence' do
17
19
  let(:subject) { described_class.main_sequence }
20
+ end
21
+
22
+ describe '#stop' do
23
+ let(:subject) { described_class.new.stop }
18
24
 
19
- # it { subject.must_be_instance_of(NilClass) }
25
+ it { subject.must_be_instance_of(FalseClass) }
20
26
  end
21
27
  end
22
28
  end
@@ -4,16 +4,13 @@ module Vedeu
4
4
  describe Input do
5
5
  let(:described_class) { Input }
6
6
  let(:input) { "" }
7
- let(:args) { [] }
8
7
 
9
- before do
10
- CommandRepository.stubs(:find_by_input)
11
- end
8
+ before { Terminal.stubs(:input).returns(input) }
12
9
 
13
- describe '.evaluate' do
14
- let(:subject) { described_class.evaluate(input, args) }
10
+ describe '.capture' do
11
+ let(:subject) { described_class.capture }
15
12
 
16
- it { subject.must_be_instance_of(NilClass) }
13
+ it { subject.must_be_instance_of(String) }
17
14
  end
18
15
  end
19
16
  end
@@ -0,0 +1,25 @@
1
+ require_relative '../../../test_helper'
2
+
3
+ module Vedeu
4
+ describe Output do
5
+ let(:described_class) { Output }
6
+ let(:input) { "" }
7
+ let(:args) { [] }
8
+
9
+ before do
10
+ Compositor.stubs(:arrange)
11
+ Queue.stubs(:dequeue).returns(result)
12
+ end
13
+
14
+ describe '.render' do
15
+ let(:subject) { described_class.render }
16
+ let(:result) { }
17
+
18
+ it { subject.must_be_instance_of(NilClass) }
19
+
20
+ context 'when the result is empty' do
21
+ let(:result) {}
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,67 @@
1
+ require_relative '../../../test_helper'
2
+
3
+ module Vedeu
4
+ describe Process do
5
+ let(:described_class) { Process }
6
+ let(:input) { nil }
7
+ let(:result) {}
8
+
9
+ describe '.evaluate' do
10
+ let(:subject) { described_class.evaluate }
11
+ let(:command) { Command.new }
12
+
13
+ before do
14
+ Queue.enqueue(input)
15
+ CommandRepository.stubs(:by_keypress).returns(command)
16
+ CommandRepository.stubs(:by_keyword).returns(command)
17
+ command.stubs(:execute).returns(result)
18
+ end
19
+
20
+ after { Queue.clear }
21
+
22
+ context 'when there is no input' do
23
+ it { subject.must_be_instance_of(NilClass) }
24
+ end
25
+
26
+ context 'when the input is a keypress' do
27
+ let(:input) { "q" }
28
+
29
+ context 'but there is no result' do
30
+ it { subject.must_be_instance_of(NilClass) }
31
+ end
32
+
33
+ context 'or the result is :stop' do
34
+ let(:result) { :stop }
35
+
36
+ it { proc { subject }.must_raise(Collapse) }
37
+ end
38
+
39
+ context 'or the result is anything else' do
40
+ let(:result) { :something_else }
41
+
42
+ it { subject.must_be_instance_of(Module) }
43
+ end
44
+ end
45
+
46
+ context 'when the input is a keyword' do
47
+ let(:input) { "quit" }
48
+
49
+ context 'but there is no result' do
50
+ it { subject.must_be_instance_of(NilClass) }
51
+ end
52
+
53
+ context 'or the result is :stop' do
54
+ let(:result) { :stop }
55
+
56
+ it { proc { subject }.must_raise(Collapse) }
57
+ end
58
+
59
+ context 'or the result is anything else' do
60
+ let(:result) { :something_else }
61
+
62
+ it { subject.must_be_instance_of(Module) }
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,54 @@
1
+ require_relative '../../../test_helper'
2
+
3
+ module Vedeu
4
+ describe Queue do
5
+ let(:described_class) { Queue }
6
+
7
+ before do
8
+ described_class.clear
9
+ end
10
+
11
+ describe '.dequeue' do
12
+ let(:subject) { described_class.dequeue }
13
+
14
+ context 'when the queue is empty' do
15
+ it { subject.must_be_instance_of(NilClass) }
16
+ end
17
+
18
+ context 'when the queue is not empty' do
19
+ before { described_class.enqueue(:result) }
20
+
21
+ it { subject.must_be_instance_of(Symbol) }
22
+ end
23
+ end
24
+
25
+ describe '.enqueue' do
26
+ let(:subject) { described_class.enqueue(result) }
27
+ let(:result) { :result }
28
+
29
+ it { subject.must_be_instance_of(Module) }
30
+
31
+ it { subject.size.must_equal(1) }
32
+ end
33
+
34
+ describe '.size' do
35
+ let(:subject) { described_class.size }
36
+
37
+ it { subject.must_be_instance_of(Fixnum) }
38
+ end
39
+
40
+ describe '.clear' do
41
+ let(:subject) { described_class.clear }
42
+
43
+ it { subject.must_be_instance_of(Array) }
44
+
45
+ it { subject.must_be_empty }
46
+ end
47
+
48
+ describe '.view' do
49
+ let(:subject) { described_class.view }
50
+
51
+ it { subject.must_be_instance_of(String) }
52
+ end
53
+ end
54
+ end
@@ -18,8 +18,8 @@ module Vedeu
18
18
  CommandRepository.reset
19
19
  end
20
20
 
21
- describe '.find_by_input' do
22
- let(:subject) { described_class.find_by_input(input) }
21
+ describe '.by_keypress' do
22
+ let(:subject) { described_class.by_keypress(input) }
23
23
 
24
24
  context 'when the command was found by keypress' do
25
25
  let(:input) { 'b' }
@@ -32,6 +32,10 @@ module Vedeu
32
32
 
33
33
  it { subject.keypress.must_equal('b') }
34
34
  end
35
+ end
36
+
37
+ describe '.by_keyword' do
38
+ let(:subject) { described_class.by_keyword(input) }
35
39
 
36
40
  context 'when the command was found by keyword' do
37
41
  let(:input) { 'apple' }
@@ -1,10 +1,6 @@
1
1
  require_relative '../../../test_helper'
2
2
 
3
3
  module Vedeu
4
- class DummyCommand
5
- def self.dispatch; end
6
- end
7
-
8
4
  describe Command do
9
5
  let(:described_class) { Command }
10
6
  let(:described_instance) { described_class.new(attributes) }
@@ -19,21 +15,15 @@ module Vedeu
19
15
  end
20
16
 
21
17
  describe '#execute' do
22
- let(:subject) { described_class.execute(args) }
23
-
24
- it { skip }
18
+ let(:subject) { described_instance.execute(args) }
25
19
  end
26
20
 
27
21
  describe '#executable' do
28
22
  let(:subject) { described_instance.executable }
29
-
30
- it { skip }
31
23
  end
32
24
 
33
25
  describe '#execute' do
34
26
  let(:subject) { described_instance.execute }
35
-
36
- it { skip }
37
27
  end
38
28
  end
39
29
  end
@@ -0,0 +1,21 @@
1
+ require_relative '../../../test_helper'
2
+
3
+ module Vedeu
4
+ describe DummyCommand do
5
+ let(:described_class) { DummyCommand }
6
+ let(:subject) { described_class.dispatch(command) }
7
+ let(:command) {}
8
+
9
+ it { subject.must_be_instance_of(Symbol) }
10
+
11
+ context 'when the value exists' do
12
+ let(:command) { :test_command }
13
+
14
+ it { subject.must_equal(:test_command) }
15
+ end
16
+
17
+ context 'when the value does not exist' do
18
+ it { subject.must_equal(:dummy) }
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,7 @@
1
+ require_relative '../../../test_helper'
2
+
3
+ module Vedeu
4
+ describe DummyInterface do
5
+ let(:described_class) { DummyInterface }
6
+ end
7
+ end
@@ -44,24 +44,6 @@ module Vedeu
44
44
  it { subject.must_be_instance_of(Array) }
45
45
  end
46
46
 
47
- describe '.input' do
48
- let(:subject) { described_class.input }
49
-
50
- it { subject.must_be_instance_of(Array) }
51
- end
52
-
53
- describe '.output' do
54
- let(:subject) { described_class.output }
55
-
56
- it { subject.must_be_instance_of(Array) }
57
- end
58
-
59
- describe '.update' do
60
- let(:subject) { described_class.update }
61
-
62
- it { skip }
63
- end
64
-
65
47
  describe '.klass' do
66
48
  let(:subject) { described_class.klass }
67
49
 
@@ -24,42 +24,7 @@ module Vedeu
24
24
  describe '#initial_state' do
25
25
  let(:subject) { described_instance.initial_state }
26
26
 
27
- # it { proc { subject }.must_raise(NotImplementedError) }
28
-
29
27
  it { subject.must_be_instance_of(NilClass) }
30
28
  end
31
-
32
- describe '#origin' do
33
- it { skip }
34
- end
35
-
36
- describe '#initial_state' do
37
- it { skip }
38
- end
39
-
40
- describe '#input' do
41
- let(:subject) { described_instance.input }
42
-
43
- context 'when the command evaluates to :stop' do
44
- let(:result) { :stop }
45
-
46
- it { proc { subject }.must_raise(Collapse) }
47
- end
48
-
49
- context 'when the command evaluates to anything else' do
50
- let(:result) { :something_else }
51
-
52
- it { subject.must_be_instance_of(NilClass) }
53
- end
54
- end
55
-
56
- describe '#output' do
57
- let(:subject) { described_instance.output }
58
- let(:command) { mock }
59
-
60
- it 'sends the output of the command to the compositor' do
61
- subject.must_be_instance_of(NilClass)
62
- end
63
- end
64
29
  end
65
30
  end
@@ -81,8 +81,6 @@ module Vedeu
81
81
  let(:subject) { described_class.reset }
82
82
 
83
83
  it { subject.must_be_instance_of(Array) }
84
-
85
- # it { subject.must_be_empty }
86
84
  end
87
85
  end
88
86
  end
@@ -11,40 +11,28 @@ module Vedeu
11
11
 
12
12
  describe '#create' do
13
13
  let(:subject) { described_class.new.create(record) }
14
-
15
- it { skip }
16
14
  end
17
15
 
18
16
  describe '#delete' do
19
17
  let(:subject) { described_class.new.delete(record) }
20
-
21
- it { skip }
22
18
  end
23
19
 
24
20
  describe '#reset' do
25
21
  let(:subject) { described_class.new.reset(klass) }
26
-
27
- it { skip }
28
22
  end
29
23
 
30
24
  describe '#find' do
31
25
  let(:subject) { described_class.new.find(klass, id) }
32
-
33
- it { skip }
34
26
  end
35
27
 
36
28
  describe '#all' do
37
29
  let(:subject) { described_class.new.all(klass) }
38
-
39
- it { skip }
40
30
  end
41
31
 
42
32
  describe '#query' do
43
33
  let(:subject) { described_class.new.query(klass, attribute, value) }
44
34
  let(:attribute) {}
45
35
  let(:value) {}
46
-
47
- it { skip }
48
36
  end
49
37
  end
50
38
  end
@@ -61,32 +61,22 @@ module Vedeu
61
61
 
62
62
  describe '.open' do
63
63
  let(:subject) { described_class.open }
64
-
65
- it { skip }
66
64
  end
67
65
 
68
66
  describe '.close' do
69
67
  let(:subject) { described_class.close }
70
-
71
- it { skip }
72
68
  end
73
69
 
74
70
  describe '.cooked' do
75
71
  let(:subject) { described_class.cooked }
76
-
77
- it { skip }
78
72
  end
79
73
 
80
74
  describe '.raw' do
81
75
  let(:subject) { described_class.raw }
82
-
83
- it { skip }
84
76
  end
85
77
 
86
78
  describe '.console' do
87
79
  let(:subject) { described_class.console }
88
-
89
- it { skip }
90
80
  end
91
81
 
92
82
  describe '.clear_screen' do
data/test/test_helper.rb CHANGED
@@ -17,12 +17,6 @@ module MiniTest
17
17
  end
18
18
  end
19
19
 
20
- class DummyCommand
21
- def self.dispatch
22
- :stop
23
- end
24
- end
25
-
26
20
  Minitest.after_run do
27
21
  print [27.chr, '[', '?25h'].join # show cursor
28
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vedeu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Laking
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-11 00:00:00.000000000 Z
11
+ date: 2014-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aruba
@@ -217,6 +217,9 @@ files:
217
217
  - lib/vedeu/process/event_loop.rb
218
218
  - lib/vedeu/process/exit.rb
219
219
  - lib/vedeu/process/input.rb
220
+ - lib/vedeu/process/output.rb
221
+ - lib/vedeu/process/process.rb
222
+ - lib/vedeu/process/queue.rb
220
223
  - lib/vedeu/repository/command.rb
221
224
  - lib/vedeu/repository/command_repository.rb
222
225
  - lib/vedeu/repository/dummy_command.rb
@@ -228,6 +231,7 @@ files:
228
231
  - lib/vedeu/support/terminal.rb
229
232
  - lib/vedeu/version.rb
230
233
  - test/lib/vedeu/application_test.rb
234
+ - test/lib/vedeu/launcher_test.rb
231
235
  - test/lib/vedeu/output/background_test.rb
232
236
  - test/lib/vedeu/output/base_test.rb
233
237
  - test/lib/vedeu/output/colour_test.rb
@@ -244,8 +248,13 @@ files:
244
248
  - test/lib/vedeu/process/event_loop_test.rb
245
249
  - test/lib/vedeu/process/exit_test.rb
246
250
  - test/lib/vedeu/process/input_test.rb
251
+ - test/lib/vedeu/process/output_test.rb
252
+ - test/lib/vedeu/process/process_test.rb
253
+ - test/lib/vedeu/process/queue_test.rb
247
254
  - test/lib/vedeu/repository/command_repository_test.rb
248
255
  - test/lib/vedeu/repository/command_test.rb
256
+ - test/lib/vedeu/repository/dummy_command_test.rb
257
+ - test/lib/vedeu/repository/dummy_interface_test.rb
249
258
  - test/lib/vedeu/repository/interface_repository_test.rb
250
259
  - test/lib/vedeu/repository/interface_test.rb
251
260
  - test/lib/vedeu/repository/repository_test.rb
@@ -283,6 +292,7 @@ test_files:
283
292
  - features/step_definitions/vedeu_steps.rb
284
293
  - features/support/env.rb
285
294
  - test/lib/vedeu/application_test.rb
295
+ - test/lib/vedeu/launcher_test.rb
286
296
  - test/lib/vedeu/output/background_test.rb
287
297
  - test/lib/vedeu/output/base_test.rb
288
298
  - test/lib/vedeu/output/colour_test.rb
@@ -299,8 +309,13 @@ test_files:
299
309
  - test/lib/vedeu/process/event_loop_test.rb
300
310
  - test/lib/vedeu/process/exit_test.rb
301
311
  - test/lib/vedeu/process/input_test.rb
312
+ - test/lib/vedeu/process/output_test.rb
313
+ - test/lib/vedeu/process/process_test.rb
314
+ - test/lib/vedeu/process/queue_test.rb
302
315
  - test/lib/vedeu/repository/command_repository_test.rb
303
316
  - test/lib/vedeu/repository/command_test.rb
317
+ - test/lib/vedeu/repository/dummy_command_test.rb
318
+ - test/lib/vedeu/repository/dummy_interface_test.rb
304
319
  - test/lib/vedeu/repository/interface_repository_test.rb
305
320
  - test/lib/vedeu/repository/interface_test.rb
306
321
  - test/lib/vedeu/repository/repository_test.rb