diff options
Diffstat (limited to 'vaadin-grid/test/grid-editor-handler.html')
-rw-r--r-- | vaadin-grid/test/grid-editor-handler.html | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/vaadin-grid/test/grid-editor-handler.html b/vaadin-grid/test/grid-editor-handler.html deleted file mode 100644 index 20c6e66..0000000 --- a/vaadin-grid/test/grid-editor-handler.html +++ /dev/null @@ -1,202 +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('using editor handler', function() { - var editorHandler; - - beforeEach(function() { - grid.columns = [{name: 'Name'}, {name: 'Value'}]; - grid.editor.cancel(); - - editorHandler = { - getCellEditor: function(columnObject) { - var input = document.createElement("input"); - return input; - }, - bind: function(req) { - for (var i = 0; i < req.grid.columns.length; i++) { - var col = req.grid.columns[i]; - if (!col.readOnly) { - var el = req.getCellEditor(col); - el.value = req.dataItem[i]; - } - } - req.success(); - }, - save: function(req) { - var failingColumns = []; - for (var i = 0; i < req.grid.columns.length; i++) { - var col = req.grid.columns[i]; - var el = req.getCellEditor(col); - if (el.value == "fail") { - failingColumns.push(col); - } - } - if (failingColumns.length > 0) { - req.failure("Save failed", failingColumns); - } else { - req.success(); - } - } - }; - - grid.editor.handler = editorHandler; - - return grid; - }); - - it('editor: enabled', function() { - grid.columns[0].name = "name"; - grid.columns[1].name = "value"; - grid.editor.handler = editorHandler; - expect(grid.editor.editRow.bind(grid.editor, 0)).to.throw("editor is not enabled"); - grid.editor.enabled = true; - grid.editor.editRow(0); - - assert.isTrue(gridContainsText(grid, "v-grid-editor")); - }); - - it('editor: saveButtonText and cancelButtonText', function() { - grid.columns[0].name = "name"; - grid.columns[1].name = "value"; - grid.editor.handler = editorHandler; - grid.editor.enabled = true; - grid.editor.editRow(0); - grid.editor.saveButtonText = "saveButtonTextFoo"; - grid.editor.cancelButtonText = "cancelButtonTextFoo"; - - assert.isTrue(gridContainsText(grid, "saveButtonTextFoo")); - assert.isTrue(gridContainsText(grid, "cancelButtonTextFoo")); - }); - - it('editor: editrow', function() { - grid.columns[0].name = "name"; - grid.columns[1].name = "value"; - grid.editor.handler = editorHandler; - grid.editor.enabled = true; - - grid.editor.editRow(0); - assert.equal(qLocal(".v-grid-editor input").value, "Grid"); - grid.editor.cancel(); - assert.isFalse(gridContainsText(grid, "v-grid-editor")); - grid.editor.editRow(1); - assert.equal(qLocal(".v-grid-editor input").value, "VaadinX"); - grid.editor.save(); - assert.isFalse(gridContainsText(grid, "v-grid-editor")); - - expect(grid.editor.editRow.bind(grid.editor, 10)).to.throw("Row index"); - }); - - it('editor: failure', function() { - grid.columns[0].name = "name"; - grid.columns[1].name = "value"; - grid.editor.handler = editorHandler; - grid.editor.enabled = true; - - grid.editor.editRow(0); - var fields = qaLocal(".v-grid-editor input"); - fields[0].value = "fail"; - grid.editor.save(); - - assert.isTrue(gridContainsText(grid, "Save failed")); - var cells = qaLocal(".v-grid-editor-cells > div"); - assert.isTrue(cells[0].classList.contains("error")); - assert.isFalse(cells[1].classList.contains("error")); - - }); - - it('editor: return null cell editor', function() { - grid.columns[0].name = "name"; - grid.columns[1].name = "value"; - grid.editor.handler = { - getCellEditor: function(columnObject) { - return columnObject === grid.columns[0] ? null : undefined; - }, - bind: function(req) { - req.success(); - } - }; - grid.editor.enabled = true; - - grid.editor.editRow(0); - var cells = qaLocal(".v-grid-editor .v-grid-editor-cells > div"); - assert.lengthOf(cells, 2); - - var editors = qaLocal(".v-grid-editor .v-grid-editor-cells > div *"); - assert.lengthOf(editors, 0); - }); - - it('editor: element instance after save', function() { - grid.editor.enabled = true; - grid.editor.handler = editorHandler; - - var editor1, editor2; - editorHandler.save = function(req) { - if (!editor1) { - editor1 = req.getCellEditor(grid.columns[0]); - req.failure(); - } else { - editor2 = req.getCellEditor(grid.columns[0]); - req.success(); - } - }; - grid.editor.editRow(0); - - //Save fails - grid.editor.save(); - //Save succeeds - grid.editor.save(); - - assert.equal(editor1, editor2); - }); - - // fails because of replacing columns doesn't render row contents, - // see https://trello.com/c/8e27Tv3q/58-v-grid-bugs - it.skip('editor: default editor', function() { - grid.editor.enabled = true; - grid.editor.editRow(0); - - return grid.then(function() { - assert.equal("Grid", grid.querySelector('tbody tr td').textContent); - assert.equal("Grid", grid.querySelector('input').value); - - grid.querySelector('input').value = "Foo"; - grid.editor.save(); - }); - - }); - - it('editor: getCellEditor and read-only columns', function() { - grid.columns[0].readOnly = true; - - sinon.spy(editorHandler, "getCellEditor"); - - grid.editor.handler = editorHandler; - grid.editor.enabled = true; - grid.editor.editRow(0); - - assert.isTrue(editorHandler.getCellEditor.calledOnce); - - editorHandler.getCellEditor.restore(); - }); - }); -</script> - -</body> -</html> |