From 421df693dee1901961a4b780e2ec4ba70a84dcf5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= <jeremy@asynk.ch>
Date: Wed, 9 May 2012 12:03:48 +0200
Subject: specs: increase Room#send_sys_p coverage

---
 spec/evendoors_spec.rb | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/spec/evendoors_spec.rb b/spec/evendoors_spec.rb
index 2f5eb70..9785587 100644
--- a/spec/evendoors_spec.rb
+++ b/spec/evendoors_spec.rb
@@ -664,5 +664,41 @@ describe EvenDoors do
             p1.should be p
         end
         #
+        it "system route error: system no destination" do
+            room0 = EvenDoors::Room.new 'room0', nil
+            p = EvenDoors::Twirl.require_p EvenDoors::Particle
+            room0.send_sys_p p
+            p.action.should eql EvenDoors::ACT_ERROR
+            p[EvenDoors::ERROR_FIELD].should eql EvenDoors::ERROR_ROUTE_SND
+        end
+        #
+        it "system route error: system no door no action" do
+            room0 = EvenDoors::Room.new 'room0', nil
+            p = EvenDoors::Twirl.require_p EvenDoors::Particle
+            p.add_dsts ' '
+            room0.send_sys_p p
+            p.action.should eql EvenDoors::ACT_ERROR
+            p[EvenDoors::ERROR_FIELD].should eql EvenDoors::ERROR_ROUTE_SNDNA
+        end
+        #
+        it "system routing success: action only" do
+            room0 = EvenDoors::Room.new 'room0', nil
+            p = EvenDoors::Twirl.require_p EvenDoors::Particle
+            p.set_dst! EvenDoors::SYS_ACT_ADD_LINK
+            room0.send_sys_p p
+            p.action.should eql EvenDoors::SYS_ACT_ADD_LINK
+            p.dst.should be room0.space
+        end
+        #
+        it "system routing success" do
+            room0 = EvenDoors::Room.new 'room0', nil
+            door0 = EvenDoors::Door.new 'door0', room0
+            p = EvenDoors::Twirl.require_p EvenDoors::Particle
+            p.set_dst! EvenDoors::SYS_ACT_ADD_LINK, 'room0/door0'
+            room0.send_sys_p p
+            p.action.should eql EvenDoors::SYS_ACT_ADD_LINK
+            p.dst.should be door0
+        end
+        #
     end
 end
-- 
cgit v1.1-2-g2b99