diff --git a/dom/pick-and-click_test.js b/dom/pick-and-click_test.js index 2672e9aa..0176b184 100644 --- a/dom/pick-and-click_test.js +++ b/dom/pick-and-click_test.js @@ -5,7 +5,7 @@ const between = (expected, min, max) => expected >= min && expected <= max export const setup = async ({ page, rgbToHsl }) => { return { bodyBgRgb: async () => - rgbToHsl(await page.$eval("body", (body) => body.style.background)), + rgbToHsl(await page.$eval('body', (body) => body.style.background)), } } @@ -19,8 +19,8 @@ tests.push(async ({ page, eq }) => { const x = move const y = move * 2 await page.mouse.move(x, y) - const bodyBg = await page.$eval("body", (body) => body.style.background) - const validColor = bodyBg.includes("rgb") + const bodyBg = await page.$eval('body', (body) => body.style.background) + const validColor = bodyBg.includes('rgb') if (!validColor) continue bgs.push(bodyBg) } @@ -29,7 +29,7 @@ tests.push(async ({ page, eq }) => { }) const near = (a, b) => a < b + 2.5 && a > b - 2.5 -const numVal = (n) => n.textContent.replace(/[^0-9,]/g, "") +const numVal = (n) => n.textContent.replace(/[^0-9,]/g, '') const generateCoords = (random) => [ [random(125, 500), random(125, 400)], [random(125, 500), random(125, 400)], @@ -41,7 +41,7 @@ tests.push(async ({ page, eq, bodyBgRgb, random }) => { for (const move of generateCoords(random)) { await page.mouse.move(...move) const a = await bodyBgRgb() - const b = (await page.$eval(".hsl", numVal)).split(",") + const b = (await page.$eval('.hsl', numVal)).split(',') if (a.every((v, i) => near(v, Number(b[i])))) continue throw Error(`hsl(${a.map(Math.round)}) to far from hsl(${b})`) } @@ -52,7 +52,7 @@ tests.push(async ({ page, eq, bodyBgRgb, random }) => { for (const move of generateCoords(random)) { await page.mouse.move(...move) const [h] = await bodyBgRgb() - const hue = await page.$eval(".hue", numVal) + const hue = await page.$eval('.hue', numVal) if (!near(h, Number(hue))) { console.log({ h, hue, c: near(h, Number(hue)) }) @@ -66,7 +66,7 @@ tests.push(async ({ page, eq, bodyBgRgb, random }) => { for (const move of generateCoords(random)) { await page.mouse.move(...move) const [, , l] = await bodyBgRgb() - const lum = await page.$eval(".luminosity", numVal) + const lum = await page.$eval('.luminosity', numVal) if (!near(l, Number(lum))) { throw Error(`luminosity ${Math.round(l)} to far from ${lum}`) @@ -79,16 +79,16 @@ tests.push(async ({ page, eq, bodyBgRgb, random }) => { for (const move of generateCoords(random)) { await page.evaluate(() => { let clipboardText = null - window.navigator.clipboard.readText = () => - new Promise((resolve) => resolve(clipboardText)) - window.navigator.clipboard.writeText = (text) => - new Promise(() => (clipboardText = text)) + window.navigator.clipboard.readText = async () => clipboardText + window.navigator.clipboard.writeText = async (text) => { + clipboardText = text + } }) await page.mouse.click(...move) const clipboard = await page.evaluate(() => window.navigator.clipboard.readText() ) - const hslValue = await page.$eval(".hsl", (hsl) => hsl.textContent) + const hslValue = await page.$eval('.hsl', (hsl) => hsl.textContent) eq(hslValue, clipboard) } }) @@ -97,13 +97,13 @@ tests.push(async ({ page, eq, bodyBgRgb, random }) => { // check that each svg axis is following the mouse const [[mouseX, mouseY]] = generateCoords(random) await page.mouse.move(mouseX, mouseY) - const axisX = await page.$eval("#axisX", (line) => [ - line.getAttribute("x1"), - line.getAttribute("x2"), + const axisX = await page.$eval('#axisX', (line) => [ + line.getAttribute('x1'), + line.getAttribute('x2'), ]) - const axisY = await page.$eval("#axisY", (line) => [ - line.getAttribute("y1"), - line.getAttribute("y2"), + const axisY = await page.$eval('#axisY', (line) => [ + line.getAttribute('y1'), + line.getAttribute('y2'), ]) const checkAxisCoords = (coords) => Number([...new Set(coords)].join()) diff --git a/js/tests/is-winner_test.js b/js/tests/is-winner_test.js index d355c3e2..a0f4b3bf 100644 --- a/js/tests/is-winner_test.js +++ b/js/tests/is-winner_test.js @@ -99,6 +99,14 @@ t(async ({ eq }) => ) ) +t(async ({ eq }) => + // testing France + eq( + await isWinner('France'), + 'France is not what we are looking for because of the number of times it was champion' + ) +) + t(async ({ eq, ctx }) => // testing correct number of times and correct continent, for the fake country eq( diff --git a/js/tests/throttle_test.js b/js/tests/throttle_test.js index 0a695384..67731e1d 100644 --- a/js/tests/throttle_test.js +++ b/js/tests/throttle_test.js @@ -1,7 +1,7 @@ export const tests = [] const t = (f) => tests.push(f) -const add = (arr, el) => arr.push(el) +const add = (arr, el) => arr?.push(el) const run = (callback, callLimit, nbr) => new Promise((r) => { let arr = [] @@ -28,13 +28,13 @@ t(async ({ eq }) => ) t(async ({ eq }) => - // it works concurently + // it works concurrently eq( await Promise.all([ - run(throttle(add, 16), 26, 5), - run(throttle(add, 16), 26, 5), + run(throttle(add, 16), 26, 6), + run(throttle(add, 16), 26, 6), ]), - [4, 4] + [5, 5] ) ) diff --git a/subjects/is-winner/README.md b/subjects/is-winner/README.md index bca382bc..5970e272 100644 --- a/subjects/is-winner/README.md +++ b/subjects/is-winner/README.md @@ -16,12 +16,13 @@ return a resolved Promise with the string: - ` + ' won the FIFA World Cup in ' + + 'winning by ' + `, otherwise. -If the country was champion in more than one year, the years should be -displayed like : '1000, 1004, 1008'. The same goes for the results +The years and results should be displayed like bellow: + +``` + ' won the FIFA World Cup in 1000, 1004, 1008 winning by 4-3, 5-2, 1-0``` ### Code provided -> all code provided will be added to your solution and doesn't need to be submited. +> all code provided will be added to your solution and doesn't need to be submitted. ```js const db = (() => { diff --git a/subjects/keep-trying-or-giveup/README.md b/subjects/keep-trying-or-giveup/README.md index 1955f561..359b91fd 100644 --- a/subjects/keep-trying-or-giveup/README.md +++ b/subjects/keep-trying-or-giveup/README.md @@ -27,5 +27,5 @@ resolve before `delay` time has reached. ### Notions - [nan-academy.github.io/js-training/examples/promise.js](https://nan-academy.github.io/js-training/examples/promises.js) -- [devdocs.io/dom/windoworworkerglobalscope/settimeout](https://devdocs.io/dom/windoworworkerglobalscope/settimeout) +- [devdocs.io/dom/settimeout]( https://devdocs.io/dom/settimeout) - [devdocs.io/javascript/global_objects/promise/race](https://devdocs.io/javascript/global_objects/promise/race) diff --git a/subjects/manipulate-values/README.md b/subjects/manipulate-values/README.md index 256df972..6d4d6b55 100644 --- a/subjects/manipulate-values/README.md +++ b/subjects/manipulate-values/README.md @@ -47,6 +47,7 @@ You will have a small database to help you with the groceries. ```js // small database with nutrition facts, per 100 grams +// In this exercise this is used for testing purposes only // prettier-ignore const nutritionDB = { tomato: { calories: 18, protein: 0.9, carbs: 3.9, sugar: 2.6, fiber: 1.2, fat: 0.2 },