From f55a5a4aaf34c49e49fa78a93e18fdc1e7a6ef3f Mon Sep 17 00:00:00 2001 From: Mark Hsu Date: Mon, 5 Dec 2022 23:51:15 -0800 Subject: [PATCH 1/3] Update babel to use preset-env per https://babeljs.io/docs/en/env/ -- updated from preset-es2015 to preset-env. Also updated @babel-cli and @babel-core versions to be compatible. Updated shell in Makefile to set path variable, otherwise I was getting missing babel errors as I don't have babel installed globally. --- Makefile | 6 +++--- package.json | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 69ca140..b88d0c6 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ PATH := node_modules/.bin:$(PATH) -SHELL := /bin/bash +SHELL := env PATH=$(PATH) /bin/bash name := tenuki @@ -23,7 +23,7 @@ test: all build/$(name).js: build $(compiled_js) cat copyright_header.txt \ - <(browserify index.js --standalone $(name) -t [ babelify --presets [ es2015 ] ]) \ + <(browserify index.js --standalone $(name) -t [ babelify --presets [ @babel/preset-env ] ]) \ > $@ build/$(name).min.js: build/$(name).js @@ -44,7 +44,7 @@ build/$(name).min.css: build/$(name).css lib/%.js: src/%.js babel \ --source-maps \ - --presets es2015 \ + --presets @babel/preset-env \ --out-file $@ \ $< diff --git a/package.json b/package.json index f20153e..0c29303 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,9 @@ }, "homepage": "https://github.com/aprescott/tenuki#readme", "devDependencies": { - "babel-cli": "^6.7.7", - "babel-preset-es2015": "*", + "@babel/cli": "^7.19.3", + "@babel/core": "^7.20.5", + "@babel/preset-env": "^7.20.2", "babelify": "*", "body-parser": "^1.15.1", "browserify": "8", From 83cdfb357014c594fbde15be2061e4851fe49745 Mon Sep 17 00:00:00 2001 From: Mark Hsu Date: Sat, 17 Dec 2022 15:46:48 -0800 Subject: [PATCH 2/3] Fix Client gameOptions expansion using spread operator --- src/client.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client.js b/src/client.js index aa2e7c6..07ea1aa 100644 --- a/src/client.js +++ b/src/client.js @@ -69,7 +69,7 @@ Client.prototype = { if (this._boardElement) { this._game = new Game(Object.assign({ element: this._boardElement }, gameOptions)); } else { - this._game = new Game(...gameOptions); + this._game = new Game({...gameOptions}); } }, From f329ef182b8450ad4076826ad5cd9f72a7147922 Mon Sep 17 00:00:00 2001 From: Mark Hsu Date: Sun, 18 Dec 2022 21:45:52 -0800 Subject: [PATCH 3/3] test: add test for highlighting spaces --- test/highlight-test.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/highlight-test.js diff --git a/test/highlight-test.js b/test/highlight-test.js new file mode 100644 index 0000000..af0765f --- /dev/null +++ b/test/highlight-test.js @@ -0,0 +1,24 @@ +var helpers = require("./helpers.js"); +var expect = require("chai").expect; +var tenuki = require("../index.js"); +var Game = tenuki.Game; +var utils = tenuki.utils; + +describe("Board highlights", function() { + beforeEach(function() { + helpers.generateNewTestBoard(); + }); + ["svg", "dom"].forEach(renderer => { + describe(`${renderer} renderer`, function() { + it("can highlight empty spaces", function() { + var testBoardElement = document.querySelector("#test-board"); + + var game = new Game({ element: testBoardElement, boardSize: 5, renderer: renderer }); + + expect(utils.hasClass(testBoardElement.querySelectorAll(".intersection")[1], "highlight")).to.be.false; + game.highlightAt(1,1); + expect(utils.hasClass(testBoardElement.querySelectorAll(".intersection")[1], "highlight")).to.be.true; + }); + }); + }); +}); \ No newline at end of file