diff --git a/web/karma.conf.js b/web/karma.conf.js index 3c8e933c..5b0ab57b 100644 --- a/web/karma.conf.js +++ b/web/karma.conf.js @@ -20,7 +20,7 @@ module.exports = function (config) { // list of files to exclude exclude: [ 'pgadmin/static/vendor/**/*[Tt]est.js', - 'pgadmin/static/vendor/**/*[Ss]pec.js' + 'pgadmin/static/vendor/**/*[Ss]pec.js', ], // preprocess matching files before serving them to the browser @@ -60,6 +60,6 @@ module.exports = function (config) { // Concurrency level // how many browser should be started simultaneous - concurrency: Infinity + concurrency: Infinity, }); }; diff --git a/web/package.json b/web/package.json index 40070da0..b5d2e0cb 100644 --- a/web/package.json +++ b/web/package.json @@ -5,6 +5,8 @@ "babel-preset-es2015": "~6.24.0", "babel-preset-react": "~6.23.0", "enzyme": "~2.8.2", + "eslint": "^3.19.0", + "eslint-plugin-react": "^6.10.3", "jasmine-core": "~2.5.2", "karma": "~1.5.0", "karma-babel-preprocessor": "^6.0.1", @@ -34,9 +36,11 @@ "watchify": "~3.9.0" }, "scripts": { - "bundle": "yarn run webpack -- --optimize-minimize --config webpack.config.js", - "test:karma-once": "yarn run karma start -- --single-run", - "test:karma": "yarn run karma start", + "linter": "yarn run eslint pgadmin/static/jsx/**/*.jsx pgadmin/static/js/selection/*.js regression/javascript/**/*.jsx regression/javascript/**/*.js *.js", + "webpacker": "yarn run webpack -- --optimize-minimize --config webpack.config.js", + "bundle": "yarn run linter && yarn run webpacker", + "test:karma-once": "yarn run linter && yarn run karma start -- --single-run", + "test:karma": "yarn run linter && yarn run karma start", "test:feature": "yarn run bundle && python regression/runtests.py --pkg feature_tests", "test": "yarn run test:karma-once && yarn run bundle && python regression/runtests.py" } diff --git a/web/pgadmin/static/js/selection/active_cell_capture.js b/web/pgadmin/static/js/selection/active_cell_capture.js index 10572736..4f87886c 100644 --- a/web/pgadmin/static/js/selection/active_cell_capture.js +++ b/web/pgadmin/static/js/selection/active_cell_capture.js @@ -1,6 +1,6 @@ define([ 'jquery', - 'sources/selection/range_selection_helper' + 'sources/selection/range_selection_helper', ], function ($, RangeSelectionHelper) { var ActiveCellCapture = function () { @@ -37,8 +37,8 @@ define([ }; $.extend(this, { - "init": init, - "destroy": destroy, + 'init': init, + 'destroy': destroy, }); function onDragEndHandler(event, dragData) { @@ -105,7 +105,7 @@ define([ } } - function onActiveCellChangedHandler(event, args) { + function onActiveCellChangedHandler(event) { if (bypassDefaultActiveCellRangeChange) { bypassDefaultActiveCellRangeChange = false; event.stopPropagation(); @@ -188,4 +188,4 @@ define([ }; return ActiveCellCapture; -}); \ No newline at end of file +}); diff --git a/web/pgadmin/static/js/selection/clipboard.js b/web/pgadmin/static/js/selection/clipboard.js index 9e20da7e..9794ae7e 100644 --- a/web/pgadmin/static/js/selection/clipboard.js +++ b/web/pgadmin/static/js/selection/clipboard.js @@ -1,7 +1,7 @@ define(['sources/gettext', 'alertify'], function (gettext, alertify) { var clipboard = { copyTextToClipboard: function (text) { - var textArea = document.createElement("textarea"); + var textArea = document.createElement('textarea'); // // *** This styling is an extra step which is likely not required. *** @@ -55,7 +55,7 @@ define(['sources/gettext', 'alertify'], function (gettext, alertify) { } document.body.removeChild(textArea); - } + }, }; return clipboard; }); \ No newline at end of file diff --git a/web/pgadmin/static/js/selection/column_selector.js b/web/pgadmin/static/js/selection/column_selector.js index 53cdad82..305b438d 100644 --- a/web/pgadmin/static/js/selection/column_selector.js +++ b/web/pgadmin/static/js/selection/column_selector.js @@ -1,7 +1,7 @@ define([ 'jquery', 'sources/selection/range_selection_helper', - 'slickgrid' + 'slickgrid', ], function ($, RangeSelectionHelper) { var ColumnSelector = function () { var Slick = window.Slick; @@ -21,7 +21,7 @@ define([ if (isColumnSelectable(columnDefinition)) { var $columnHeader = $(event.target); if (hasClickedChildOfColumnHeader(event)) { - $columnHeader = $(event.target).parents(".slick-header-column"); + $columnHeader = $(event.target).parents('.slick-header-column'); } $columnHeader.toggleClass('selected'); @@ -63,7 +63,7 @@ define([ }; var hasClickedChildOfColumnHeader = function (event) { - return !$(event.target).hasClass("slick-header-column"); + return !$(event.target).hasClass('slick-header-column'); }; var isColumnSelectable = function (columnDefinition) { @@ -87,16 +87,16 @@ define([ return _.map(columnDefinitions, function (columnDefinition) { if (isColumnSelectable(columnDefinition)) { var name = - "" + - " " + - " " + columnDefinition.display_name + "" + - " " + columnDefinition.column_type + "" + - " " + - ""; + '' + + ' ' + + ' ' + columnDefinition.display_name + '' + + ' ' + columnDefinition.column_type + '' + + ' ' + + ''; return _.extend(columnDefinition, { - name: name + name: name, }); } else { return columnDefinition; @@ -105,8 +105,8 @@ define([ }; $.extend(this, { - "init": init, - "getColumnDefinitions": getColumnDefinitions + 'init': init, + 'getColumnDefinitions': getColumnDefinitions, }); }; return ColumnSelector; diff --git a/web/pgadmin/static/js/selection/copy_data.js b/web/pgadmin/static/js/selection/copy_data.js index ad79d3eb..c2263231 100644 --- a/web/pgadmin/static/js/selection/copy_data.js +++ b/web/pgadmin/static/js/selection/copy_data.js @@ -3,8 +3,8 @@ define([ 'underscore', 'sources/selection/clipboard', 'sources/selection/range_selection_helper', - 'sources/selection/range_boundary_navigator' - ], + 'sources/selection/range_boundary_navigator', +], function ($, _, clipboard, RangeSelectionHelper, rangeBoundaryNavigator) { var copyData = function () { var self = this; @@ -32,20 +32,8 @@ function ($, _, clipboard, RangeSelectionHelper, rangeBoundaryNavigator) { var setPasteRowButtonEnablement = function (canEditFlag, isEnabled) { if (canEditFlag) { - $("#btn-paste-row").prop('disabled', !isEnabled); + $('#btn-paste-row').prop('disabled', !isEnabled); } }; - - var allTheRangesAreFullRows = function (ranges, columnDefinitions) { - var colRangeBounds = ranges.map(function (range) { - return [range.fromCell, range.toCell]; - }); - - if(RangeSelectionHelper.isFirstColumnData(columnDefinitions)) { - return _.isEqual(_.union.apply(null, colRangeBounds), [0, columnDefinitions.length - 1]); - } - return _.isEqual(_.union.apply(null, colRangeBounds), [0, columnDefinitions.length - 1]); - }; - - return copyData -}); \ No newline at end of file + return copyData; +}); diff --git a/web/pgadmin/static/js/selection/grid_selector.js b/web/pgadmin/static/js/selection/grid_selector.js index ae4ab96d..8d7ba75d 100644 --- a/web/pgadmin/static/js/selection/grid_selector.js +++ b/web/pgadmin/static/js/selection/grid_selector.js @@ -1,10 +1,8 @@ define(['jquery', - 'sources/selection/column_selector', - 'sources/selection/row_selector', - 'sources/selection/range_selection_helper'], + 'sources/selection/column_selector', + 'sources/selection/row_selector', + 'sources/selection/range_selection_helper'], function ($, ColumnSelector, RowSelector, RangeSelectionHelper) { - var Slick = window.Slick; - var GridSelector = function (columnDefinitions) { var rowSelector = new RowSelector(columnDefinitions); var columnSelector = new ColumnSelector(columnDefinitions); @@ -39,9 +37,9 @@ define(['jquery', function handleSelectedRangesChanged(grid) { if(RangeSelectionHelper.isEntireGridSelected(grid)) { - $("[data-id='select-all']").addClass("selected"); + $('[data-id=\'select-all\']').addClass('selected'); } else { - $("[data-id='select-all']").removeClass("selected"); + $('[data-id=\'select-all\']').removeClass('selected'); } } @@ -59,8 +57,8 @@ define(['jquery', } $.extend(this, { - "init": init, - "getColumnDefinitions": getColumnDefinitions + 'init': init, + 'getColumnDefinitions': getColumnDefinitions, }); }; diff --git a/web/pgadmin/static/js/selection/range_boundary_navigator.js b/web/pgadmin/static/js/selection/range_boundary_navigator.js index f88a6533..803f75af 100644 --- a/web/pgadmin/static/js/selection/range_boundary_navigator.js +++ b/web/pgadmin/static/js/selection/range_boundary_navigator.js @@ -104,13 +104,13 @@ function (RangeSelectionHelper) { var val = data[rowId][columnDefinitions[colId].pos]; if (val && _.isObject(val)) { - val = "'" + JSON.stringify(val) + "'"; - } else if (val && typeof val != "number" && typeof val != "boolean") { - val = "'" + val.toString() + "'"; + val = '\'' + JSON.stringify(val) + '\''; + } else if (val && typeof val != 'number' && typeof val != 'boolean') { + val = '\'' + val.toString() + '\''; } else if (_.isNull(val) || _.isUndefined(val)) { val = ''; } return val; - } + }, }; }); \ No newline at end of file diff --git a/web/pgadmin/static/js/selection/range_selection_helper.js b/web/pgadmin/static/js/selection/range_selection_helper.js index 936530ff..25cd63c9 100644 --- a/web/pgadmin/static/js/selection/range_selection_helper.js +++ b/web/pgadmin/static/js/selection/range_selection_helper.js @@ -8,19 +8,19 @@ define(['slickgrid'], function () { var isRangeSelected = function (selectedRanges, range) { return _.any(selectedRanges, function (selectedRange) { - return isSameRange(selectedRange, range) + return isSameRange(selectedRange, range); }); }; var isAnyCellOfColumnSelected = function (selectedRanges, column) { return _.any(selectedRanges, function (selectedRange) { - return selectedRange.fromCell <= column && selectedRange.toCell >= column + return selectedRange.fromCell <= column && selectedRange.toCell >= column; }); }; var isAnyCellOfRowSelected = function (selectedRanges, row) { return _.any(selectedRanges, function (selectedRange) { - return selectedRange.fromRow <= row && selectedRange.toRow >= row + return selectedRange.fromRow <= row && selectedRange.toRow >= row; }); }; @@ -33,8 +33,8 @@ define(['slickgrid'], function () { var removeRange = function (selectedRanges, range) { return _.filter(selectedRanges, function (selectedRange) { - return !(isSameRange(selectedRange, range)) - }) + return !(isSameRange(selectedRange, range)); + }); }; var addRange = function (ranges, range) { @@ -45,11 +45,11 @@ define(['slickgrid'], function () { var areAllRangesSingleRows = function (ranges, grid) { return _.every(ranges, function (range) { return range.fromRow == range.toRow && rangeHasCompleteRows(grid, range); - }) + }); }; var areAllRangesSingleColumns = function (ranges, grid) { - return _.every(ranges, isRangeAColumn.bind(this, grid)) + return _.every(ranges, isRangeAColumn.bind(this, grid)); }; var rangeForRow = function (grid, rowId) { @@ -61,7 +61,7 @@ define(['slickgrid'], function () { }; var rangeForColumn = function (grid, columnIndex) { - return new Slick.Range(0, columnIndex, grid.getDataLength() - 1, columnIndex) + return new Slick.Range(0, columnIndex, grid.getDataLength() - 1, columnIndex); }; var getRangeOfWholeGrid = function (grid) { @@ -81,13 +81,13 @@ define(['slickgrid'], function () { var areAllRangesCompleteColumns = function (grid, ranges) { return _.every(ranges, function (range) { return rangeHasCompleteColumns(grid, range); - }) + }); }; var areAllRangesCompleteRows = function (grid, ranges) { return _.every(ranges, function (range) { return rangeHasCompleteRows(grid, range); - }) + }); }; var getIndexesOfCompleteRows = function (grid, ranges) { @@ -158,5 +158,5 @@ define(['slickgrid'], function () { isAnyCellOfColumnSelected: isAnyCellOfColumnSelected, isRangeEntirelyWithinSelectedRanges: isRangeEntirelyWithinSelectedRanges, isAnyCellOfRowSelected: isAnyCellOfRowSelected, - } -}); \ No newline at end of file + }; +}); diff --git a/web/pgadmin/static/js/selection/row_selector.js b/web/pgadmin/static/js/selection/row_selector.js index 33d5a72e..236ed629 100644 --- a/web/pgadmin/static/js/selection/row_selector.js +++ b/web/pgadmin/static/js/selection/row_selector.js @@ -1,7 +1,7 @@ define([ 'jquery', 'sources/selection/range_selection_helper', - 'slickgrid' + 'slickgrid', ], function ($, RangeSelectionHelper) { var RowSelector = function () { var Slick = window.Slick; @@ -19,7 +19,7 @@ define([ if (grid.getColumns()[args.cell].id === 'row-header-column') { var $rowHeaderSpan = $(event.target); - if ($rowHeaderSpan.data('cell-type') != "row-header-selector") { + if ($rowHeaderSpan.data('cell-type') != 'row-header-selector') { $rowHeaderSpan = $(event.target).find('[data-cell-type="row-header-selector"]'); } @@ -82,16 +82,16 @@ define([ formatter: function (rowIndex) { return '' + 'data-cell-type="row-header-selector"/>'; }, - width: 30 + width: 30, }); return columnDefinitions; }; $.extend(this, { - "init": init, - "getColumnDefinitions": getColumnDefinitions + 'init': init, + 'getColumnDefinitions': getColumnDefinitions, }); }; diff --git a/web/pgadmin/static/js/selection/set_staged_rows.js b/web/pgadmin/static/js/selection/set_staged_rows.js index 249a6414..46977e3a 100644 --- a/web/pgadmin/static/js/selection/set_staged_rows.js +++ b/web/pgadmin/static/js/selection/set_staged_rows.js @@ -11,7 +11,7 @@ define( [ 'jquery', 'underscore', - 'sources/selection/range_selection_helper' + 'sources/selection/range_selection_helper', ], function ($, _, RangeSelectionHelper) { function disableButton(selector) { @@ -55,7 +55,7 @@ define( _.each(_.keys(gridRow), function (columnPos) { if (_.contains(primaryKeyColumnIndices, Number(columnPos))) rowToStage[columnPos] = gridRow[columnPos]; - }) + }); } return rowToStage; } @@ -72,7 +72,7 @@ define( return stagedRows; } - var setStagedRows = function (e, args) { + var setStagedRows = function () { var self = this; function setStagedRows(rowsToStage) { @@ -88,7 +88,7 @@ define( function areAllSelectionsEntireRows() { return RangeSelectionHelper.areAllRangesCompleteRows(self.grid, - self.selection.getSelectedRanges()) + self.selection.getSelectedRanges()); } var selectedRanges = this.selection.getSelectedRanges(); @@ -98,7 +98,7 @@ define( } if (areAllSelectionsEntireRows()) { - var selectedRows = RangeSelectionHelper.getIndexesOfCompleteRows(this.grid, this.selection.getSelectedRanges()) + var selectedRows = RangeSelectionHelper.getIndexesOfCompleteRows(this.grid, this.selection.getSelectedRanges()); var stagedRows = getPrimaryKeysForSelectedRows(self, selectedRows); setStagedRows(stagedRows); if (_.isEmpty(stagedRows)) { diff --git a/web/pgadmin/static/js/selection/xcell_selection_model.js b/web/pgadmin/static/js/selection/xcell_selection_model.js index 32fed09f..974b7479 100644 --- a/web/pgadmin/static/js/selection/xcell_selection_model.js +++ b/web/pgadmin/static/js/selection/xcell_selection_model.js @@ -4,7 +4,7 @@ define([ 'sources/selection/range_selection_helper', 'sources/slickgrid/pgslick.cellrangeselector', - 'slickgrid' + 'slickgrid', ], function ($, _, RangeSelectionHelper, PGCellRangeSelector) { var XCellSelectionModel = function (options) { @@ -13,25 +13,24 @@ define([ var KEY_ARROW_UP = 38; var KEY_ARROW_DOWN = 40; + var Slick = window.Slick; var _grid; - var _canvas; var _ranges = []; var _self = this; var _selector = new PGCellRangeSelector({ - "selectionCss": { - "border": "2px solid black" - } + 'selectionCss': { + 'border': '2px solid black', + }, }); var _options; var _defaults = { - selectActiveCell: true + selectActiveCell: true, }; function init(grid) { _options = $.extend(true, {}, _defaults, options); _grid = grid; - _canvas = _grid.getCanvasNode(); _grid.onActiveCellChanged.subscribe(handleActiveCellChange); _grid.onKeyDown.subscribe(handleKeyDown); grid.registerPlugin(_selector); @@ -82,7 +81,7 @@ define([ } } - function handleBeforeCellRangeSelected(e, args) { + function handleBeforeCellRangeSelected(e) { if (_grid.getEditorLock().isActive()) { e.stopPropagation(); return false; @@ -169,18 +168,18 @@ define([ var mobileCell = getMobileCellFromRange(lastSelectedRange, anchorActiveCell); switch (getKeycode()) { - case KEY_ARROW_LEFT: - mobileCell.cell -= 1; - break; - case KEY_ARROW_RIGHT: - mobileCell.cell += 1; - break; - case KEY_ARROW_UP: - mobileCell.row -= 1; - break; - case KEY_ARROW_DOWN: - mobileCell.row += 1; - break; + case KEY_ARROW_LEFT: + mobileCell.cell -= 1; + break; + case KEY_ARROW_RIGHT: + mobileCell.cell += 1; + break; + case KEY_ARROW_UP: + mobileCell.row -= 1; + break; + case KEY_ARROW_DOWN: + mobileCell.row += 1; + break; } var newSelectedRange = getNewRange(anchorActiveCell, mobileCell); @@ -206,7 +205,7 @@ define([ } } - function handleWindowMouseUp(event) { + function handleWindowMouseUp() { var selectedRange = _selector.getCurrentRange(); if (!_.isUndefined(selectedRange)) { _grid.onDragEnd.notify({range: selectedRange}); @@ -214,14 +213,14 @@ define([ } $.extend(this, { - "getSelectedRanges": getSelectedRanges, - "setSelectedRanges": setSelectedRanges, - "setSelectedRows": setSelectedRows, + 'getSelectedRanges': getSelectedRanges, + 'setSelectedRanges': setSelectedRanges, + 'setSelectedRows': setSelectedRows, - "init": init, - "destroy": destroy, + 'init': init, + 'destroy': destroy, - "onSelectedRangesChanged": new Slick.Event() + 'onSelectedRangesChanged': new Slick.Event(), }); }; return XCellSelectionModel; diff --git a/web/regression/javascript/browser/menu_spec.js b/web/regression/javascript/browser/menu_spec.js index e13bfe5e..8def5a0d 100644 --- a/web/regression/javascript/browser/menu_spec.js +++ b/web/regression/javascript/browser/menu_spec.js @@ -15,7 +15,7 @@ define([ var MenuItem = pgAdmin.Browser.MenuItem; var menuItem; - describe("when we create a menu item", function () { + describe('when we create a menu item', function () { describe('and it is disabled', function () { beforeEach(function () { menuItem = new MenuItem({enable: false, icon: 'fa fa-car'}); diff --git a/web/regression/javascript/check_node_visiblity_spec.js b/web/regression/javascript/check_node_visiblity_spec.js index 130b1c21..96a8961f 100644 --- a/web/regression/javascript/check_node_visiblity_spec.js +++ b/web/regression/javascript/check_node_visiblity_spec.js @@ -7,24 +7,24 @@ // ////////////////////////////////////////////////////////////////////////// -define(["sources/check_node_visibility"], -function (checkNodeVisibility, pgBrowser) { - describe("checkNodeVisibility", function () { +define(['sources/check_node_visibility'], +function (checkNodeVisibility) { + describe('checkNodeVisibility', function () { var browser; browser = jasmine.createSpyObj('browser', [ - 'node_preference_data', 'get_preference'] + 'node_preference_data', 'get_preference'] ); - describe("when node is server collection", function () { - it("returns true", function () { + describe('when node is server collection', function () { + it('returns true', function () { expect(checkNodeVisibility(browser, 'coll-server')).toEqual(true); }); }); - describe("when node is server", function () { - it("returns true", function () { + describe('when node is server', function () { + it('returns true', function () { expect(checkNodeVisibility(browser, 'server')).toEqual(true); }); }); diff --git a/web/regression/javascript/fake_translations.js b/web/regression/javascript/fake_translations.js index 9516fd63..a3d4f5bd 100644 --- a/web/regression/javascript/fake_translations.js +++ b/web/regression/javascript/fake_translations.js @@ -8,5 +8,5 @@ ////////////////////////////////////////////////////////////////////////// define(function () { - return {} + return {}; }); \ No newline at end of file diff --git a/web/regression/javascript/selection/active_cell_capture_spec.js b/web/regression/javascript/selection/active_cell_capture_spec.js index a0bd3848..4ed6c12f 100644 --- a/web/regression/javascript/selection/active_cell_capture_spec.js +++ b/web/regression/javascript/selection/active_cell_capture_spec.js @@ -18,6 +18,7 @@ define([ var onColumnsResizedFunction; var onHeaderMouseEnterFunction; var onHeaderMouseLeaveFunction; + var Slick = window.Slick; beforeEach(function () { getSelectedRangesSpy = jasmine.createSpy('getSelectedRangesSpy'); @@ -27,15 +28,15 @@ define([ return { getSelectedRanges: getSelectedRangesSpy, setSelectedRanges: setSelectedRangesSpy, - } + }; }, getColumns: function () { return [ {id: 'row-header-column'}, {id: 'column-1'}, - {id: 'column-2'} - ] + {id: 'column-2'}, + ]; }, onDragEnd: jasmine.createSpyObj('onDragEnd', ['subscribe']), @@ -47,7 +48,7 @@ define([ onHeaderMouseEnter: jasmine.createSpyObj('onHeaderMouseEnter', ['subscribe']), onHeaderMouseLeave: jasmine.createSpyObj('onHeaderMouseLeave', ['subscribe']), - getDataLength: function () { return 10 }, + getDataLength: function () { return 10; }, setActiveCell: jasmine.createSpy('setActiveCell'), getActiveCell: jasmine.createSpy('getActiveCell'), @@ -108,7 +109,7 @@ define([ describe('when a different column is clicked', function () { beforeEach(function () { - onHeaderClickFunction({}, {column: {pos: 4}}) + onHeaderClickFunction({}, {column: {pos: 4}}); }); it('should set the active cell to the newly clicked columns top cell', function () { @@ -217,7 +218,7 @@ define([ describe('when the third column is clicked (thereby deselecting it)', function () { beforeEach(function () { - onHeaderClickFunction({}, {column: {pos: 21}}) + onHeaderClickFunction({}, {column: {pos: 21}}); }); it('should set the active cell to the second column', function () { @@ -227,7 +228,7 @@ define([ describe('when the second column is clicked (thereby deselecting it)', function () { beforeEach(function () { - onHeaderClickFunction({}, {column: {pos: 5}}) + onHeaderClickFunction({}, {column: {pos: 5}}); }); it('should not set the active cell', function () { @@ -268,7 +269,7 @@ define([ beforeEach(function () { grid.getActiveCell.and.returnValue({row: 4, cell: 5}); getSelectedRangesSpy.and.returnValue([ - new Slick.Range(4, 5) + new Slick.Range(4, 5), ]); }); @@ -283,7 +284,7 @@ define([ beforeEach(function () { grid.getActiveCell.and.returnValue({row: 3, cell: 1}); getSelectedRangesSpy.and.returnValue([ - RangeSelectionHelper.rangeForRow(grid, 3) + RangeSelectionHelper.rangeForRow(grid, 3), ]); }); @@ -307,7 +308,7 @@ define([ grid.getActiveCell.and.returnValue({row: 3, cell: 1}); getSelectedRangesSpy.and.returnValue([ RangeSelectionHelper.rangeForRow(grid, 5), - RangeSelectionHelper.rangeForRow(grid, 3) + RangeSelectionHelper.rangeForRow(grid, 3), ]); }); @@ -330,7 +331,7 @@ define([ describe('and the editable new row', function () { beforeEach(function () { - onClickFunction({}, {row: 10, cell: 0}) + onClickFunction({}, {row: 10, cell: 0}); }); it('does not select the row', function () { expect(grid.setActiveCell).not.toHaveBeenCalled(); diff --git a/web/regression/javascript/selection/column_selector_spec.js b/web/regression/javascript/selection/column_selector_spec.js index 74d137a4..61115495 100644 --- a/web/regression/javascript/selection/column_selector_spec.js +++ b/web/regression/javascript/selection/column_selector_spec.js @@ -22,10 +22,12 @@ import 'sources/slickgrid/pgslick.cellrangeselector'; describe('ColumnSelector', function () { var container, data, columns, options; var SlickGrid = Slick.Grid; - var KEY_RIGHT = 39; - var KEY_LEFT = 37; - var KEY_UP = 38; - var KEY_DOWN = 40; + var KEY = { + RIGHT: 39, + LEFT: 37, + UP: 38, + DOWN: 40, + }; beforeEach(function () { container = $('
'); @@ -35,11 +37,11 @@ describe('ColumnSelector', function () { data = [{ 'some-column-name': 'first value', 'second column': 'second value', - 'third column': 'nonselectable value' + 'third column': 'nonselectable value', }, { 'some-column-name': 'row 1 - first value', 'second column': 'row 1 - second value', - 'third column': 'row 1 - nonselectable value' + 'third column': 'row 1 - nonselectable value', }]; columns = [ @@ -48,36 +50,36 @@ describe('ColumnSelector', function () { name: 'row header column name', selectable: false, display_name: 'row header column name', - column_type: 'text' + column_type: 'text', }, { id: '1', name: 'some-column-name', pos: 0, display_name: 'some-column-name', - column_type: 'text' + column_type: 'text', }, { id: '2', name: 'second column', pos: 1, display_name: 'second column', - column_type: 'json' + column_type: 'json', }, { id: 'third-column-id', name: 'third column', pos: 2, display_name: 'third column', - column_type: 'text' + column_type: 'text', }, { name: 'some-non-selectable-column', selectable: false, pos: 3, display_name: 'some-non-selectable-column', - column_type: 'numeric' - } + column_type: 'numeric', + }, ]; }); @@ -170,7 +172,7 @@ describe('ColumnSelector', function () { describe('and presses shift + right-arrow', function () { beforeEach(function () { - pressShiftArrow(KEY_RIGHT); + pressShiftArrow(KEY.RIGHT); }); it('keeps the last column selected', function () { @@ -202,7 +204,7 @@ describe('ColumnSelector', function () { describe('and presses shift + right-arrow', function () { it('first and second columns are selected', function () { - pressShiftArrow(KEY_RIGHT); + pressShiftArrow(KEY.RIGHT); var selectedRanges = cellSelectionModel.getSelectedRanges(); @@ -266,7 +268,7 @@ describe('ColumnSelector', function () { var selectedRanges = cellSelectionModel.getSelectedRanges(); expect(selectedRanges.length).toEqual(0); - }) + }); }); describe('when the column is not selectable', function () { diff --git a/web/regression/javascript/selection/copy_data_spec.js b/web/regression/javascript/selection/copy_data_spec.js index 2d6b6ad2..9e05e845 100644 --- a/web/regression/javascript/selection/copy_data_spec.js +++ b/web/regression/javascript/selection/copy_data_spec.js @@ -19,52 +19,51 @@ import XCellSelectionModel from 'sources/selection/xcell_selection_model'; describe('copyData', function () { var grid, sqlEditor, gridContainer, buttonPasteRow; - var Slick, SlickGrid; + var SlickGrid; beforeEach(function () { - Slick = window.Slick; SlickGrid = Slick.Grid; var data = [[1, 'leopord', '12'], [2, 'lion', '13'], [3, 'puma', '9']]; var columns = [ - { - id: 'row-header-column', - name: 'row header column name', - selectable: false, - display_name: 'row header column name', - column_type: 'text' - }, - { - name: 'id', - pos: 0, - label: 'id
numeric', - cell: 'number', - can_edit: false, - type: 'numeric' - }, { - name: 'brand', - pos: 1, - label: 'flavor
character varying', - cell: 'string', - can_edit: false, - type: 'character varying' - }, { - name: 'size', - pos: 2, - label: 'size
numeric', - cell: 'number', - can_edit: false, - type: 'numeric' - } - ] + { + id: 'row-header-column', + name: 'row header column name', + selectable: false, + display_name: 'row header column name', + column_type: 'text', + }, + { + name: 'id', + pos: 0, + label: 'id
numeric', + cell: 'number', + can_edit: false, + type: 'numeric', + }, { + name: 'brand', + pos: 1, + label: 'flavor
character varying', + cell: 'string', + can_edit: false, + type: 'character varying', + }, { + name: 'size', + pos: 2, + label: 'size
numeric', + cell: 'number', + can_edit: false, + type: 'numeric', + }, + ] ; gridContainer = $('
'); $('body').append(gridContainer); buttonPasteRow = $(''); $('body').append(buttonPasteRow); - grid = new Slick.Grid('#grid', data, columns, {}); + grid = new SlickGrid('#grid', data, columns, {}); grid.setSelectionModel(new XCellSelectionModel()); sqlEditor = {slickgrid: grid}; }); diff --git a/web/regression/javascript/selection/grid_selector_spec.js b/web/regression/javascript/selection/grid_selector_spec.js index f7b39ee8..ce54cc69 100644 --- a/web/regression/javascript/selection/grid_selector_spec.js +++ b/web/regression/javascript/selection/grid_selector_spec.js @@ -8,7 +8,6 @@ ////////////////////////////////////////////////////////////////////////// import $ from 'jquery'; -import _ from 'underscore'; import Slick from 'slickgrid'; import 'slickgrid.grid'; @@ -18,21 +17,20 @@ import XCellSelectionModel from 'sources/selection/xcell_selection_model'; describe('GridSelector', function () { var container, data, columns, gridSelector, xCellSelectionModel; - var Slick, SlickGrid; + var SlickGrid; beforeEach(function () { - Slick = window.Slick; SlickGrid = Slick.Grid; container = $('
'); container.height(9999); columns = [{ id: '1', name: 'some-column-name', - pos: 0 + pos: 0, }, { id: '2', name: 'second column', - pos: 1 + pos: 1, }]; gridSelector = new GridSelector(); @@ -42,7 +40,7 @@ describe('GridSelector', function () { for (var i = 0; i < 10; i++) { data.push({'some-column-name': 'some-value-' + i, 'second column': 'second value ' + i}); } - var grid = new Slick.Grid(container, data, columns); + var grid = new SlickGrid(container, data, columns); xCellSelectionModel = new XCellSelectionModel(); grid.setSelectionModel(xCellSelectionModel); diff --git a/web/regression/javascript/selection/range_boundary_navigator_spec.js b/web/regression/javascript/selection/range_boundary_navigator_spec.js index b57087f3..1de6d812 100644 --- a/web/regression/javascript/selection/range_boundary_navigator_spec.js +++ b/web/regression/javascript/selection/range_boundary_navigator_spec.js @@ -23,8 +23,8 @@ describe('RangeBoundaryNavigator', function () { }); }); - describe("when the ranges all overlap partially or touch", function () { - it("returns one long range", function () { + describe('when the ranges all overlap partially or touch', function () { + it('returns one long range', function () { var rangeBounds = [[3, 6], [1, 4], [7, 14]]; var union = rangeBoundaryNavigator.getUnion(rangeBounds); @@ -32,7 +32,7 @@ describe('RangeBoundaryNavigator', function () { expect(union).toEqual([[1, 14]]); }); - it("returns them in order from lowest to highest", function () { + it('returns them in order from lowest to highest', function () { var rangeBounds = [[3, 6], [2, 3], [10, 12]]; var union = rangeBoundaryNavigator.getUnion(rangeBounds); @@ -40,9 +40,9 @@ describe('RangeBoundaryNavigator', function () { expect(union).toEqual([[2, 6], [10, 12]]); }); - describe("when one range completely overlaps another", function() { + describe('when one range completely overlaps another', function() { - it("returns them in order from lowest to highest", function () { + it('returns them in order from lowest to highest', function () { var rangeBounds = [[9, 14], [2, 3], [11, 13]]; var union = rangeBoundaryNavigator.getUnion(rangeBounds); @@ -51,19 +51,19 @@ describe('RangeBoundaryNavigator', function () { }); }); - describe("when one range is a subset of another", function () { - it("returns the larger range", function () { + describe('when one range is a subset of another', function () { + it('returns the larger range', function () { var rangeBounds = [[2, 6], [1, 14], [8, 10]]; var union = rangeBoundaryNavigator.getUnion(rangeBounds); expect(union).toEqual([[1, 14]]); - }) - }) + }); + }); }); - describe("when the ranges do not touch", function () { - it("returns them in order from lowest to highest", function () { + describe('when the ranges do not touch', function () { + it('returns them in order from lowest to highest', function () { var rangeBounds = [[3, 6], [1, 1], [8, 10]]; var union = rangeBoundaryNavigator.getUnion(rangeBounds); @@ -73,8 +73,8 @@ describe('RangeBoundaryNavigator', function () { }); }); - describe("#mapDimensionBoundaryUnion", function () { - it("returns a list of the results of the callback", function () { + describe('#mapDimensionBoundaryUnion', function () { + it('returns a list of the results of the callback', function () { var rangeBounds = [[0, 1], [3, 3]]; var callback = function () { return 'hello'; @@ -83,7 +83,7 @@ describe('RangeBoundaryNavigator', function () { expect(result).toEqual(['hello', 'hello', 'hello']); }); - it("calls the callback with each index in the dimension", function () { + it('calls the callback with each index in the dimension', function () { var rangeBounds = [[0, 1], [3, 3]]; var callback = jasmine.createSpy('callbackSpy'); rangeBoundaryNavigator.mapDimensionBoundaryUnion(rangeBounds, callback); @@ -91,7 +91,7 @@ describe('RangeBoundaryNavigator', function () { }); }); - describe("#mapOver2DArray", function () { + describe('#mapOver2DArray', function () { var data, rowCollector, processCell; beforeEach(function () { data = [[0, 1, 2, 3], [2, 2, 2, 2], [4, 5, 6, 7]]; @@ -103,76 +103,75 @@ describe('RangeBoundaryNavigator', function () { }; }); - it("calls the callback for each item in the ranges", function () { + it('calls the callback for each item in the ranges', function () { var rowRanges = [[0, 0], [2, 2]]; var colRanges = [[0, 3]]; var selectionResult = rangeBoundaryNavigator.mapOver2DArray(rowRanges, colRanges, processCell, rowCollector); - expect(selectionResult).toEqual(["[0,1,2,3]", "[4,5,6,7]"]); + expect(selectionResult).toEqual(['[0,1,2,3]', '[4,5,6,7]']); }); - describe("when the ranges are out of order/duplicated", function () { + describe('when the ranges are out of order/duplicated', function () { var rowRanges, colRanges; beforeEach(function () { rowRanges = [[2, 2], [2, 2], [0, 0]]; colRanges = [[0, 3]]; }); - it("uses the union of the ranges", function () { - spyOn(rangeBoundaryNavigator, "getUnion").and.callThrough(); + it('uses the union of the ranges', function () { + spyOn(rangeBoundaryNavigator, 'getUnion').and.callThrough(); var selectionResult = rangeBoundaryNavigator.mapOver2DArray(rowRanges, colRanges, processCell, rowCollector); expect(rangeBoundaryNavigator.getUnion).toHaveBeenCalledWith(rowRanges); expect(rangeBoundaryNavigator.getUnion).toHaveBeenCalledWith(colRanges); - expect(selectionResult).toEqual(["[0,1,2,3]", "[4,5,6,7]"]); + expect(selectionResult).toEqual(['[0,1,2,3]', '[4,5,6,7]']); }); }); }); - describe("#rangesToCsv", function () { + describe('#rangesToCsv', function () { var data, columnDefinitions, ranges; beforeEach(function () { - data = [[1, "leopard", "12"], - [2, "lion", "13"], - [3, "cougar", "9"], - [4, "tiger", "10"]]; + data = [[1, 'leopard', '12'], + [2, 'lion', '13'], + [3, 'cougar', '9'], + [4, 'tiger', '10']]; columnDefinitions = [{name: 'id', pos: 0}, {name: 'animal', pos: 1}, {name: 'size', pos: 2}]; ranges = [new Slick.Range(0, 0, 0, 2), new Slick.Range(3, 0, 3, 2)]; }); - it("returns csv for the provided ranges", function () { + it('returns csv for the provided ranges', function () { var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, ranges); - expect(csvResult).toEqual("1,'leopard','12'\n4,'tiger','10'"); + expect(csvResult).toEqual('1,\'leopard\',\'12\'\n4,\'tiger\',\'10\''); }); - describe("when no cells are selected", function () { - it("should return an empty string", function () { + describe('when no cells are selected', function () { + it('should return an empty string', function () { var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, []); expect(csvResult).toEqual(''); }); }); - describe("when there is an extra column with checkboxes", function () { - + describe('when there is an extra column with checkboxes', function () { beforeEach(function () { columnDefinitions = [{name: 'not-a-data-column'}, {name: 'id', pos: 0}, {name: 'animal', pos: 1}, { name: 'size', - pos: 2 + pos: 2, }]; ranges = [new Slick.Range(0, 0, 0, 3), new Slick.Range(3, 0, 3, 3)]; }); - it("returns csv for the columns with data", function () { + it('returns csv for the columns with data', function () { var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, ranges); - expect(csvResult).toEqual("1,'leopard','12'\n4,'tiger','10'"); + expect(csvResult).toEqual('1,\'leopard\',\'12\'\n4,\'tiger\',\'10\''); }); - describe("when no cells are selected", function () { - it("should return an empty string", function () { + describe('when no cells are selected', function () { + it('should return an empty string', function () { var csvResult = rangeBoundaryNavigator.rangesToCsv(data, columnDefinitions, []); expect(csvResult).toEqual(''); @@ -180,4 +179,4 @@ describe('RangeBoundaryNavigator', function () { }); }); }); -}); \ No newline at end of file +}); diff --git a/web/regression/javascript/selection/range_selection_helper_spec.js b/web/regression/javascript/selection/range_selection_helper_spec.js index 63c07259..62200085 100644 --- a/web/regression/javascript/selection/range_selection_helper_spec.js +++ b/web/regression/javascript/selection/range_selection_helper_spec.js @@ -3,21 +3,21 @@ import Slick from 'slickgrid'; import 'slickgrid.grid'; import RangeSelectionHelper from 'sources/selection/range_selection_helper'; -describe("RangeSelectionHelper utility functions", function () { +describe('RangeSelectionHelper utility functions', function () { var grid; beforeEach(function () { var container, data, columns, options; - container = $("
"); + container = $('
'); container.height(9999); columns = [{ id: '1', name: 'some-column-name', - pos: 0 + pos: 0, }, { id: 'second-column-id', name: 'second column', - pos: 1 + pos: 1, }]; data = []; @@ -29,18 +29,18 @@ describe("RangeSelectionHelper utility functions", function () { grid.invalidate(); }); - describe("#getIndexesOfCompleteRows", function () { - describe("when selected ranges are not rows", function () { - it("returns an empty array", function () { + describe('#getIndexesOfCompleteRows', function () { + describe('when selected ranges are not rows', function () { + it('returns an empty array', function () { var rowlessRanges = [RangeSelectionHelper.rangeForColumn(grid, 1)]; expect(RangeSelectionHelper.getIndexesOfCompleteRows(grid, rowlessRanges)) .toEqual([]); }); }); - describe("when selected range", function () { - describe("is a single row", function () { - it("returns an array with one index", function () { + describe('when selected range', function () { + describe('is a single row', function () { + it('returns an array with one index', function () { var singleRowRange = [RangeSelectionHelper.rangeForRow(grid, 1)]; expect(RangeSelectionHelper.getIndexesOfCompleteRows(grid, singleRowRange)) @@ -48,8 +48,8 @@ describe("RangeSelectionHelper utility functions", function () { }); }); - describe("is multiple rows", function () { - it("returns an array of each row's index", function () { + describe('is multiple rows', function () { + it('returns an array of each row\'s index', function () { var multipleRowRange = [ RangeSelectionHelper.rangeForRow(grid, 0), RangeSelectionHelper.rangeForRow(grid, 3), @@ -62,10 +62,10 @@ describe("RangeSelectionHelper utility functions", function () { }); }); - describe("contains a multi row selection", function () { - it("returns an array of each individual row's index", function () { + describe('contains a multi row selection', function () { + it('returns an array of each individual row\'s index', function () { var multipleRowRange = [ - new Slick.Range(3, 0, 5, 1) + new Slick.Range(3, 0, 5, 1), ]; var indexesOfCompleteRows = RangeSelectionHelper.getIndexesOfCompleteRows(grid, multipleRowRange); @@ -73,11 +73,11 @@ describe("RangeSelectionHelper utility functions", function () { expect(indexesOfCompleteRows).toEqual([3, 4, 5]); }); - describe("and also contains a selection that is not a row", function () { - it("returns an array of only the complete rows' indexes", function () { + describe('and also contains a selection that is not a row', function () { + it('returns an array of only the complete rows\' indexes', function () { var multipleRowRange = [ new Slick.Range(8, 1, 9, 1), - new Slick.Range(3, 0, 5, 1) + new Slick.Range(3, 0, 5, 1), ]; var indexesOfCompleteRows = RangeSelectionHelper.getIndexesOfCompleteRows(grid, multipleRowRange); diff --git a/web/regression/javascript/selection/row_selector_spec.js b/web/regression/javascript/selection/row_selector_spec.js index dbf65e26..db3c0b4f 100644 --- a/web/regression/javascript/selection/row_selector_spec.js +++ b/web/regression/javascript/selection/row_selector_spec.js @@ -8,7 +8,6 @@ ////////////////////////////////////////////////////////////////////////// import $ from 'jquery'; -import _ from 'underscore'; import Slick from 'slickgrid'; import 'slickgrid.grid'; @@ -18,10 +17,12 @@ import ActiveCellCapture from 'sources/selection/active_cell_capture'; import XCellSelectionModel from 'sources/selection/xcell_selection_model'; describe('RowSelector', function () { - var KEY_RIGHT = 39; - var KEY_LEFT = 37; - var KEY_UP = 38; - var KEY_DOWN = 40; + var KEY = { + RIGHT: 39, + LEFT: 37, + UP: 38, + DOWN: 40, + }; var container, data, columnDefinitions, grid, cellSelectionModel; var SlickGrid = Slick.Grid; @@ -34,12 +35,12 @@ describe('RowSelector', function () { id: '1', name: 'some-column-name', selectable: true, - pos: 0 + pos: 0, }, { id: '2', name: 'second column', selectable: true, - pos: 1 + pos: 1, }]; var rowSelector = new RowSelector(); @@ -134,7 +135,7 @@ describe('RowSelector', function () { describe('and presses shift + down-arrow', function () { beforeEach(function () { - pressShiftArrow(KEY_DOWN); + pressShiftArrow(KEY.DOWN); }); it('keeps the last row selected', function () { @@ -301,7 +302,7 @@ describe('RowSelector', function () { var selectedRanges = cellSelectionModel.getSelectedRanges(); expect(selectedRanges.length).toEqual(0); - }) + }); }); }); diff --git a/web/regression/javascript/selection/set_staged_rows_spec.js b/web/regression/javascript/selection/set_staged_rows_spec.js index 99c6d3a6..67353144 100644 --- a/web/regression/javascript/selection/set_staged_rows_spec.js +++ b/web/regression/javascript/selection/set_staged_rows_spec.js @@ -8,9 +8,9 @@ ////////////////////////////////////////////////////////////// define([ - "jquery", - "underscore", - "sources/selection/set_staged_rows", + 'jquery', + 'underscore', + 'sources/selection/set_staged_rows', ], function ($, _, SetStagedRows) { describe('set_staged_rows', function () { var sqlEditorObj, gridSpy, deleteButton, copyButton, selectionSpy; @@ -20,7 +20,7 @@ define([ {0: 'one', 1: 'two', __temp_PK: '123'}, {0: 'three', 1: 'four', __temp_PK: '456'}, {0: 'five', 1: 'six', __temp_PK: '789'}, - {0: 'seven', 1: 'eight', __temp_PK: '432'} + {0: 'seven', 1: 'eight', __temp_PK: '432'}, ]); gridSpy.getColumns.and.returnValue([ { @@ -29,7 +29,7 @@ define([ }, { pos: 1, selectable: true, - } + }, ]); selectionSpy = jasmine.createSpyObj('selectionSpy', ['setSelectedRows', 'getSelectedRanges']); @@ -42,23 +42,23 @@ define([ editor: { handler: { data_store: { - staged_rows: {'456': {}} + staged_rows: {'456': {}}, }, - can_edit: false - } + can_edit: false, + }, }, keys: null, selection: selectionSpy, columns: [ { name: 'a pk column', - pos: 0 + pos: 0, }, { name: 'some column', - pos: 1 - } - ] + pos: 1, + }, + ], }; $('body').append(deleteButton); @@ -195,7 +195,7 @@ define([ {0: 'one', 1: 'two', __temp_PK: '123'}, {1: 'four', __temp_PK: '456'}, {1: 'six', __temp_PK: '789'}, - {0: 'seven', 1: 'eight', __temp_PK: '432'} + {0: 'seven', 1: 'eight', __temp_PK: '432'}, ]); }); @@ -228,7 +228,7 @@ define([ it('should not clear the staged rows', function () { expect(sqlEditorObj.editor.handler.data_store.staged_rows).toEqual({ '456': {0: 'three'}, - '789': {0: 'five'} + '789': {0: 'five'}, }); }); diff --git a/web/regression/javascript/selection/xcell_selection_model_spec.js b/web/regression/javascript/selection/xcell_selection_model_spec.js index 8f01035c..db3f6d60 100644 --- a/web/regression/javascript/selection/xcell_selection_model_spec.js +++ b/web/regression/javascript/selection/xcell_selection_model_spec.js @@ -10,6 +10,7 @@ import XCellSelectionModel from 'sources/selection/xcell_selection_model'; import 'slickgrid.grid'; import Slick from 'slickgrid'; +import $ from 'jquery'; describe('XCellSelectionModel', function () { var KEY_RIGHT = 39; @@ -31,15 +32,15 @@ describe('XCellSelectionModel', function () { }, { id: '1', name: 'some-column-name', - pos: 0 + pos: 0, }, { id: 'second-column-id', name: 'second column', - pos: 1 + pos: 1, }, { id: 'third-column-id', name: 'third column', - pos: 2 + pos: 2, }, ]; @@ -52,13 +53,13 @@ describe('XCellSelectionModel', function () { 'fourth column': 'fourth value ' + i, }); } - container = $("
"); + container = $('
'); container.height(9999); container.width(9999); grid = new SlickGrid(container, data, columns); grid.setSelectionModel(new XCellSelectionModel()); - $("body").append(container); + $('body').append(container); }); afterEach(function () { @@ -397,13 +398,13 @@ describe('XCellSelectionModel', function () { target: $cell, isPropagationStopped: jasmine.createSpy('isPropagationStopped').and.returnValue(false), isImmediatePropagationStopped: jasmine.createSpy('isImmediatePropagationStopped').and.returnValue(false), - stopImmediatePropagation: jasmine.createSpy('stopImmediatePropagation') + stopImmediatePropagation: jasmine.createSpy('stopImmediatePropagation'), }; dd = { grid: grid, startX: cellLeftPosition(initialPosition.cell), - startY: cellTopPosition($cell, initialPosition.row) + startY: cellTopPosition($cell, initialPosition.row), }; grid.onDragStart.notify(dd, event, grid); @@ -421,7 +422,7 @@ describe('XCellSelectionModel', function () { stopImmediatePropagation: jasmine.createSpy('stopImmediatePropagation'), pageX: cellLeftPosition(finalPosition.cell), - pageY: cellTopPosition($cell, finalPosition.row) + pageY: cellTopPosition($cell, finalPosition.row), }; grid.onDrag.notify(dd, event, grid); @@ -448,7 +449,7 @@ describe('XCellSelectionModel', function () { }); it('do not notify onDragEnd', function () { - expect(grid.onDragEnd.notify).not.toHaveBeenCalled() + expect(grid.onDragEnd.notify).not.toHaveBeenCalled(); }); }); @@ -482,14 +483,14 @@ describe('XCellSelectionModel', function () { }); function pressKey(keyCode) { - var pressEvent = new $.Event("keydown"); + var pressEvent = new $.Event('keydown'); pressEvent.which = keyCode; $(container.find('.grid-canvas')).trigger(pressEvent); } function pressShiftPlusKey(keyCode) { - var pressEvent = new $.Event("keydown"); + var pressEvent = new $.Event('keydown'); pressEvent.shiftKey = true; pressEvent.which = keyCode; diff --git a/web/regression/javascript/size_prettify_spec.js b/web/regression/javascript/size_prettify_spec.js index 7d370fcb..f60c79c0 100644 --- a/web/regression/javascript/size_prettify_spec.js +++ b/web/regression/javascript/size_prettify_spec.js @@ -7,59 +7,59 @@ // ////////////////////////////////////////////////////////////////////////// -define(["sources/size_prettify"], function (sizePrettify) { - describe("sizePrettify", function () { - describe("when size is 0", function () { - it("returns 0 bytes", function () { - expect(sizePrettify(0)).toEqual("0 bytes"); +define(['sources/size_prettify'], function (sizePrettify) { + describe('sizePrettify', function () { + describe('when size is 0', function () { + it('returns 0 bytes', function () { + expect(sizePrettify(0)).toEqual('0 bytes'); }); }); - describe("when size >= 10kB and size < 10 MB", function () { - it("returns size in kB", function () { - expect(sizePrettify(10240)).toEqual("10 kB"); + describe('when size >= 10kB and size < 10 MB', function () { + it('returns size in kB', function () { + expect(sizePrettify(10240)).toEqual('10 kB'); }); - it("returns size in kB", function () { - expect(sizePrettify(99999)).toEqual("98 kB"); + it('returns size in kB', function () { + expect(sizePrettify(99999)).toEqual('98 kB'); }); }); - describe("when size >= 10MB and size < 10 GB", function () { - it("returns size in MB", function () { - expect(sizePrettify(10485760)).toEqual("10 MB"); + describe('when size >= 10MB and size < 10 GB', function () { + it('returns size in MB', function () { + expect(sizePrettify(10485760)).toEqual('10 MB'); }); - it("returns size in MB", function () { - expect(sizePrettify(44040192)).toEqual("42 MB"); + it('returns size in MB', function () { + expect(sizePrettify(44040192)).toEqual('42 MB'); }); }); - describe("when size >= 10GB and size < 10 TB", function () { - it("returns size in GB", function () { - expect(sizePrettify(10737418240)).toEqual("10 GB"); + describe('when size >= 10GB and size < 10 TB', function () { + it('returns size in GB', function () { + expect(sizePrettify(10737418240)).toEqual('10 GB'); }); - it("returns size in GB", function () { - expect(sizePrettify(10736344498176)).toEqual("9999 GB"); + it('returns size in GB', function () { + expect(sizePrettify(10736344498176)).toEqual('9999 GB'); }); }); - describe("when size >= 10TB and size < 10 PB", function () { - it("returns size in TB", function () { - expect(sizePrettify(10995116277760)).toEqual("10 TB"); + describe('when size >= 10TB and size < 10 PB', function () { + it('returns size in TB', function () { + expect(sizePrettify(10995116277760)).toEqual('10 TB'); }); - it("returns size in TB", function () { - expect(sizePrettify(29995116277760)).toEqual("27 TB"); + it('returns size in TB', function () { + expect(sizePrettify(29995116277760)).toEqual('27 TB'); }); }); - describe("when size >= 10 PB", function () { - it("returns size in PB", function () { - expect(sizePrettify(11258999068426200)).toEqual("10 PB"); + describe('when size >= 10 PB', function () { + it('returns size in PB', function () { + expect(sizePrettify(11258999068426200)).toEqual('10 PB'); }); }); diff --git a/web/regression/javascript/slickgrid/cell_selector_spec.js b/web/regression/javascript/slickgrid/cell_selector_spec.js index b32fdf80..7ad72e32 100644 --- a/web/regression/javascript/slickgrid/cell_selector_spec.js +++ b/web/regression/javascript/slickgrid/cell_selector_spec.js @@ -7,16 +7,17 @@ // ////////////////////////////////////////////////////////////// -import $ from "jquery"; -import SlickGrid from "slickgrid.grid"; -import XCellSelectionModel from "sources/selection/xcell_selection_model"; -import CellSelector from "sources/slickgrid/cell_selector"; -import RangeSelectionHelper from "sources/selection/range_selection_helper"; +import $ from 'jquery'; +import Slick from 'slickgrid'; +import 'slickgrid.grid'; +import XCellSelectionModel from 'sources/selection/xcell_selection_model'; +import CellSelector from 'sources/slickgrid/cell_selector'; +import RangeSelectionHelper from 'sources/selection/range_selection_helper'; -describe("CellSelector", function () { +describe('CellSelector', function () { var container, columns, cellSelector, data, cellSelectionModel, grid; beforeEach(function () { - container = $("
"); + container = $('
'); container.height(9999); container.width(9999); columns = [{ @@ -39,17 +40,17 @@ describe("CellSelector", function () { grid.registerPlugin(cellSelector); grid.invalidate(); - $("body").append(container); + $('body').append(container); }); afterEach(function () { - $("body").find(container).remove(); + $('body').find(container).remove(); }); - describe("when the user clicks or tabs to a cell", function () { - it("sets the selected range to that cell", function () { + describe('when the user clicks or tabs to a cell', function () { + it('sets the selected range to that cell', function () { var row = 1, column = 0; - $(container.find(".slick-row .slick-cell.l" + column)[row]).click(); + $(container.find('.slick-row .slick-cell.l' + column)[row]).click(); var selectedRanges = cellSelectionModel.getSelectedRanges(); expect(selectedRanges.length).toBe(1); @@ -59,14 +60,14 @@ describe("CellSelector", function () { expect(selectedRanges[0].toRow).toBe(1); }); - it("deselects previously selected ranges", function () { + it('deselects previously selected ranges', function () { var row2Range = RangeSelectionHelper.rangeForRow(grid, 2); var ranges = RangeSelectionHelper.addRange(cellSelectionModel.getSelectedRanges(), row2Range); cellSelectionModel.setSelectedRanges(ranges); var row = 4, column = 1; - $(container.find(".slick-row .slick-cell.l" + column)[row]).click(); + $(container.find('.slick-row .slick-cell.l' + column)[row]).click(); expect(RangeSelectionHelper.isRangeSelected(cellSelectionModel.getSelectedRanges(), row2Range)) .toBe(false); diff --git a/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js b/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js index 884ae415..eb4411dc 100644 --- a/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js +++ b/web/regression/javascript/slickgrid/event_handlers/handle_query_output_keyboard_event_spec.js @@ -13,10 +13,10 @@ import RangeSelectionHelper from 'sources/selection/range_selection_helper'; import XCellSelectionModel from 'sources/selection/xcell_selection_model'; import Slick from 'slickgrid'; import 'slickgrid.grid'; - +import $ from 'jquery'; describe('#handleQueryOutputKeyboardEvent', function () { - var event, view, grid, slickEvent; + var event, grid, slickEvent; var SlickGrid = Slick.Grid; var handleQueryOutputKeyboardEvent; @@ -27,7 +27,7 @@ describe('#handleQueryOutputKeyboardEvent', function () { metaKey: false, which: -1, keyCode: -1, - preventDefault: jasmine.createSpy('preventDefault') + preventDefault: jasmine.createSpy('preventDefault'), }; var data = [['', '0,0-cell-content', '0,1-cell-content'], @@ -35,22 +35,20 @@ describe('#handleQueryOutputKeyboardEvent', function () { ['', '2,0-cell-content', '2,1-cell-content']]; var columnDefinitions = [{name: 'checkboxColumn'}, {pos: 1, name: 'firstColumn'}, { pos: 2, - name: 'secondColumn' + name: 'secondColumn', }]; grid = new SlickGrid($('
'), data, columnDefinitions); grid.setSelectionModel(new XCellSelectionModel()); slickEvent = { - grid: grid + grid: grid, }; - view = {}; spyOn(clipboard, 'copyTextToClipboard'); handleQueryOutputKeyboardEvent = HandleQueryOutputKeyboardEvent.bind(window); - debugger }); - describe("when a range is selected", function () { + describe('when a range is selected', function () { beforeEach(function () { grid.getSelectionModel().setSelectedRanges([ RangeSelectionHelper.rangeForRow(grid, 0), @@ -58,39 +56,39 @@ describe('#handleQueryOutputKeyboardEvent', function () { ]); }); - describe("pressing Command + C", function () { + describe('pressing Command + C', function () { beforeEach(function () { event.metaKey = true; event.keyCode = 67; }); - it("copies the cell content to the clipboard", function () { + it('copies the cell content to the clipboard', function () { handleQueryOutputKeyboardEvent(event, slickEvent); - expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith("'0,0-cell-content','0,1-cell-content'\n'2,0-cell-content','2,1-cell-content'"); + expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith('\'0,0-cell-content\',\'0,1-cell-content\'\n\'2,0-cell-content\',\'2,1-cell-content\''); }); }); - describe("pressing Ctrl + C", function () { + describe('pressing Ctrl + C', function () { beforeEach(function () { event.ctrlKey = true; event.keyCode = 67; }); - it("copies the cell content to the clipboard", function () { + it('copies the cell content to the clipboard', function () { handleQueryOutputKeyboardEvent(event, slickEvent); - expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith("'0,0-cell-content','0,1-cell-content'\n'2,0-cell-content','2,1-cell-content'"); + expect(clipboard.copyTextToClipboard).toHaveBeenCalledWith('\'0,0-cell-content\',\'0,1-cell-content\'\n\'2,0-cell-content\',\'2,1-cell-content\''); }); }); - describe("pressing Command + A", function () { + describe('pressing Command + A', function () { beforeEach(function () { event.metaKey = true; event.keyCode = 65; }); - it("selects the entire grid to ranges", function () { + it('selects the entire grid to ranges', function () { handleQueryOutputKeyboardEvent(event, slickEvent); expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy(); @@ -98,13 +96,13 @@ describe('#handleQueryOutputKeyboardEvent', function () { }); }); - describe("pressing Ctrl + A", function () { + describe('pressing Ctrl + A', function () { beforeEach(function () { event.ctrlKey = true; event.keyCode = 65; }); - it("selects the entire grid to ranges", function () { + it('selects the entire grid to ranges', function () { handleQueryOutputKeyboardEvent(event, slickEvent); expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy(); @@ -113,14 +111,14 @@ describe('#handleQueryOutputKeyboardEvent', function () { }); }); - describe("when no ranges are selected", function () { - describe("pressing Command + A", function () { + describe('when no ranges are selected', function () { + describe('pressing Command + A', function () { beforeEach(function () { event.metaKey = true; event.keyCode = 65; }); - it("selects the entire grid to ranges", function () { + it('selects the entire grid to ranges', function () { handleQueryOutputKeyboardEvent(event, slickEvent); expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy(); @@ -128,13 +126,13 @@ describe('#handleQueryOutputKeyboardEvent', function () { }); }); - describe("pressing Ctrl + A", function () { + describe('pressing Ctrl + A', function () { beforeEach(function () { event.ctrlKey = true; event.keyCode = 65; }); - it("selects the entire grid to ranges", function () { + it('selects the entire grid to ranges', function () { handleQueryOutputKeyboardEvent(event, slickEvent); expect(RangeSelectionHelper.isEntireGridSelected(grid)).toBeTruthy(); diff --git a/web/regression/javascript/sqleditor_utils_spec.js b/web/regression/javascript/sqleditor_utils_spec.js index 4b79dc03..b1564b37 100644 --- a/web/regression/javascript/sqleditor_utils_spec.js +++ b/web/regression/javascript/sqleditor_utils_spec.js @@ -7,18 +7,18 @@ // ////////////////////////////////////////////////////////////////////////// -define(["sources/sqleditor_utils"], +define(['sources/sqleditor_utils'], function (SqlEditorUtils) { - describe("SqlEditorUtils", function () { + describe('SqlEditorUtils', function () { - describe("Generate a random string of size 10", function () { - it("returns string of length 10", function () { + describe('Generate a random string of size 10', function () { + it('returns string of length 10', function () { expect(SqlEditorUtils.epicRandomString(10).length).toEqual(10); }); }); - describe("Generate a unique hash for given string", function () { - it("returns unique hash", function () { + describe('Generate a unique hash for given string', function () { + it('returns unique hash', function () { expect(SqlEditorUtils.getHash('select * from test')).toEqual(403379630); }); }); diff --git a/web/webpack.test.config.js b/web/webpack.test.config.js index 29df6dd8..b156f147 100644 --- a/web/webpack.test.config.js +++ b/web/webpack.test.config.js @@ -8,7 +8,6 @@ const regressionDir = path.resolve(__dirname, 'regression'); module.exports = { plugins: [ new webpack.ProvidePlugin({ - $: 'jquery', jQuery: 'jquery', _: 'underscore', 'underscore.string': 'underscore.string', diff --git a/web/yarn.lock b/web/yarn.lock index bfd9171d..b04caa5c 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1199,15 +1199,7 @@ concat-stream@1.5.0: readable-stream "~2.0.0" typedarray "~0.0.5" -concat-stream@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@~1.5.0, concat-stream@~1.5.1: +concat-stream@^1.5.2, concat-stream@~1.5.0, concat-stream@~1.5.1: version "1.5.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" dependencies: @@ -2329,7 +2321,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -3577,7 +3569,7 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.6: version "2.2.11" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.11.tgz#0796b31f8d7688007ff0b93a8088d34aa17c0f72" dependencies: @@ -4239,7 +4231,7 @@ type-is@~1.6.15: media-typer "0.3.0" mime-types "~2.1.15" -typedarray@^0.0.6, typedarray@~0.0.5: +typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"