From 79870494df63028791fb15a3b89f85c59588aa86 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Thu, 1 Aug 2013 15:40:54 +0800 Subject: [PATCH] Add test for native modules. --- package.json | 3 ++- spec/fixtures/module/int64_native.js | 6 ++++++ spec/modules/native.coffee | 24 ++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 spec/fixtures/module/int64_native.js create mode 100644 spec/modules/native.coffee diff --git a/package.json b/package.json index 097ee5cee0..95f28a8813 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "mocha": "*", "walkdir": "*", - "unzip": "*" + "unzip": "*", + "int64-native": "*" }, "private": true, diff --git a/spec/fixtures/module/int64_native.js b/spec/fixtures/module/int64_native.js new file mode 100644 index 0000000000..bcc08d2aa7 --- /dev/null +++ b/spec/fixtures/module/int64_native.js @@ -0,0 +1,6 @@ +process.on('uncaughtException', function(err) { + process.send(err.message); +}); + +require('int64-native'); +process.send('ok'); diff --git a/spec/modules/native.coffee b/spec/modules/native.coffee new file mode 100644 index 0000000000..ab04f734b8 --- /dev/null +++ b/spec/modules/native.coffee @@ -0,0 +1,24 @@ +assert = require 'assert' +path = require 'path' + +fixtures = path.resolve __dirname, '..', 'fixtures' + +describe 'modules', -> + describe 'native module', -> + it 'can be required in renderer', -> + Int64 = require 'int64-native' + x = new Int64() + y = new Int64(42) + z = new Int64(0xfedcba98, 0x76543210) + w = new Int64('fedcba9876543210') + assert.equal x.toString(), '0000000000000000' + assert.equal y.toString(), '000000000000002a' + assert.equal z.toString(), 'fedcba9876543210' + assert.equal w.toString(), 'fedcba9876543210' + + it 'can be required in node binary', (done) -> + int64_native = path.join fixtures, 'module', 'int64_native.js' + child = require('child_process').fork int64_native + child.on 'message', (msg) -> + assert.equal msg, 'ok' + done()