diff --git a/spec/pane-spec.coffee b/spec/pane-spec.coffee index 5aa3c39e9..c7a5333eb 100644 --- a/spec/pane-spec.coffee +++ b/spec/pane-spec.coffee @@ -28,6 +28,29 @@ describe "Pane", -> expect(pane.items.length).toBe 2 expect(pane.activeItem).toBe pane.items[0] + describe "::addItem(item, index)", -> + it "adds the item at the given index", -> + pane = new Pane(items: [new Item("A"), new Item("B")]) + [item1, item2] = pane.items + item3 = new Item("C") + pane.addItem(item3, 1) + expect(pane.items).toEqual [item1, item3, item2] + + it "adds the item after the active item ", -> + pane = new Pane(items: [new Item("A"), new Item("B"), new Item("C")]) + [item1, item2, item3] = pane.items + pane.activateItem(item2) + item4 = new Item("D") + pane.addItem(item4) + console.log pane.items + expect(pane.items).toEqual [item1, item2, item4, item3] + + it "sets the active item if it is undefined", -> + pane = new Pane + item = new Item("A") + pane.addItem(item) + expect(pane.activeItem).toBe item + describe "::activateItem(item)", -> pane = null diff --git a/src/pane.coffee b/src/pane.coffee index fc9361b31..b874caaed 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -132,6 +132,7 @@ class Pane extends Model return if item in @items @items.splice(index, 0, item) + @activeItem ?= item @emit 'item-added', item, index item