diff options
Diffstat (limited to 'vaadin-grid/test/grid-editing-columns.html')
-rw-r--r-- | vaadin-grid/test/grid-editing-columns.html | 412 |
1 files changed, 0 insertions, 412 deletions
diff --git a/vaadin-grid/test/grid-editing-columns.html b/vaadin-grid/test/grid-editing-columns.html deleted file mode 100644 index 105aa3e..0000000 --- a/vaadin-grid/test/grid-editing-columns.html +++ /dev/null @@ -1,412 +0,0 @@ -<!DOCTYPE html> -<html> - -<head lang="en"> - <meta charset="UTF-8"> - <title></title> - <script src="../../webcomponentsjs/webcomponents-lite.min.js"></script> - <script src="../../web-component-tester/browser.js"></script> - - <script src="common.js"></script> - - <link rel="import" href="../vaadin-grid.html"> -</head> - -<body> - -<div id="gridwrapper"></div> - -<script> - describe.feature('editing columns', function() { - - function getFirstCell() { - return qLocal('.v-grid-body .v-grid-cell'); - } - - beforeEach(function() { - return grid.then(function() { - - grid.selection.mode = 'single'; - grid.frozenColumns = 0; - grid.columns = [{name: 'Name', headerContent: 'Name'}, {name: 'Value', headerContent: 'Value'}]; - grid.data.source = [['Grid', '10000'], ['VaadinX', '1000']]; - - return grid; - }); - }); - - it('add new column', function() { - grid.addColumn({ - name: "foo", - headerContent: "<b>Foo</b>", - sortable: true, - minWidth: 100, - maxWidth: 200, - width: 150, - flex: 1, - }); - - var c = grid.columns[grid.columns.length - 1]; - assert.equal(c.name, "foo"); - assert.equal(c.headerContent, "<b>Foo</b>"); - assert.equal(c.sortable, true); - assert.notOk(c.editable); - assert.equal(c.minWidth, 100); - assert.equal(c.maxWidth, 200); - assert.equal(c.width, 150); - assert.equal(c.flex, 1); - }); - - it('add new column before', function(done) { - - expect(grid.addColumn.bind(grid, { - name: "foo" - }, -1)).to.throw("Column not found."); - - expect(grid.addColumn.bind(grid, { - name: "foo" - }, 100)).to.throw("Column not found."); - - grid.addColumn({ - name: "foo", - headerContent: "foo" - }, 0); - grid.addColumn({ - name: "bar", - headerContent: "testHtml" - }, "foo"); - - waitUntil(function() { - return gridContainsText(grid, "testHtml"); - }, function() { - var headers = qaLocal(".v-grid-header .v-grid-row th"); - assert.equal(headers[0].innerHTML, "testHtml"); - assert.equal(headers[1].innerHTML, "foo"); - - expect(grid.addColumn.bind(grid, { - name: "baz" - }, "foobar")).to.throw("Column not found."); - done(); - }, done); - - }); - - it('edit new column', function(done) { - var c = { - name: "foo", - headerContent: "testHtml" - }; - grid.addColumn(c); - - waitUntil(function() { - return gridContainsText(grid, "testHtml"); - }, function() { - - var headers = qaLocal(".v-grid-header .v-grid-row th"); - assert.equal(headers[grid.columns.length - 1].innerHTML, "testHtml"); - - c.headerContent = "testHtml2"; - - waitUntil(function() { - return gridContainsText(grid, "testHtml2"); - }, function() { - assert.equal(headers[grid.columns.length - 1].innerHTML, "testHtml2"); - done(); - }, done); - - }, done); - - }); - - it('edit existing column', function(done) { - grid.columns[0].headerContent = "testHtml"; - waitUntil(function() { - return gridContainsText(grid, "testHtml"); - }, function() { - var headers = qaLocal(".v-grid-header .v-grid-row th"); - assert.equal(headers[0].innerHTML, "testHtml"); - done(); - }); - }); - - it('generated value', function(done) { - grid.addColumn({ - valueGenerator: function(dataItem) { - return "foo " + dataItem[0]; - } - }); - - waitUntil(function() { - return gridContainsText(grid, "foo Grid"); - }, done, done); - }); - - it('setting valueGenerator shouldnt fire select', function() { - var selectListener = sinon.spy(); - grid.addEventListener('select', selectListener); - - grid.selection.mode = "multi"; - grid.columns[0].valueGenerator = function() { return 1; }; - expect(selectListener.notCalled).to.be.true; - }); - - it('should not update the generated value', function(done) { - grid.columns[0].valueGenerator = function(dataItem) { - return Math.random(); - }; - - grid.then(function() { - var generatedValue = getFirstCell().innerText; - grid.selection.select(0); - expect(generatedValue).to.eql(getFirstCell().innerText); - done(); - }); - - }); - - it('renderer property', function(done) { - grid.columns[0].renderer = function(cell) { - cell.element.innerHTML = "<b>" + cell.data + "</b>"; - }; - - waitUntil(function() { - return gridContainsText(grid, "<b>Grid</b>"); - }, done, done); - }); - - it('renderer: cell values on change', function(done) { - var mydata = [ - ["John", "TestFoo"], - ["Jane", "TestBar"], - ]; - - grid.data.source = mydata; - - grid.columns[1].renderer = function(cell) { - cell.element.innerHTML = cell.data; - cell.element.cell = cell; - }; - - waitUntil(function() { - return gridContainsText(grid, "TestFoo"); - }, function() { - var cell = grid.querySelectorAll(".v-grid-body .v-grid-cell")[3].cell; - assert.equal(cell.row.index, 1); - assert.equal(cell.index, 1); - - mydata.splice(0, 1); - mydata[0].splice(0, 1); - grid.data.clearCache(); - - grid.columns.splice(0, 1); - waitUntil(function() { - return !gridContainsText(grid, "TestFoo"); - }, function() { - assert.equal(cell.row.index, 0); - assert.equal(cell.index, 0); - done(); - }, done); - }, done); - - }); - - it('initial property values', function() { - assert.equal(grid.columns[0].headerContent, "Name"); - }); - - describe('modifying columns array directly', function() { - it('should replace header content', function() { - expect(grid.querySelector('th').textContent).to.equal('Name'); - - grid.columns[0].headerContent = 'Foo'; - - return grid.then(function() { - expect(grid.querySelector('th').textContent).to.equal('Foo'); - }); - }); - - // fails because of replacing columns doesn't render row contents, - // see https://trello.com/c/8e27Tv3q/58-v-grid-bugs - it.skip('should render row contents', function() { - expect(grid.querySelectorAll('td').textContent).to.equal('Grid'); - - grid.columns = [{headerContent: 'Foo'}]; - - return grid.then(function() { - expect(grid.querySelectorAll('td').textContent).to.equal('Grid'); - }); - }); - }); - - it('modify columns array', function(done) { - var col = grid.columns[0]; - grid.columns.splice(1, 1); - - waitUntil(function() { - return !gridContainsText(grid, "Progress"); - }, function() { - grid.columns.push({ - headerContent: "testHtml" - }); - waitUntil(function() { - return gridContainsText(grid, "testHtml"); - }, done, done); - }, done); - }); - - it('remove column', function(done) { - grid.addColumn({ - name: "test", - headerContent: "test" - }); - grid.removeColumn(0); - - waitUntil(function() { - return !gridContainsText(grid, "Name") && gridContainsText(grid, "test"); - }, function() { - grid.removeColumn("test"); - waitUntil(function() { - return !gridContainsText(grid, "test"); - }, done, done); - }, done); - }); - - it('add new column to an empty grid', function(done) { - grid.columns = []; - - grid.columns.push({ - name: "foo", - headerContent: "fooheader" - }); - - grid.then(function() { - expect(gridContainsText(grid, 'fooheader')).to.be.true; - done(); - }); - }); - - it('frozen column', function(done) { - grid.frozenColumns = 1; - - waitUntil(function() { - return gridContainsText(grid, "v-grid-cell frozen"); - }, function() { - var headers = qaLocal(".v-grid-header .v-grid-row th"); - assert.isTrue(headers[0].classList.contains("frozen")); - done(); - }, done); - - }); - - it('frozen column declarative', function() { - grid.setAttribute("frozen-columns", "1"); - - return grid.then(function() { - expect(function(){grid.selection.mode = "multi";}).not.to.throw(); - }); - }); - - it('frozen column: unfreeze selection column', function() { - grid.selection.mode = "multi"; - assert.ok(qLocal(".frozen")); - - grid.frozenColumns = -1; - assert.notOk(qLocal(".frozen")); - }); - - it('should add a column to an empty grid with an index', function() { - grid.columns = []; - return grid.then(function() { - grid.addColumn({headerContent: "foo"}, 0); - return grid; - }).then(function() { - expect(qaLocal(".v-grid-header .v-grid-cell")).to.have.length(1); - return grid; - }); - }); - - it('should reference header cell after adding a new column', function() { - grid.addColumn({name: "foo"}); - grid.header.getCell(0, "foo").content = "foo"; - expect(grid.columns[2].headerContent).to.eql("foo"); - }); - - it('should support nested column names', function() { - grid.addColumn({ - name: "foo.bar.baz", - }); - grid.data.source = [{ - foo: { - bar: { - baz: "testing" - } - } - }]; - return grid.then(function() { - expect(gridContainsText(grid, "testing")).to.be.true; - }); - }); - - it('should not return values from name path', function() { - grid.addColumn({ - name: "foo.bar.baz", - }); - grid.data.source = [{ - foo: { - bar: "testing" - } - }]; - return grid.then(function() { - expect(gridContainsText(grid, "testing")).to.be.false; - }); - }); - - it('should allow undefined nested values', function() { - grid.addColumn({ - name: "foo.bar.baz", - }); - grid.data.source = [{ - foo: { - bar: undefined - } - }]; - return grid.then(function() { - expect(qaLocal(".v-grid-body .v-grid-cell")[2].innerHTML).to.be.empty; - }); - }); - - it('should have the right default value if flex attribute exists', function() { - qLight("table col").setAttribute("flex", ""); - return grid.then(function() { - expect(grid.columns[0].flex).to.eql(1); - expect(grid.columns[1].flex).to.eql(-1); - }); - }); - - it('should size columns with width property', function() { - grid.columns[0].width = 100; - return grid.then(function(){ - expect(qLocal(".v-grid-cell").offsetWidth).to.eql(100); - }); - }); - - it('should size columns with minWidth property', function() { - grid.columns[0].width = 100; - grid.columns[0].minWidth = 150; - return grid.then(function(){ - expect(qLocal(".v-grid-cell").offsetWidth).to.eql(150); - }); - }); - - it('should size columns with maxWidth property', function() { - grid.columns[0].maxWidth = 100; - return grid.then(function(){ - expect(qLocal(".v-grid-cell").offsetWidth).to.eql(100); - }); - }); - - }); -</script> - -</body> -</html> |