     output.sendDone
       out: "1#{first}:2#{second}:#{c.nodeId}"
 
+# Merge with an addressable port
+processMergeA = ->
+  c = new noflo.Component
+  c.inPorts.add 'in1',
+    datatype: 'string'
+  c.inPorts.add 'in2',
+    datatype: 'string'
+    addressable: true
+  c.outPorts.add 'out',
+    datatype: 'string'
+
+  c.forwardBrackets =
+    'in1': ['out']
+
+  c.process (input, output) ->
+    return unless input.hasData 'in1', ['in2', 0], ['in2', 1]
+    first = input.getData 'in1'
+    second0 = input.getData ['in2', 0]
+    second1 = input.getData ['in2', 1]
+
+    output.sendDone
+      out: "1#{first}:2#{second0}:2#{second1}:#{c.nodeId}"
+
 describe 'Scope isolation', ->
   loader = null
   before (done) ->

      in1.post new noflo.IP 'openBracket', 1, scope: 'x'
      in1.post new noflo.IP 'data', 'one', scope: 'x'
      in1.post new noflo.IP 'closeBracket', 1, scope: 'x'

      loader.registerComponent 'wirepattern', 'Merge', wirePatternMerge
      loader.registerComponent 'process', 'Async', processAsync
      loader.registerComponent 'process', 'Merge', processMerge
      loader.registerComponent 'process', 'MergeA', processMergeA
      done()

  describe 'with WirePattern sending to Process API', ->
