From 1bf63074807984adb173dab2ff4106885fe99a78 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki & Nathan Sobo Date: Tue, 23 Jul 2013 16:41:38 -0700 Subject: [PATCH] Display selections from all replicas --- spec/app/editor-replication-spec.coffee | 34 +++++++++++++++++++++++++ src/app/edit-session.coffee | 3 +++ src/app/editor.coffee | 2 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 spec/app/editor-replication-spec.coffee diff --git a/spec/app/editor-replication-spec.coffee b/spec/app/editor-replication-spec.coffee new file mode 100644 index 000000000..c24bda522 --- /dev/null +++ b/spec/app/editor-replication-spec.coffee @@ -0,0 +1,34 @@ +{Site} = require 'telepath' +Editor = require 'editor' +Environment = require 'environment' + +describe "Editor replication", -> + [env1, env2, editSession1, editSession2, editor1, editor2] = [] + + beforeEach -> + env1 = new Environment(siteId: 1) + env2 = env1.clone(siteId: 2) + envConnection = env1.connect(env2) + doc2 = null + + env1.run -> + editSession1 = project.open('sample.js') + editSession1.setSelectedBufferRange([[1, 2], [3, 4]]) + doc1 = editSession1.getState() + doc2 = doc1.clone(env2.site) + envConnection.connect(doc1, doc2) + editor1 = new Editor(editSession1) + editor1.attachToDom() + + env2.run -> + editSession2 = deserialize(doc2) + editor2 = new Editor(editSession2) + editor2.attachToDom() + + afterEach -> + env1.destroy() + env2.destroy() + + it "displays the selections from all replicas", -> + expect(editor1.getSelectionViews().length).toBe 2 + expect(editor2.getSelectionViews().length).toBe 2 diff --git a/src/app/edit-session.coffee b/src/app/edit-session.coffee index 75dd08168..fd647b0df 100644 --- a/src/app/edit-session.coffee +++ b/src/app/edit-session.coffee @@ -964,6 +964,9 @@ class EditSession else false + getAllSelections: -> + @getSelections().concat(@getRemoteSelections()) + # Gets all the selections. # # Returns an {Array} of {Selection}s. diff --git a/src/app/editor.coffee b/src/app/editor.coffee index 457c0440b..a96fbf37c 100644 --- a/src/app/editor.coffee +++ b/src/app/editor.coffee @@ -1102,7 +1102,7 @@ class Editor extends View @scrollTop(editSessionScrollTop) @scrollLeft(editSessionScrollLeft) @newCursors = @activeEditSession.getCursors() - @newSelections = @activeEditSession.getSelections() + @newSelections = @activeEditSession.getAllSelections() @updateDisplay(suppressAutoScroll: true) requestDisplayUpdate: ->