From 4b62bfbe76cdf2442c315300388212a4d68ccf31 Mon Sep 17 00:00:00 2001 From: ktym4a Date: Thu, 15 Feb 2024 23:04:54 +0700 Subject: [PATCH] chore: move test to node (#10134) --- .../test/{0-css.test.js => 0-css.nodetest.js} | 183 ++++---- packages/astro/test/cli.nodetest.js | 204 +++++++++ packages/astro/test/cli.test.js | 186 --------- ...ess.test.js => client-address.nodetest.js} | 20 +- ...ent.test.js => code-component.nodetest.js} | 11 +- ....test.js => component-library.nodetest.js} | 47 ++- ...g-mode.test.js => config-mode.nodetest.js} | 19 +- ....js => config-vite-css-target.nodetest.js} | 5 +- ...g-vite.test.js => config-vite.nodetest.js} | 5 +- ...est.js => content-collections.nodetest.js} | 110 ++--- ...st.js => core-image-infersize.nodetest.js} | 24 +- ... => core-image-remark-imgattr.nodetest.js} | 9 +- ...e-image.test.js => core-image.nodetest.js} | 393 ++++++++++-------- ...test.js => custom-assets-name.nodetest.js} | 5 +- 14 files changed, 654 insertions(+), 567 deletions(-) rename packages/astro/test/{0-css.test.js => 0-css.nodetest.js} (63%) create mode 100644 packages/astro/test/cli.nodetest.js delete mode 100644 packages/astro/test/cli.test.js rename packages/astro/test/{client-address.test.js => client-address.nodetest.js} (86%) rename packages/astro/test/{code-component.test.js => code-component.nodetest.js} (72%) rename packages/astro/test/{component-library.test.js => component-library.nodetest.js} (73%) rename packages/astro/test/{config-mode.test.js => config-mode.nodetest.js} (81%) rename packages/astro/test/{config-vite-css-target.test.js => config-vite-css-target.nodetest.js} (83%) rename packages/astro/test/{config-vite.test.js => config-vite.nodetest.js} (76%) rename packages/astro/test/{content-collections.test.js => content-collections.nodetest.js} (71%) rename packages/astro/test/{core-image-infersize.test.js => core-image-infersize.nodetest.js} (85%) rename packages/astro/test/{core-image-remark-imgattr.test.js => core-image-remark-imgattr.nodetest.js} (85%) rename packages/astro/test/{core-image.test.js => core-image.nodetest.js} (74%) rename packages/astro/test/{custom-assets-name.test.js => custom-assets-name.nodetest.js} (81%) diff --git a/packages/astro/test/0-css.test.js b/packages/astro/test/0-css.nodetest.js similarity index 63% rename from packages/astro/test/0-css.test.js rename to packages/astro/test/0-css.nodetest.js index c8c5af6d8f..4cc1d18645 100644 --- a/packages/astro/test/0-css.test.js +++ b/packages/astro/test/0-css.nodetest.js @@ -4,7 +4,8 @@ * rather than trying to start up when all other threads are busy and having to fight for resources */ -import { expect } from 'chai'; +import assert from 'node:assert/strict'; +import { describe, before, it, after } from 'node:test'; import * as cheerio from 'cheerio'; import { loadFixture } from './test-utils.js'; @@ -22,18 +23,22 @@ describe('CSS', function () { let html; let bundledCSS; - before(async () => { - this.timeout(45000); // test needs a little more time in CI - await fixture.build(); + before( + async () => { + await fixture.build(); - // get bundled CSS (will be hashed, hence DOM query) - html = await fixture.readFile('/index.html'); - $ = cheerio.load(html); - const bundledCSSHREF = $('link[rel=stylesheet][href^=/_astro/]').attr('href'); - bundledCSS = (await fixture.readFile(bundledCSSHREF.replace(/^\/?/, '/'))) - .replace(/\s/g, '') - .replace('/n', ''); - }); + // get bundled CSS (will be hashed, hence DOM query) + html = await fixture.readFile('/index.html'); + $ = cheerio.load(html); + const bundledCSSHREF = $('link[rel=stylesheet][href^=/_astro/]').attr('href'); + bundledCSS = (await fixture.readFile(bundledCSSHREF.replace(/^\/?/, '/'))) + .replace(/\s/g, '') + .replace('/n', ''); + }, + { + timeout: 45000, + } + ); describe('Astro Styles', () => { it('HTML and CSS scoped correctly', async () => { @@ -53,24 +58,24 @@ describe('CSS', function () { } // 1. check HTML - expect(el1.attr('class')).to.equal(`blue`); - expect(el2.attr('class')).to.equal(`visible`); + assert.equal(el1.attr('class'), `blue`); + assert.equal(el2.attr('class'), `visible`); // 2. check CSS const expected = `.blue[${scopedAttribute}],.color\\:blue[${scopedAttribute}]{color:#b0e0e6}.visible[${scopedAttribute}]{display:block}`; - expect(bundledCSS).to.include(expected); + assert.equal(bundledCSS.includes(expected), true); }); it('Generated link tags are void elements', async () => { - expect(html).to.not.include(''); + assert.notEqual(html.includes(''), true); }); it('No