#!/usr/bin/env node // 被测模块 vs Python 参考实现的逐字节比对(输入: test_sign_expect.json) 'use strict' const fs = require('fs') const path = require('path') const { zzc, time33 } = require(path.join(__dirname, 'qqmusic_checkin.js')) const expect = JSON.parse(fs.readFileSync(path.join(__dirname, 'test_sign_expect.json'), 'utf8')) let fails = 0 const t33js = time33('Q_H_L_testkey1234567890') const t33ok = t33js === expect.time33 console.log(`time33 py=${expect.time33} js=${t33js} -> ${t33ok ? 'OK' : 'MISMATCH'}`) if (!t33ok) fails++ for (const c of expect.cases) { const got = zzc(c.payload) const ok = got === c.zzc if (!ok) { fails++ console.log(`zzc MISMATCH payload[:40]=${JSON.stringify(c.payload.slice(0, 40))}\n py=${c.zzc}\n js=${got}`) } else { console.log(`zzc OK len=${c.len} payload[:28]=${JSON.stringify(c.payload.slice(0, 28))}`) } } console.log('RESULT:', fails === 0 ? 'PASS' : `FAIL(${fails})`) process.exit(fails === 0 ? 0 : 1)