From 4b0d22917b60a4ef0fdb3939ca6acb3ee488092c Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 10 Jan 2014 12:12:44 -0700 Subject: [PATCH] Trust CSS to perform layout now that we've switched to flexbox The behavior of flexbox is actually slightly different in that it divides space evenly among the immediate children of a row or column rather than accounting for all splits. But it's actually not that big a deal. --- spec/pane-spec.coffee | 69 ------------------------------------------- 1 file changed, 69 deletions(-) diff --git a/spec/pane-spec.coffee b/spec/pane-spec.coffee index 00364ac77..d032ce92c 100644 --- a/spec/pane-spec.coffee +++ b/spec/pane-spec.coffee @@ -601,75 +601,6 @@ describe "Pane", -> expect(pane3.getItems()).toEqual [view3, view4] expect(container.find('.pane-column .pane').toArray()).toEqual [pane3[0], pane2[0], pane[0]] - it "lays out nested panes by equally dividing their containing row / column", -> - container.width(520).height(240).attachToDom() - pane1.showItem($("1")) - pane1 - .splitLeft($("2")) - .splitUp($("3")) - .splitLeft($("4")) - .splitDown($("5")) - - row1 = container.children(':eq(0)') - expect(row1.children().length).toBe 2 - column1 = row1.children(':eq(0)').view() - pane1 = row1.children(':eq(1)').view() - expect(column1.outerWidth()).toBe Math.round(2/3 * container.width()) - expect(column1.outerHeight()).toBe container.height() - expect(pane1.outerWidth()).toBe Math.round(1/3 * container.width()) - expect(pane1.outerHeight()).toBe container.height() - expect(Math.round(pane1.position().left)).toBe column1.outerWidth() - - expect(column1.children().length).toBe 2 - row2 = column1.children(':eq(0)').view() - pane2 = column1.children(':eq(1)').view() - expect(row2.outerWidth()).toBe column1.outerWidth() - expect(row2.height()).toBe 2/3 * container.height() - expect(pane2.outerWidth()).toBe column1.outerWidth() - expect(pane2.outerHeight()).toBe 1/3 * container.height() - expect(Math.round(pane2.position().top)).toBe row2.height() - - expect(row2.children().length).toBe 2 - column3 = row2.children(':eq(0)').view() - pane3 = row2.children(':eq(1)').view() - expect(column3.outerWidth()).toBe Math.round(1/3 * container.width()) - expect(column3.outerHeight()).toBe row2.outerHeight() - # the built in rounding seems to be rounding x.5 down, but we need to go up. this sucks. - expect(Math.round(pane3.trueWidth())).toBe Math.round(1/3 * container.width()) - expect(pane3.height()).toBe row2.outerHeight() - expect(Math.round(pane3.position().left)).toBe column3.width() - - expect(column3.children().length).toBe 2 - pane4 = column3.children(':eq(0)').view() - pane5 = column3.children(':eq(1)').view() - expect(pane4.outerWidth()).toBe column3.width() - expect(pane4.outerHeight()).toBe 1/3 * container.height() - expect(pane5.outerWidth()).toBe column3.width() - expect(Math.round(pane5.position().top)).toBe pane4.outerHeight() - expect(pane5.outerHeight()).toBe 1/3 * container.height() - - pane5.remove() - expect(column3.parent()).not.toExist() - expect(pane2.outerHeight()).toBe Math.floor(1/2 * container.height()) - expect(pane3.outerHeight()).toBe Math.floor(1/2 * container.height()) - expect(pane4.outerHeight()).toBe Math.floor(1/2 * container.height()) - - pane4.remove() - expect(row2.parent()).not.toExist() - expect(pane1.outerWidth()).toBe Math.floor(1/2 * container.width()) - expect(pane2.outerWidth()).toBe Math.floor(1/2 * container.width()) - expect(pane3.outerWidth()).toBe Math.floor(1/2 * container.width()) - - pane3.remove() - expect(column1.parent()).not.toExist() - expect(pane2.outerHeight()).toBe container.height() - - pane2.remove() - expect(row1.parent()).not.toExist() - expect(container.children().length).toBe 1 - expect(container.children('.pane').length).toBe 1 - expect(pane1.outerWidth()).toBe container.width() - describe "::itemForUri(uri)", -> it "returns the item for which a call to .getUri() returns the given uri", -> expect(pane.itemForUri(editor1.getUri())).toBe editor1