| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent a99a4a9 commit f8b74c9
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -50,10 +50,19 @@ var clients = []; | |||
| 50 | 50 | // If the client doesn't need to be called back for either function, it can pass null or undefined. | |
| 51 | 51 | // Both before and after here are assumed to be functions that accept one argument that is a node-callback function. | |
| 52 | 52 | java.registerClient = function(before, after) { | |
| 53 | + var before_, after_; | ||
| 53 | 54 | if (java.isJvmCreated()) { | |
| 54 | 55 | throw new Error('java.registerClient() called after JVM already created.'); | |
| 55 | 56 | } | |
| 56 | - clients.push({before: before, after: after}); | ||
| 57 | + before_ = (before && before.length === 0) ? | ||
| 58 | + function(cb) { before(); cb(); } : | ||
| 59 | + before; | ||
| 60 | + | ||
| 61 | + after_ = (after && after.length === 0) ? | ||
| 62 | + function(cb) { after(); cb(); } : | ||
| 63 | + after; | ||
| 64 | + | ||
| 65 | + clients.push({before: before_, after: after_}); | ||
| 57 | 66 | } | |
| 58 | 67 | ||
| 59 | 68 | // A client can register function hooks to be called before and after the JVM is created. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,33 @@ | |||
| 1 | + // testClientBeforeSyncThrows.js | ||
| 2 | + | ||
| 3 | + var _ = require('lodash'); | ||
| 4 | + var java = require("../"); | ||
| 5 | + var nodeunit = require("nodeunit"); | ||
| 6 | + | ||
| 7 | + module.exports = { | ||
| 8 | + | ||
| 9 | + clientBeforeSyncThrows: function(test) { | ||
| 10 | + test.expect(6); | ||
| 11 | + test.ok(!java.isJvmCreated()); | ||
| 12 | + | ||
| 13 | + java.asyncOptions = { | ||
| 14 | + syncSuffix: "Sync", | ||
| 15 | + }; | ||
| 16 | + | ||
| 17 | + function before() { | ||
| 18 | + test.ok(!java.isJvmCreated()); | ||
| 19 | + throw new Error('dummy error'); | ||
| 20 | + } | ||
| 21 | + | ||
| 22 | + java.registerClient(before); | ||
| 23 | + | ||
| 24 | + java.ensureJvm(function(err) { | ||
| 25 | + test.ok(_.isObject(err)); | ||
| 26 | + test.ok(err instanceof Error); | ||
| 27 | + test.strictEqual(err.message, 'dummy error'); | ||
| 28 | + test.ok(!java.isJvmCreated()); | ||
| 29 | + test.done(); | ||
| 30 | + }); | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + } | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -19,14 +19,12 @@ module.exports = { | |||
| 19 | 19 | asyncSuffix: "" | |
| 20 | 20 | }; | |
| 21 | 21 | ||
| 22 | - function before(callback) { | ||
| 22 | + function before() { | ||
| 23 | 23 | test.ok(!java.isJvmCreated()); | |
| 24 | - callback(); | ||
| 25 | 24 | } | |
| 26 | 25 | ||
| 27 | - function after(callback) { | ||
| 26 | + function after() { | ||
| 28 | 27 | test.ok(java.isJvmCreated()); | |
| 29 | - callback(); | ||
| 30 | 28 | } | |
| 31 | 29 | ||
| 32 | 30 | java.registerClient(before, after); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments