Files
tinyusdz/web/js/test-malicious.js
Syoyo Fujita 6b41081a04 Add additional skeletal animation and skinning test files
Added comprehensive test models and scripts for skeletal animation features:

Skeletal Animation Test Models (models/):
- skelanim-empty.usda: Edge case with no animation data
- skelanim-mixed.usda: Mixed static and time-sampled (incomplete skeleton binding)
- skelanim-rotation-only.usda: Only rotation channels animated
- skelanim-single-joint.usda: Single joint animation
- skelanim-static.usda: Static values only (incomplete skeleton binding)
- skelanim-timesampled.usda: Time-sampled values (incomplete skeleton binding)

Synthetic Skin Test Models (models/):
- synthetic-skin-8influences.usda: 8 influences per vertex test
- synthetic-skin-16influences.usda: 16 influences per vertex test
- synthetic-skin-32influences.usda: 32 influences per vertex test

Test Scripts (web/js/):
- test-anim-debug.js: Animation debugging utility
- test-16influences.js: Test 16 influences per vertex
- test-all-bone-reduction.js: Bone reduction testing
- test-boundaries.js: Boundary condition tests
- test-digit-limits.js: Digit parsing limits
- test-malicious.js: Malicious input handling
- test-number-parsing.js: Number parsing validation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 05:06:51 +09:00

10 lines
370 B
JavaScript

import { TinyUSDZLoader } from './src/tinyusdz/TinyUSDZLoader.js';
import fs from 'node:fs';
const loader = new TinyUSDZLoader();
await loader.init();
const data = fs.readFileSync('../../models/test-malicious-digits.usda');
loader.parse(data, 'test',
() => console.log('UNEXPECTED: Malicious file loaded'),
(e) => console.log('GOOD: Malicious file rejected')
);