]> zoso.dev Git - buffer.git/commitdiff
Only run es6 node tests in browsers that support it
authorFeross Aboukhadijeh <feross@feross.org>
Wed, 20 Apr 2016 05:34:01 +0000 (22:34 -0700)
committerFeross Aboukhadijeh <feross@feross.org>
Wed, 20 Apr 2016 05:34:01 +0000 (22:34 -0700)
26 files changed:
.gitignore [new file with mode: 0644]
.npmignore
bin/download-node-tests.js
bin/test.js
bin/zuul-es5.yml [new file with mode: 0644]
bin/zuul-es6.yml [new file with mode: 0644]
package.json
test/node/test-buffer-alloc.js
test/node/test-buffer-arraybuffer.js
test/node/test-buffer-ascii.js
test/node/test-buffer-bad-overload.js
test/node/test-buffer-bytelength.js
test/node/test-buffer-compare-offset.js
test/node/test-buffer-concat.js
test/node/test-buffer-fill.js
test/node/test-buffer-includes.js
test/node/test-buffer-indexof.js
test/node/test-buffer-inheritance.js
test/node/test-buffer-inspect.js
test/node/test-buffer-iterator.js
test/node/test-buffer-safe-unsafe.js
test/node/test-buffer-slow.js
test/node/test-buffer-swap.js
test/node/test-buffer-zero-fill-cli.js
test/node/test-buffer-zero-fill-reset.js
test/node/test-buffer.js

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..6646b77
--- /dev/null
@@ -0,0 +1 @@
+.zuul.yml
index 4cea18245962b406bf6173f0be854afe9fb50e73..a274035604adbe0d461b2e29c14dd566d28ac322 100644 (file)
@@ -1 +1,2 @@
+.zuul.yml
 perf/
index 6b327a440a42e026b5249d812738f40f2e1bfb9d..6fe1f854154a9541b3f89bcce1992e6606987441 100755 (executable)
@@ -66,7 +66,7 @@ function testfixer (filename) {
     if (firstline) {
       // require buffer explicitly
       var preamble = 'var Buffer = require(\'../../\').Buffer;\n' +
-        'if (!Buffer.TYPED_ARRAY_SUPPORT) return;'
+        'if (Buffer.TYPED_ARRAY_SUPPORT) {'
       if (/use strict/.test(line)) line += '\n' + preamble
       else line + preamble + '\n' + line
       firstline = false
@@ -103,5 +103,8 @@ function testfixer (filename) {
     }
 
     cb(null, line + '\n')
+  }, function (cb) {
+    // flush function
+    this.push('\n}')
   })
 }
index 2fc368b98fbdf7d875d4bf1647be4dd963db1a9e..5a86f1b2c4be9eab11503cfe931ccbe2a87afd9f 100644 (file)
@@ -1,18 +1,41 @@
 #!/usr/bin/env node
 
 var cp = require('child_process')
+var fs = require('fs')
+var path = require('path')
 
-var runBrowserTests = !process.env.TRAVIS_PULL_REQUEST ||
+var shouldRunBrowserTests = !process.env.TRAVIS_PULL_REQUEST ||
   process.env.TRAVIS_PULL_REQUEST === 'false'
 
 var node = cp.spawn('npm', ['run', 'test-node'], { stdio: 'inherit' })
 node.on('close', function (code) {
-  if (code === 0 && runBrowserTests) {
-    var browser = cp.spawn('npm', ['run', 'test-browser'], { stdio: 'inherit' })
-    browser.on('close', function (code) {
-      process.exit(code)
-    })
+  if (code === 0 && shouldRunBrowserTests) {
+    runBrowserTests()
   } else {
     process.exit(code)
   }
 })
+
+function runBrowserTests () {
+  var zuulYmlPath = path.join(__dirname, '..', '.zuul.yml')
+
+  writeES5ZuulYml()
+  cp.spawn('npm', ['run', 'test-browser-es5'], { stdio: 'inherit' })
+    .on('close', function (code) {
+      if (code !== 0) process.exit(code)
+      writeES6ZuulYml()
+      cp.spawn('npm', ['run', 'test-browser-es6'], { stdio: 'inherit' })
+        .on('close', function (code) {
+          process.exit(code)
+        })
+    })
+
+  function writeES5ZuulYml () {
+    fs.writeFileSync(zuulYmlPath, fs.readFileSync(path.join(__dirname, 'zuul-es5.yml')))
+  }
+
+  function writeES6ZuulYml () {
+    fs.writeFileSync(zuulYmlPath, fs.readFileSync(path.join(__dirname, 'zuul-es6.yml')))
+  }
+}
+
diff --git a/bin/zuul-es5.yml b/bin/zuul-es5.yml
new file mode 100644 (file)
index 0000000..e30bf2b
--- /dev/null
@@ -0,0 +1,12 @@
+ui: tape
+scripts:
+  - ./test/_polyfill.js
+browsers:
+  - name: safari
+    version: latest
+  - name: ie
+    version: 8..latest
+  - name: android
+    version: 4.4..latest
+  - name: iphone
+    version: latest
diff --git a/bin/zuul-es6.yml b/bin/zuul-es6.yml
new file mode 100644 (file)
index 0000000..1fcb68d
--- /dev/null
@@ -0,0 +1,10 @@
+ui: tape
+scripts:
+  - ./test/_polyfill.js
+browsers:
+  - name: chrome
+    version: '-2..latest'
+  - name: firefox
+    version: '-2..latest'
+  - name: microsoftedge
+    version: 13..latest
index 5e70cb79ae71aa52e00a16b09e903748839ac8e5..facbe8ba87f2f224f82495be37b7f1bc3f6f8de2 100644 (file)
@@ -50,7 +50,8 @@
   },
   "scripts": {
     "test": "standard && node ./bin/test.js",
-    "test-browser": "zuul -- test/*.js test/node/*.js",
+    "test-browser-es5": "zuul -- test/*.js",
+    "test-browser-es6": "zuul -- test/*.js test/node/*.js",
     "test-browser-local": "zuul --local -- test/*.js test/node/*.js",
     "test-node": "tape test/*.js test/node/*.js && OBJECT_IMPL=true tape test/*.js",
     "perf": "browserify --debug perf/bracket-notation.js > perf/bundle.js && open perf/index.html",
index 46016d18cf3cc2761369538faf1be7758c93ca28..74060f3a2af491c3a2f731c8a8eb4263dae807c5 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 var common = {};
 var assert = require('assert');
 
@@ -681,7 +681,7 @@ assert.equal(dot.toString('base64'), '//4uAA==');
 }
 
 // Regression test for https://github.com/nodejs/node/issues/3496.
-// TODO assert.equal(Buffer.from('=bad'.repeat(1e4), 'base64').length, 0);
+// assert.equal(Buffer.from('=bad'.repeat(1e4), 'base64').length, 0);
 
 {
   // Creating buffers larger than pool size.
@@ -1294,7 +1294,7 @@ assert.throws(function() {
   }
 
   var utf16Buf = Buffer.from('0123456789', 'utf16le');
-  // TODO assert.deepEqual(utf16Buf.slice(0, 6), Buffer.from('012', 'utf16le'));
+  // assert.deepEqual(utf16Buf.slice(0, 6), Buffer.from('012', 'utf16le'));
 
   assert.equal(buf.slice('0', '1'), '0');
   assert.equal(buf.slice('-5', '10'), '56789');
@@ -1447,3 +1447,6 @@ assert(ubuf);
 assert(ubuf.buffer);
 assert.equal(ubuf.buffer.byteLength, 10);
 
+
+
+}
index 9721add824b96cd0d889c52bfccaee447256c476..b768d46f3e290bc5d000a92b77a16ab859f63123 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -110,3 +110,6 @@ b.writeDoubleBE(11.11, 0, true);
   });
 }
 
+
+
+}
\ No newline at end of file
index b0b6ea6f0196ad32927a3a858e8a2317a3d94492..2f22dd95f16477e5007896b26f9249bb5c7b2163 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 var assert = require('assert');
 
@@ -26,3 +26,6 @@ for (var i = 0; i < expected.length; ++i) {
   if (input.charCodeAt(i) > 127) ++i;
 }
 
+
+
+}
\ No newline at end of file
index 0e61175e007dcb840cc4c64b7ad978f5ebe3af8c..00a75b02b679cd5274e57ecf3cb3088616c4d38d 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 var assert = require('assert');
 
@@ -16,3 +16,6 @@ assert.doesNotThrow(function() {
   Buffer.from('deadbeaf', 'hex');
 });
 
+
+
+}
\ No newline at end of file
index e55163a9059c92e27f524e7adbc5c8c4b88e0e72..f50df494a4f0a5b7d244090ef578dda3cdd85d83 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -87,3 +87,6 @@ assert.equal(Buffer.byteLength('Il était tué', 'binary'), 12);
   assert.equal(24, Buffer.byteLength('Il était tué', encoding));
 });
 
+
+
+}
\ No newline at end of file
index a0640d250768f62a2a8ce768de65f369ec80401a..2051de754c6953cfae8440b5cdc8e2b09fe9de4d 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -64,3 +64,6 @@ assert.throws(() => a.compare(b, 0, Infinity), oor);
 assert.throws(() => a.compare(b, -Infinity, Infinity), oor);
 assert.throws(() => a.compare(), /Argument must be a Buffer/);
 
+
+
+}
\ No newline at end of file
index 7b2e57245eabb9823dd4b6c40d02165e5ae5c8ab..a518593e3f354428afa37bdd5914afa99a852919 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 var assert = require('assert');
 
@@ -38,3 +38,6 @@ function assertWrongList(value) {
   });
 }
 
+
+
+}
\ No newline at end of file
index 0d76cec341252194849e82771c6e8e090cbebb1c..3a21d37d2d861979f3efe1e11724c9ee4918ac3c 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -242,3 +242,6 @@ function testBufs(string, offset, length, encoding) {
                          writeToFill.apply(null, arguments));
 }
 
+
+
+}
\ No newline at end of file
index 78b170fc31bd3e533ec223839712269491685ebd..c4757cf626f5eee8804c1d71ca20b5de88dd6ee7 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 var assert = require('assert');
 
