sharp/test/unit/platform.js

48 lines
1.6 KiB
JavaScript

'use strict';
const assert = require('assert');
const platform = require('../../lib/platform');
describe('Platform-detection', function () {
it('Can override arch with npm_config_arch', function () {
process.env.npm_config_arch = 'test';
assert.strictEqual('test', platform().split('-')[1]);
delete process.env.npm_config_arch;
});
it('Can override platform with npm_config_platform', function () {
process.env.npm_config_platform = 'test';
assert.strictEqual('test', platform().split('-')[0]);
delete process.env.npm_config_platform;
});
it('Can override ARM version via npm_config_armv', function () {
process.env.npm_config_arch = 'arm';
process.env.npm_config_armv = 'test';
assert.strictEqual('armvtest', platform().split('-')[1]);
delete process.env.npm_config_armv;
delete process.env.npm_config_arch;
});
it('Can detect ARM version via process.config', function () {
process.env.npm_config_arch = 'armhf';
const armVersion = process.config.variables.arm_version;
process.config.variables.arm_version = 'test';
assert.strictEqual('armvtest', platform().split('-')[1]);
process.config.variables.arm_version = armVersion;
delete process.env.npm_config_arch;
});
it('Defaults to ARMv6 for 32-bit', function () {
process.env.npm_config_arch = 'arm';
assert.strictEqual('armv6', platform().split('-')[1]);
delete process.env.npm_config_arch;
});
it('Defaults to ARMv8 for 64-bit', function () {
process.env.npm_config_arch = 'arm64';
assert.strictEqual('armv8', platform().split('-')[1]);
delete process.env.npm_config_arch;
});
});