Skip to content

Commit aa9b553

Browse files
legendecasyorkie
authored andcommitted
src: coalesce null msg item to void (#13)
1 parent 4da991e commit aa9b553

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/cli-native.cc

+2
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,8 @@ static bool genCapsByJSArray(napi_env env, napi_value jsmsg,
541541
if (!genCapsByJSArray(env, v, sub))
542542
return false;
543543
caps->write(sub);
544+
} else if (tp == napi_null) {
545+
caps->write();
544546
} else if (tp == napi_undefined) {
545547
caps->write();
546548
} else

test/flora-type.test.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
'use strict'
2+
3+
var test = require('tape')
4+
var flora = require('..')
5+
var Agent = flora.Agent
6+
var agentOptions = { reconnInterval: 10000, bufsize: 0 }
7+
var okUri = 'unix:/var/run/flora.sock'
8+
var crypto = require('crypto')
9+
10+
test('flora write message types', t => {
11+
var recvClient = new Agent(okUri, agentOptions)
12+
13+
var msgId = crypto.randomBytes(5).toString('hex')
14+
var msgName = `instant msg test one[${msgId}]`
15+
16+
var writeMsg = [32, 64.0, 'hello flora', null, undefined, ['123']]
17+
var expectedMsg = [32, 64.0, 'hello flora', undefined, undefined, ['123']]
18+
recvClient.subscribe(msgName, (msg, type) => {
19+
t.deepEqual(msg, expectedMsg)
20+
t.end()
21+
recvClient.close()
22+
})
23+
recvClient.start()
24+
var postClient = new Agent(okUri, agentOptions)
25+
postClient.start()
26+
postClient.post(msgName, writeMsg)
27+
postClient.close()
28+
})

0 commit comments

Comments
 (0)