Skip to content
Permalink
Browse files

test: test for minimum ICU version consistency

The minimum ICU version for Node.js must be at least the minimum ICU
version for V8.

PR-URL: #30608
Refs: #30607
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
  • Loading branch information
richardlau committed Nov 23, 2019
1 parent f3a5097 commit f2060fa9e6d7b179c3c49b2e630e3bc981a565de
Showing with 20 additions and 0 deletions.
  1. +20 −0 test/parallel/test-icu-minimum-version.js
@@ -0,0 +1,20 @@
'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)})`);

0 comments on commit f2060fa

Please sign in to comment.
You can’t perform that action at this time.