From ae48a01e2684c12f05972f243187666780116a3f Mon Sep 17 00:00:00 2001 From: Eneko Lakasta Date: Thu, 11 Jan 2018 11:57:11 +0100 Subject: [PATCH] extract setICUEnvVariable() to it's own module --- app.js | 13 +------------ lib/cartodb/utils/icu_data_env_setter.js | 18 ++++++++++++++++++ test/support/test_helper.js | 11 +---------- 3 files changed, 20 insertions(+), 22 deletions(-) create mode 100644 lib/cartodb/utils/icu_data_env_setter.js diff --git a/app.js b/app.js index 19dada53..1dd465f0 100755 --- a/app.js +++ b/app.js @@ -4,7 +4,7 @@ var path = require('path'); var fs = require('fs'); var _ = require('underscore'); var semver = require('semver'); -const glob = require('glob'); +const setICUEnvVariable = require('./lib/cartodb/utils/icu_data_env_setter'); // jshint undef:false var log = console.log.bind(console); @@ -17,18 +17,7 @@ if (!semver.satisfies(nodejsVersion, '>=6.9.0')) { process.exit(1); } -// See https://github.com/CartoDB/support/issues/984 -// CartoCSS properties text-wrap-width/text-wrap-character not working // This function should be called before the require('yargs'). -function setICUEnvVariable() { - if (process.env.ICU_DATA === undefined) { - let directory = glob.sync(__dirname + '/node_modules/mapnik/lib/binding/*/share/mapnik/icu/'); - - if (directory && directory.length > 0) { - process.env.ICU_DATA = directory[0]; - } - } -} setICUEnvVariable(); var argv = require('yargs') diff --git a/lib/cartodb/utils/icu_data_env_setter.js b/lib/cartodb/utils/icu_data_env_setter.js new file mode 100644 index 00000000..1b4a0f3f --- /dev/null +++ b/lib/cartodb/utils/icu_data_env_setter.js @@ -0,0 +1,18 @@ +'use strict'; + +const glob = require('glob'); +const path = require('path'); + +// See https://github.com/CartoDB/support/issues/984 +// CartoCSS properties text-wrap-width/text-wrap-character not working +function setICUEnvVariable() { + if (process.env.ICU_DATA === undefined) { + let directory = glob.sync(path.join(__dirname, '../../..', '/node_modules/mapnik/lib/binding/*/share/mapnik/icu/')); + + if (directory && directory.length > 0) { + process.env.ICU_DATA = directory[0]; + } + } +} + +module.exports = setICUEnvVariable; diff --git a/test/support/test_helper.js b/test/support/test_helper.js index 57011698..7d5c6a7c 100644 --- a/test/support/test_helper.js +++ b/test/support/test_helper.js @@ -15,22 +15,13 @@ var redis = require('redis'); var nock = require('nock'); var log4js = require('log4js'); var pg = require('pg'); +const setICUEnvVariable = require('../../lib/cartodb/utils/icu_data_env_setter'); // set environment specific variables global.environment = require(__dirname + '/../../config/environments/test'); global.environment.name = 'test'; process.env.NODE_ENV = 'test'; -// See https://github.com/CartoDB/support/issues/984 -// CartoCSS properties text-wrap-width/text-wrap-character not working -function setICUEnvVariable() { - const glob = require('glob'); - const path = require('path'); - let directory = glob.sync(path.join(__dirname, '../..', '/node_modules/mapnik/lib/binding/*/share/mapnik/icu/')); - if (directory && directory.length > 0) { - process.env.ICU_DATA = directory[0]; - } -} setICUEnvVariable(); // don't output logs in test environment to reduce noise