Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/astro/test/api-routes.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ describe('API routes', () => {

describe('Binary data', () => {
it('can be returned from a response', async () => {
const dat = await fixture.readFile('/binary.dat', null);
const dat = await fixture.readBuffer('/binary.dat');
assert.equal(dat.length, 1);
assert.equal(dat[0], 0xff);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import assert from 'node:assert/strict';
import { after, before, describe, it } from 'node:test';
import { fileURLToPath } from 'node:url';
import * as cheerio from 'cheerio';
import { loadFixture } from './test-utils.js';
import { type DevServer, type Fixture, loadFixture } from './test-utils.js';

describe('Image optimization with Vite fs config', () => {
describe('fs.allow and fs.deny', () => {
let fixture;
let devServer;
let fixture: Fixture;
let devServer: DevServer;

before(async () => {
fixture = await loadFixture({
Expand Down Expand Up @@ -86,8 +86,8 @@ describe('Image optimization with Vite fs config', () => {
});

describe('safeModulePaths', () => {
let fixture;
let devServer;
let fixture: Fixture;
let devServer: DevServer;

before(async () => {
fixture = await loadFixture({
Expand All @@ -111,7 +111,7 @@ describe('Image optimization with Vite fs config', () => {
const img = $('#sibling-image');
assert.ok(img.length > 0, 'Image element should be present');

const imgSrc = img.attr('src');
const imgSrc = img.attr('src')!;
assert.ok(imgSrc, 'Should have image src');
assert.ok(imgSrc.includes('/_image'), 'Should use image optimization endpoint');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,78 +3,77 @@ import { Writable } from 'node:stream';
import { after, before, describe, it } from 'node:test';
import * as cheerio from 'cheerio';

import { AstroLogger } from '../dist/core/logger/core.js';
import { AstroLogger, type AstroLogMessage } from '../dist/core/logger/core.js';
import { testImageService } from './test-image-service.js';
import { loadFixture } from './test-utils.js';
import { type DevServer, type Fixture, loadFixture } from './test-utils.js';

describe('astro:image:infersize', () => {
/** @type {import('./test-utils').Fixture} */
let fixture;
let fixture: Fixture;
const remoteAvatarUrl = 'https://avatars.githubusercontent.com/u/622227?s=64&v=4';

describe('dev', () => {
/** @type {import('./test-utils').DevServer} */
let devServer;
/** @type {Array<{ type: any, level: 'error', message: string; }>} */
let logs = [];
let devServer: DevServer;
const logs: Array<AstroLogMessage> = [];

before(async () => {
fixture = await loadFixture({
root: './fixtures/core-image-infersize/',
});

devServer = await fixture.startDevServer({
logger: new AstroLogger({
level: 'error',
destination: new Writable({
objectMode: true,
write(event, _, callback) {
logs.push(event);
callback();
},
}),
const logger = new AstroLogger({
level: 'error',
destination: new Writable({
objectMode: true,
write(event, _, callback) {
logs.push(event);
callback();
},
}),
});
devServer = await fixture.startDevServer({
// @ts-expect-error: `logger` is an internal API
logger,
});
});

after(async () => {
await devServer.stop();
});

describe('inferSize works', () => {
let $;
let $: cheerio.CheerioAPI;
before(async () => {
let res = await fixture.fetch('/');
let html = await res.text();
const res = await fixture.fetch('/');
const html = await res.text();
$ = cheerio.load(html);
});

it('Image component works', async () => {
let $img = $('img');
const $img = $('img');
assert.equal(
$img.attr('src').startsWith('/_image') && $img.attr('src').endsWith('f=webp'),
$img.attr('src')!.startsWith('/_image') && $img.attr('src')!.endsWith('f=webp'),
true,
);
});

it('Picture component works', async () => {
let $img = $('picture img');
const $img = $('picture img');
assert.equal(
$img.attr('src').startsWith('/_image') && $img.attr('src').endsWith('f=png'),
$img.attr('src')!.startsWith('/_image') && $img.attr('src')!.endsWith('f=png'),
true,
);
});

it('getImage works', async () => {
let $img = $('#getImage');
const $img = $('#getImage');
assert.equal(
$img.attr('src').startsWith('/_image') && $img.attr('src').endsWith('f=webp'),
$img.attr('src')!.startsWith('/_image') && $img.attr('src')!.endsWith('f=webp'),
true,
);
});

it('direct function call work', async () => {
let $dimensions = $('#direct');
const $dimensions = $('#direct');
assert.equal($dimensions.text().trim(), '64x64');
});
});
Expand All @@ -92,10 +91,8 @@ describe('astro:image:infersize', () => {
});

describe('dev with custom image service', () => {
/** @type {import('./test-utils').Fixture} */
let customFixture;
/** @type {import('./test-utils').DevServer} */
let customDevServer;
let customFixture: Fixture;
let customDevServer: DevServer;

before(async () => {
customFixture = await loadFixture({
Expand Down
Loading
Loading