dev-api: add developer portal, OpenAPI spec, and Flatenbadet case study
- New /developers/ page with API docs, SDKs, pricing, use cases - OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics - Case study: Glasskiosken i Flatenbadet — complete ROI analysis - Updated /order/ with recurring missions and frequency dropdown
This commit is contained in:
+74
@@ -0,0 +1,74 @@
|
||||
import { test } from 'tap'
|
||||
import { readFile } from 'fs'
|
||||
import ThreadStream from '../index.js'
|
||||
import { join } from 'desm'
|
||||
import { file } from './helper.js'
|
||||
|
||||
test('break up utf8 multibyte (sync)', (t) => {
|
||||
t.plan(2)
|
||||
const longString = '\u03A3'.repeat(16)
|
||||
|
||||
const dest = file()
|
||||
const stream = new ThreadStream({
|
||||
bufferSize: 15, // this must be odd
|
||||
filename: join(import.meta.url, 'to-file.js'),
|
||||
workerData: { dest },
|
||||
sync: true
|
||||
})
|
||||
|
||||
stream.on('finish', () => {
|
||||
readFile(dest, 'utf8', (err, data) => {
|
||||
t.error(err)
|
||||
t.equal(data, longString)
|
||||
})
|
||||
})
|
||||
|
||||
stream.write(longString)
|
||||
stream.end()
|
||||
})
|
||||
|
||||
test('break up utf8 multibyte (async)', (t) => {
|
||||
t.plan(2)
|
||||
const longString = '\u03A3'.repeat(16)
|
||||
|
||||
const dest = file()
|
||||
const stream = new ThreadStream({
|
||||
bufferSize: 15, // this must be odd
|
||||
filename: join(import.meta.url, 'to-file.js'),
|
||||
workerData: { dest },
|
||||
sync: false
|
||||
})
|
||||
|
||||
stream.on('finish', () => {
|
||||
readFile(dest, 'utf8', (err, data) => {
|
||||
t.error(err)
|
||||
t.equal(data, longString)
|
||||
})
|
||||
})
|
||||
|
||||
stream.write(longString)
|
||||
stream.end()
|
||||
})
|
||||
|
||||
test('break up utf8 multibyte several times bigger than write buffer', (t) => {
|
||||
t.plan(2)
|
||||
const longString = '\u03A3'.repeat(32)
|
||||
|
||||
const dest = file()
|
||||
const stream = new ThreadStream({
|
||||
bufferSize: 15, // this must be odd
|
||||
filename: join(import.meta.url, 'to-file.js'),
|
||||
workerData: { dest },
|
||||
sync: false
|
||||
})
|
||||
|
||||
stream.on('finish', () => {
|
||||
readFile(dest, 'utf8', (err, data) => {
|
||||
t.error(err)
|
||||
t.equal(data, longString)
|
||||
})
|
||||
})
|
||||
|
||||
stream.write(longString)
|
||||
stream.end()
|
||||
})
|
||||
Reference in New Issue
Block a user