21 lines
888 B
JavaScript
21 lines
888 B
JavaScript
'use strict';
|
|
|
|
// Tests that the minimum ICU version for Node.js is at least the minimum ICU
|
|
// version for V8.
|
|
|
|
require('../common');
|
|
const assert = require('assert');
|
|
const path = require('path');
|
|
const { readFileSync } = require('fs');
|
|
|
|
const srcRoot = path.join(__dirname, '..', '..');
|
|
const icuVersionsFile = path.join(srcRoot, 'tools', 'icu', 'icu_versions.json');
|
|
const { minimum_icu: minimumICU } = require(icuVersionsFile);
|
|
const v8SrcFile = path.join(srcRoot,
|
|
'deps', 'v8', 'src', 'objects', 'intl-objects.h');
|
|
const v8Src = readFileSync(v8SrcFile, { encoding: 'utf8' });
|
|
const v8MinimumICU = v8Src.match(/#define\s+V8_MINIMUM_ICU_VERSION\s+(\d+)/)[1];
|
|
assert.ok(minimumICU >= Number(v8MinimumICU),
|
|
`minimum ICU version in ${icuVersionsFile} (${minimumICU}) ` +
|
|
`must be at least that in ${v8SrcFile} (${Number(v8MinimumICU)})`);
|