0
0
mirror of https://github.com/honojs/hono.git synced 2024-11-25 13:19:30 +01:00
hono/runtime_tests/deno/hono.test.ts
Yusuke Wada ae3a67beb1
perf(context): improve initializing Context (#3046)
* perf(context): improve initializing `Context`

* update to pass tests and CI

* removed not used module

* remove not used module
2024-06-27 10:44:37 +09:00

35 lines
1.0 KiB
TypeScript

import { Context } from '../../src/context.ts'
import { env, getRuntimeKey } from '../../src/helper/adapter/index.ts'
import { Hono } from '../../src/hono.ts'
import { assertEquals } from './deps.ts'
// Test just only minimal patterns.
// Because others are tested well in Cloudflare Workers environment already.
Deno.env.set('NAME', 'Deno')
Deno.test('Hello World', async () => {
const app = new Hono()
app.get('/:foo', (c) => {
c.header('x-param', c.req.param('foo'))
c.header('x-query', c.req.query('q') || '')
return c.text('Hello Deno!')
})
const res = await app.request('/foo?q=bar')
assertEquals(res.status, 200)
assertEquals(await res.text(), 'Hello Deno!')
assertEquals(res.headers.get('x-param'), 'foo')
assertEquals(res.headers.get('x-query'), 'bar')
})
Deno.test('runtime', () => {
assertEquals(getRuntimeKey(), 'deno')
})
Deno.test('environment variables', () => {
const c = new Context(new Request('http://localhost/'))
const { NAME } = env<{ NAME: string }>(c)
assertEquals(NAME, 'Deno')
})