| '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)})`); |