From 64fd41df2ab5232411f0ab4ce4427aace7f642c4 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Fri, 21 Aug 2015 13:16:08 -0700 Subject: [PATCH] use buffer in harness only when running outside of the browser --- package.json | 1 + src/harness/harness.ts | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e8f491b2344..166b73b4a9c 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "clean": "jake clean" }, "browser": { + "buffer": false, "fs": false, "os": false, "path": false diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 24a44be6bfd..88d1bdb252e 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -26,7 +26,6 @@ // Block scoped definitions work poorly for global variables, temporarily enable var /* tslint:disable:no-var-keyword */ -var Buffer: BufferConstructor = require("buffer").Buffer; // this will work in the browser via browserify var _chai: typeof chai = require("chai"); @@ -55,9 +54,17 @@ module Utils { return ExecutionEnvironment.Node; } } - + export let currentExecutionEnvironment = getExecutionEnvironment(); + const Buffer: BufferConstructor = currentExecutionEnvironment !== ExecutionEnvironment.Browser + ? require("buffer").Buffer + : undefined; + + export function encodeString(s: string): string { + return Buffer ? (new Buffer(s)).toString("utf8") : s; + } + export function evalFile(fileContents: string, fileName: string, nodeContext?: any) { let environment = getExecutionEnvironment(); switch (environment) { @@ -1736,7 +1743,7 @@ module Harness { } function writeComparison(expected: string, actual: string, relativeFileName: string, actualFileName: string, descriptionForDescribe: string) { - let encoded_actual = (new Buffer(actual)).toString("utf8"); + let encoded_actual = Utils.encodeString(actual); if (expected != encoded_actual) { // Overwrite & issue error let errMsg = "The baseline file " + relativeFileName + " has changed";