         'PcMerge() OUT -> IN Wp() > a'
         'Leg1() OUT -> IN1 PcMerge() > 1'
         'PcMerge() OUT -> IN Wp() > 1'
+        'PcMerge() OUT -> IN Wp() DISC'
+        'Leg1() OUT -> IN1 PcMerge() DISC'
+        'Wp() OUT -> IN Leg3() CONN'
         'Wp() OUT -> IN Leg3() < 1'
         'Wp() OUT -> IN Leg3() < a'
         'Wp() OUT -> IN Leg3() DATA 1bazLeg1:2fooLeg2:PcMergeWp'
         'Wp() OUT -> IN Leg3() > a'
         'Wp() OUT -> IN Leg3() > 1'
-      ]
-      received = []
-
-      wasStarted = false
-      checkStart = ->
-        chai.expect(wasStarted).to.equal false
-        wasStarted = true
+        'Wp() OUT -> IN Leg3() DISC'
+        'END'
+      ]
+      received = []
+
+      wasStarted = false
+      checkStart = ->
+        received.push 'START'
+      receiveConnect = (event) ->
+        received.push "#{event.id} CONN"
       receiveEvent = (event) ->
         prefix = ''
         switch event.type


    it 'should forward new-style brackets as expected', (done) ->
      expected = [
        'Leg2() OUT -> IN2 PcMerge() DATA fooLeg2'
        'Leg1() OUT -> IN1 PcMerge() < 1'
        'Leg1() OUT -> IN1 PcMerge() < a'
        'Leg1() OUT -> IN1 PcMerge() DATA bazLeg1'
        'PcMerge() OUT -> IN Wp() < 1'
        'PcMerge() OUT -> IN Wp() < a'
        'PcMerge() OUT -> IN Wp() DATA 1bazLeg1:2fooLeg2:PcMerge'

            prefix = '>'
            data = "#{prefix} #{event.data}"
        received.push "#{event.id} #{data}"
      receiveDisconnect = (event) ->
        received.push "#{event.id} DISC"
      checkEnd = ->
        received.push 'END'
        c.network.graph.removeInitial 'foo', 'Leg2', 'in'
        c.network.removeListener 'start', checkStart
        c.network.removeListener 'connect', receiveConnect
        c.network.removeListener 'ip', receiveEvent
        c.network.removeListener 'disconnect', receiveDisconnect
        c.network.removeListener 'end', checkEnd
        chai.expect(received).to.eql expected
        done()
      c.network.on 'start', checkStart
      c.network.on 'connect', receiveConnect
      c.network.on 'ip', receiveEvent
      c.network.on 'disconnect', receiveDisconnect
      c.network.once 'end', checkEnd

      c.network.graph.addInitial 'foo', 'Leg2', 'in'
      c.start (err) ->
        return done err if err
        in1.connect()
        in1.beginGroup 1
        in1.beginGroup 'a'
