     leftWord = rte.getWord 0
     rightWord = rte.getWord 2
 
-    sel2.should.have.deep.property 'left', leftWord
-    sel2.should.have.deep.property 'leftPos', 0
-    sel2.should.have.deep.property 'right', rightWord
-    sel2.should.have.deep.property 'rightPos', 1
+    sel0.should.have.deep.property 'left', leftWord
+    sel0.should.have.deep.property 'leftPos', 0
+    sel0.should.have.deep.property 'right', rightWord
+    sel0.should.have.deep.property 'rightPos', 1
+
+  it 'merge correctly the selections [merge] 2/2', ->
+    rte = new Rte "Zero One two three four five"
+    sel0 = new Selection 0, 1, rte, {foo: "bar"}
+    sel2 = new Selection 1, 10, rte, {foo: "bar"}
+
+    sel2.merge sel0, rte
+    rte._rte.selections.length.should.equal 1
+    rte._rte.selections.indexOf(sel0).should.equal -1
+
+    leftWord = rte.getWord 0
+    rightWord = rte.getWord 2
 
   it 'split correcly two selections [split]', ->
     rte = new Rte "Zero one two three"

    sel0.isValid().should.be.false
    sel1.isValid().should.be.true

  it 'merge correctly the selections [merge]', ->
    rte = new Rte "Zero One two three four five"
    sel0 = new Selection 0, 1, rte, {foo: "bar"}
    sel1 = new Selection 0, 1, rte, {mergeMe: "I'm famous"}
    sel2 = new Selection 1, 10, rte, {foo: "bar"}


    sel0.merge sel0, sel1 # sel and sel1 not merging!
    rte._rte.selections.length.should.equal 3


    rte1.val().should.equal "Two inserted words"
    rte1._rte.words.length.should.equal 3

   it 'accept deltas (insert) [delta]', ->
    delta = { ops:[
      { insert: 'Gandalf', attributes: { bold: true } },
