Update Iot.js
[platform/upstream/iotjs.git] / tools / test / run_pass / test_net4.js
1 /* Copyright 2015-present Samsung Electronics Co., Ltd. and other contributors
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15
16
17 var net = require('net');
18 var assert = require('assert');
19 var timers = require('timers');
20
21
22 var server = net.createServer();
23 var port = 22704;
24 var timeout = 1000;
25 var writeat = 2000;
26
27 server.listen(port, 5);
28
29 server.on('connection', function(socket) {
30   socket.setTimeout(timeout, function() {
31     socket.end();
32   });
33   socket.on('data', function(data) {
34     socket.end();
35   });
36   socket.on('close', function() {
37     server.close();
38   });
39 });
40
41
42 var socket = new net.Socket();
43
44 socket.connect(port, "127.0.0.1");
45
46 socket.on('connect', function() {
47   timers.setTimeout(function() {
48     assert.throws(
49       function() {
50         socket.write('Hello IoT.js');
51       }, Error);
52   }, writeat);
53 });
54
55 process.on('exit', function(code) {
56   assert.equal(code, 0);
57 });