| 12345678910111213141516 |
- import assert from 'node:assert/strict'
- import {roofRasterSize,sharpenRoofRgba} from './roof-raster-quality.mjs'
- assert.deepEqual(roofRasterSize([54,53],{maxDimension:64}),[64,63])
- assert.deepEqual(roofRasterSize([54,53],{maxDimension:512,metresPerPixel:.263}),[206,203])
- assert.deepEqual(roofRasterSize([224,209],{maxDimension:512,metresPerPixel:.263}),[512,478])
- assert.throws(()=>roofRasterSize([54,53],{maxDimension:1024}))
- assert.throws(()=>roofRasterSize([0,3]));assert.throws(()=>roofRasterSize([54,53],{metresPerPixel:0}))
- const uniform=Buffer.alloc(5*5*4,130)
- assert.deepEqual(sharpenRoofRgba(uniform,5,5),uniform)
- const edge=Buffer.from(uniform);edge[48]=255;edge[49]=0;edge[50]=250
- const before=Buffer.from(edge),out=sharpenRoofRgba(edge,5,5,.5)
- assert.deepEqual(edge,before,'never mutate source image')
- for(let i=0;i<out.length;i++){assert.ok(Math.abs(out[i]-edge[i])<=8);if(i%4===3)assert.equal(out[i],edge[i])}
- assert.deepEqual(sharpenRoofRgba(edge,5,5,0),edge)
- assert.throws(()=>sharpenRoofRgba(edge,5,5,.6))
- console.log(JSON.stringify({passed:true,sizingCap:true,alphaPreserved:true,maxChannelDelta:8,neutralFieldUnchanged:true}))
|