@@ -259,3 +259,6 @@ assert.throws(function() {
   b.includes([]);
 });
 
+
+
+}
\ No newline at end of file
index 0228bd1b43f10c0b1b2eca9cc8a753e41f22f4b3..8b900aed14d2f42b02cef88268499d17bbb4514a 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 var assert = require('assert');
 
@@ -285,3 +285,6 @@ assert.throws(function() {
   b.indexOf([]);
 });
 
+
+
+}
\ No newline at end of file
index afcdb97adabf70f51cb60b83e3ac8667abfdd182..d0683ee5b305785a3f62cf87b551e7fbd0ede910 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -40,3 +40,6 @@ vals.forEach(function(t) {
   t.toString();
 });
 
+
+
+}
\ No newline at end of file
index 609af30647c86ce867c2df527e243625f4291353..37daa726b093b86dba9487bf09935ea406007c05 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 var assert = require('assert');
 
@@ -39,3 +39,6 @@ assert.doesNotThrow(function() {
   assert.strictEqual(util.inspect(s), expected);
 });
 
+
+
+}
\ No newline at end of file
index ebaca20de7440d3d118588d6e06afb247ab728e9..f9de4c1899c37f3de8fc8cd33d10e0871d705e07 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 var assert = require('assert');
 
@@ -63,3 +63,6 @@ assert.deepEqual(arr, [
   [4, 5]
 ]);
 
+
+
+}
\ No newline at end of file
index 5a39ae4150253fc1284b4d83b2f28e8c5287cdd7..49a645d087f865bde37224f975e88784ed6e886c 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -25,3 +25,6 @@ assert(isZeroFilled(new Float64Array(10)));
 Buffer.allocUnsafe(10);
 assert(isZeroFilled(Buffer.alloc(10)));
 
+
+
+}
\ No newline at end of file
index 126600191107e88654fb350a8c46bad12ffeb07d..f9ad81533620da88ca2b13e64435701d8cbadc29 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -57,3 +57,6 @@ assert.throws(function() {
   SlowBuffer(buffer.kMaxLength + 1);
 }, 'invalid Buffer length');
 
+
+
+}
\ No newline at end of file
index d31d9b97c78c10c9b75cc755f938617c4b5b3304..db5ccd8066f0636fa22be6e6615921e888614762 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -61,3 +61,6 @@ assert.throws(() => Buffer.from(buf3).swap32(), re32);
 assert.throws(() => buf3.slice(1, 3).swap32(), re32);
 assert.throws(() => Buffer.alloc(1025).swap32(), re32);
 
+
+
+}
\ No newline at end of file
index 7cea0a996a0337d505b0cf6a011c95e5851c19bd..3be6575628923b5d701b435b24150b2cbf5d6352 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 // Flags: --zero-fill-buffers
 
 // when using --zero-fill-buffers, every Buffer and SlowBuffer
@@ -33,3 +33,6 @@ for (var i = 0; i < 50; i++) {
   }
 }
 
+
+
+}
\ No newline at end of file
index 10146f9df14d63b50fc9c8f089b788ff52d02add..3b33b2a62954ae14cb731f12b2b552967a6e26ac 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 
 
 var assert = require('assert');
@@ -20,3 +20,6 @@ for (var i = 0; i < 100; i++) {
   assert.ok(testUint8Array(ui), 'Uint8Array is not zero-filled');
 }
 
+
+
+}
\ No newline at end of file
index 78c4e68fc3a281c2951b7fb92ccbee10f558fdd7..4636ea27b0643193663cbd44cc19d217cb58a78b 100644 (file)
@@ -1,6 +1,6 @@
 'use strict';
 var Buffer = require('../../').Buffer;
-if (!Buffer.TYPED_ARRAY_SUPPORT) return;
+if (Buffer.TYPED_ARRAY_SUPPORT) {
 var common = {};
 var assert = require('assert');
 
@@ -678,7 +678,7 @@ assert.equal(dot.toString('base64'), '//4uAA==');
 }
 
 // Regression test for https://github.com/nodejs/node/issues/3496.
-// TODO assert.equal(Buffer('=bad'.repeat(1e4), 'base64').length, 0);
+// assert.equal(Buffer('=bad'.repeat(1e4), 'base64').length, 0);
 
 {
   // Creating buffers larger than pool size.
@@ -1296,7 +1296,7 @@ assert.throws(function() {
   }
 
   var utf16Buf = new Buffer('0123456789', 'utf16le');
-  // TODO assert.deepEqual(utf16Buf.slice(0, 6), Buffer('012', 'utf16le'));
+  // assert.deepEqual(utf16Buf.slice(0, 6), Buffer('012', 'utf16le'));
 
   assert.equal(buf.slice('0', '1'), '0');
   assert.equal(buf.slice('-5', '10'), '56789');
@@ -1444,3 +1444,6 @@ assert.equal(Buffer.prototype.offset, undefined);
 assert.equal(SlowBuffer.prototype.parent, undefined);
 assert.equal(SlowBuffer.prototype.offset, undefined);
 
+
+
+}