~ubuntu-branches/ubuntu/precise/nodejs/precise

« back to all changes in this revision

Viewing changes to test/simple/test-net-large-string.js

  • Committer: Package Import Robot
  • Author(s): Felix Geyer
  • Date: 2011-11-29 19:27:51 UTC
  • mfrom: (7.1.16 sid)
  • Revision ID: package-import@ubuntu.com-20111129192751-25xi6duvkemghsb5
Tags: 0.4.12-1ubuntu1
* Merge from Debian unstable,
* Drop 2007_remove_internet_test.patch, update
  2005_expected_failing_tests.patch instead:
  - Allow test-dgram-multicast to fail, requires root privileges.
  - Allow test-c-ares, test-regress-GH-819 and test-net-connect-timeout to
    fail, they require network access.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright Joyent, Inc. and other Node contributors.
 
2
//
 
3
// Permission is hereby granted, free of charge, to any person obtaining a
 
4
// copy of this software and associated documentation files (the
 
5
// "Software"), to deal in the Software without restriction, including
 
6
// without limitation the rights to use, copy, modify, merge, publish,
 
7
// distribute, sublicense, and/or sell copies of the Software, and to permit
 
8
// persons to whom the Software is furnished to do so, subject to the
 
9
// following conditions:
 
10
//
 
11
// The above copyright notice and this permission notice shall be included
 
12
// in all copies or substantial portions of the Software.
 
13
//
 
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
15
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
16
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 
17
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 
18
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 
19
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 
20
// USE OR OTHER DEALINGS IN THE SOFTWARE.
 
21
 
 
22
var common = require('../common');
 
23
var assert = require('assert');
 
24
var net = require('net');
 
25
 
 
26
var kPoolSize = 40 * 1024;
 
27
var data = '';
 
28
for (var i = 0; i < kPoolSize; ++i) {
 
29
  data += 'あ'; // 3bytes
 
30
}
 
31
var receivedSize = 0;
 
32
var encoding = 'UTF-8';
 
33
 
 
34
var server = net.createServer(function(socket) {
 
35
  socket.setEncoding(encoding);
 
36
  socket.on('data', function(data) {
 
37
    receivedSize += data.length;
 
38
  });
 
39
  socket.on('end', function() {
 
40
    socket.end();
 
41
  });
 
42
});
 
43
 
 
44
server.listen(common.PORT, function() {
 
45
  var client = net.createConnection(common.PORT);
 
46
  client.on('end', function() {
 
47
    server.close();
 
48
  });
 
49
  client.write(data, encoding);
 
50
  client.end();
 
51
});
 
52
 
 
53
process.on('exit', function() {
 
54
  assert.equal(receivedSize, kPoolSize);
 
55
});