Commit Graph

769 Commits (cd921c2c62cc5ab4d79ed403f8f646566b8ac526)

Author SHA1 Message Date
Johan Euphrosine bedca2e7a9 add tests for console.log arguments handling 2010-08-22 12:34:00 -07:00
Ryan Dahl 2982e75a0b set-cookies header is an array of values. always 2010-08-21 16:34:38 -07:00
Ryan Dahl 60b93cca6d Fix race conditions in test-dgram-multicast.js 2010-08-19 18:49:27 -07:00
Herbert Vojčík 28b21d15c3 Fix undefined_reference_in_new_context test for own-context module loader. 2010-08-18 14:06:30 -07:00
Herbert Vojčík 2b126da395 Tests for behaviour of 'global'. 2010-08-18 12:08:39 -07:00
Herbert Vojčík 9253333850 Fix registerExtension for NODE_MODULE_CONTEXTS
Fix of registerExtension-produced non-string module loading with own
context. Plus finishing touches to the test.
2010-08-18 11:46:37 -07:00
Herbert Vojčík cf2b206a8e More changes to tests so they really work under context module loader.
Plus, getting rid of test/common.js defining things in global.
2010-08-17 08:41:05 -07:00
Herbert Vojčík 32e309440f Fix of 'sys.common.debug' calls in tests. 2010-08-17 08:08:36 -07:00
Marco Rogers 6744e59e46 detect 0 length fs writes with tests 2010-08-16 23:57:01 -07:00
Ryan Dahl 4593c04959 Implement net.Server.maxConnections
Simplify EMFILE behavior.
2010-08-15 14:01:55 -07:00
Ryan Dahl a8c2bb41af Fix tests 2010-08-13 08:55:42 -07:00
Ryan Dahl 03123435e0 Remove platform specific asserts 2010-08-13 08:13:54 -07:00
Bert Belder 0e8d858aba One more test with a race condition fixed 2010-08-13 07:18:38 -07:00
Rasmus Andersson 758f12f34c added read and write support for process.title Darwin
This will only manipulate the OS X-level process name, not the title shown
in e.g. ps.
2010-08-12 16:23:41 -07:00
Rasmus Andersson 8d5e05668b Added support for multiple listeners to DNS multicast datagrams.
Some platforms require SO_REUSEPORT to be set for the socket.
2010-08-11 19:02:20 -07:00
Bert Belder 7059be19ec Fix http and net tests failing due to race condition
Plus some minor cosmetic corrections
2010-08-11 17:27:44 -07:00
Ryan Dahl 9395786d11 Fix race conditions in tests 2010-08-10 17:48:37 -07:00
Bert Belder aaa1f451e6 Expose cwd option to child_process.exec() 2010-08-06 13:38:41 -07:00
Bert Belder 94914135df New api for child_process.spawn; ability to set cwd for spawn()ed process
Tests for child_process.spawn() use new API

Test for deprecated child_process.spawn() API
2010-08-06 13:37:30 -07:00
Ryan Dahl d408de87fc Remove module.js - put code into src/node.js 2010-08-06 12:34:02 -07:00
cloudhead fe3e419687 querystring.parse: handle undefined value properly 2010-08-05 10:46:28 -07:00
Nick Stenning 0a3eff8021 Standardise module load order for native and registered file extensions.
This patch standardises the load order for modules. Highest priority is trying to load exactly the file the user specified, followed by native extensions, followed by registered extra extensions, etc.

In full, if we require('foo') having registered '.coffee' as an alternative extension, we try and load the following files in order:

    foo
    foo.js
    foo.node
    foo.coffee
    foo/index.js
    foo/index.node
    foo/index.coffee
2010-08-04 16:03:08 -07:00
Nick Stenning 78520ba482 Don't attempt to load a directory.
This patch replaces the path.exists check for module loading with a call to
fs.statSync (or fs.stat for require.async) which ensures that it's not trying
to load a directory.
2010-08-04 15:55:47 -07:00
Ryan Dahl 7db5c8a10d Fix toString('base64') bug
Thanks to Stepan Stolyarov for the test case.
2010-08-04 11:38:48 -07:00
Ryan Dahl adec544fdd Revert "Expose the V8 debug object process.debug"
This reverts commit d9fbb8a580.
2010-08-04 10:38:19 -07:00
Ryan Dahl 31b59400f8 Allow null context in Script 2010-08-04 10:20:40 -07:00
Ryan Dahl d9fbb8a580 Expose the V8 debug object process.debug
Add one duplicate test from V8, just to make sure it works.
2010-08-02 00:46:09 -07:00
Mikeal Rogers 3214116be6 Implement keep-alive for http.Client
Send the 'Connection: keep-alive' header in your request to enable.
2010-08-01 22:34:17 -07:00
isaacs 65037eeb32 Don't let path.normalize get above the root.
Any path.join or path.normalize that starts with a / will not go "above" that after normalization.  This is important because /../foo is almost *always* some sort of error, and doesn't match the corollary in sh: `cd $p; pwd`

At the worse, this can be a vector for exploits, since a static file server might do path.join(docroot, path.normalize("/"+req)) to get the file.  If the normalized request path could be something like "/../../../etc/passwd" then bad things could happen.
2010-08-01 20:20:17 -07:00
Ben Noordhuis f72ac17c89 Buffer: graciously handle padding in base64-encoded input. 2010-07-30 10:49:00 -07:00
Ryan Dahl f291fbc8a7 Fix ending \0 in base64 decoding 2010-07-29 14:52:40 -07:00
Ben Noordhuis 95638c9b0d Buffer: adjust buffer size so the base64-decoded input fits snugly.
Stops Valgrind from complaining about uninitialized memory access.
2010-07-28 11:37:23 -07:00
Dmitry Baranovskiy 8ab3c3e7c3 Added ability to pass offset to buffer write and toString methods as a string, i.e. '2' and encoding as anything 2010-07-25 20:16:37 -07:00
Ryan Dahl 2c1ca4078d Implement buffer.write for base64
There might be an off-by-one on the returned value.
2010-07-23 16:36:52 -07:00
Ryan Dahl 528015e0d8 Implement buffer.toString('base64') 2010-07-23 13:52:44 -07:00
isaacs f0f247d7e5 Fix dirname so that dirname('/a/b/') -> '/a', like sh's does.
Before there was this comment:
  Can't strip trailing slashes since module.js incorrectly
  thinks dirname('/a/b/') should yield '/a/b' instead of '/a'.
But now, such thinking is corrected.
2010-07-23 09:08:49 -07:00
Chandra Sekar S f5f7cb9264 Support for reading byte ranges from files using fs.createReadStream. 2010-07-21 11:33:35 -07:00
Peter Griess 56f200af5d Fix Buffer.toString() on 0-length slices.
- Buffer.toString('ascii', 0, 0) incorrectly returns the entire contents
  of the buffer. Fix this.
- Provide similar behavior to Buffer.write() and Buffer.copy() when
  dealing with 0-length in valid and invalid byte ranges.
2010-07-20 15:38:10 -07:00
isaacs d75b63bc3c Support including modules that don't have an extension.
This way, require("/foo") will work if there is a "foo.js", or a file named
simply "foo" with no extension.
2010-07-20 10:26:24 -07:00
Ryan Dahl 7067a7155f Specify env differently in execFile
Callbacks should always be the last argument.
2010-07-19 20:08:35 -07:00
isaacs 49e0f14a2f Cache modules based on filename rather than ID
This is ever so slightly less efficient than caching based on ID, since the
filename has to be looked up before we can check the cache.  However, it's
the most minimal approach possible to get this change in place.  Since
require() is a blocking startup-time operation anyway, a bit of slowness is
not a huge problem.

A test involving require.paths modification and absolute loading. Here's the
gist of it.

Files: /p1/foo.js /p2/foo.js

  1. Add "/p1" to require.paths.
  2. foo1 = require("foo")
  3. assert foo1 === require("/p1/foo") (fail)
  4. Remove /p1 from require.paths.
  5. Add /p2 to require.paths.
  6. foo2 = require("foo")
  7. assert foo1 !== foo2 (fail)
  8. assert foo2 === require("/p2/foo") (fail)

It's an edge case, but it affects how dependencies are mapped by npm.
If your module requires foo-1.2.3, and my module requires foo-2.3.4,
then you should expect to have require("foo") give you foo-1.2.3, and
I should expect require("foo") to give me foo-2.3.4.  However, with
module ID based caching, if your code loads *first*, then your "foo"
is THE "foo", so I'll get your version instead of mine.

It hasn't yet been a problem, but only because there are so few
modules, and everyone pretty much uses the latest version all the
time.  But as things start to get to the 1.x and 2.x versions, it'll
be an issue, I'm sure.  Dependency hell isn't fun, so this is a way to
avoid it before it strikes.
2010-07-19 14:17:22 -07:00
Micheil Smith 299671b731 querystring: Removing typecasting of numeric strings to numbers
The tests did not accurately test for a strict equality, meaning that the
number == to the string.
2010-07-19 11:07:08 -07:00
Jan Kassens f18d9d8466 querystring.js: JSLint warnings fixed 2010-07-19 10:54:50 -07:00
Jan Kassens bb2acd5e75 querystring.stringify is now more solid
* handles NaN and Infinity
* works with arrays from other contexts
2010-07-19 10:53:32 -07:00
Benjamin Fritsch 0ed3532699 added test for Issue #214 2010-07-19 10:16:31 -07:00
Ryan Dahl 458bbb4687 fs.writeSync should return bytes written 2010-07-16 19:05:28 -07:00
Сергей Крыжановский 078a48a97b added env to child_process.exec 2010-07-15 17:17:03 -07:00
Ryan Dahl c926ab7746 Fix test-executable-path.js
Now that process.version doesn't say if the build is debug or not.
2010-07-15 14:21:32 -07:00
Ryan Dahl 8921bf454d Remove race conditions and simplify test-http-exceptions.js 2010-07-15 14:21:32 -07:00
Ryan Dahl 4c6f4dabf5 Adjust tests for error reporting on JSON.parse(undefined)
The V8 upgrade changed the stacktrace reports (?)
2010-07-15 14:21:32 -07:00
Ryan Dahl 9fd5e3c89c Update tests to work with module contexts 2010-07-15 14:21:31 -07:00
Ryan Dahl 5f30377bbc Load modules in individual contexts
Add NODE_MODULE_CONTEXTS env var

Only one test was modified to check that this works. NEED to go through all
tests and modify them so that

  NODE_MODULE_CONTEXTS=1 make test

passes.
2010-07-15 10:34:39 -07:00
Matt Ranney 4e50197e53 Datagram socket refactor. Add tests and documentation.
Support setTTL() and setBroadcast() socket options.
2010-07-15 10:27:44 -07:00
Peter Griess e7c4f8cdaa Buffer.copy() should liberally allow empty copies. 2010-07-15 10:20:42 -07:00
David Siegel 2085909aeb fix corner-case bug in Module
and added a test to expose it
2010-07-13 17:15:10 -07:00
Dmitriy Shalashov 70a8fb3763 Fix headers with empty value. 2010-07-07 18:46:24 +02:00
Ryan Dahl 515dc2161b Experimental: 'on' as alias to 'addListener' 2010-07-03 09:30:32 +02:00
Ryan Dahl 82ce3481fe Fix undefined_reference_in_new_context test 2010-07-03 08:16:36 +02:00
Ryan Dahl 8a52fb7aeb Revert "Fix 'uncaughtException' for top level exceptions"
This reverts commit 8f8dcf8ed6.
2010-07-01 11:10:22 -07:00
Ryan Dahl 8f8dcf8ed6 Fix 'uncaughtException' for top level exceptions
Done by not evaluating the code in the first tick.

This breaks one test in test-error-reporting.js but I believe this to be a
V8 error and I have reported it in
http://code.google.com/p/v8/issues/detail?id=764
2010-06-30 15:04:40 -07:00
Blake Mizerany 8c8534046c fix whitespace errors 2010-06-29 23:59:24 -07:00
Dmitry Baranovskiy f8ca6b383c Rewrote QueryString.parse to make it smaller and more effective.
Also added ability to parse foo.bar=4 equal to foo[bar]=4
Added tests for this as well
2010-06-29 23:52:42 -07:00
Ryan Dahl 5e86d01385 Revert "Buffer.copy should copy through sourceEnd, as specified."
This reverts commit a2f70da4c9.

Keep tests modifies a few edge checks on Copy()
2010-06-29 19:40:20 -07:00
Ruben Rodriguez 242161bef2 Added new API to Script, and implemented it in the REPL 2010-06-28 15:16:26 -07:00
Matt Ranney a2f70da4c9 Buffer.copy should copy through sourceEnd, as specified.
Improve test-buffer.js to cover all copy error cases.

Fix off by one error in string_decoder.
2010-06-25 09:10:49 -07:00
Ryan Dahl ba792ea202 :%s/sys.puts/console.log/g
and there was much rejoicing
2010-06-23 20:05:29 -07:00
Ryan Dahl f541043618 Remove ini.js 2010-06-22 19:37:29 -07:00
Mikeal Rogers f62979da6b Add sys.pump 2010-06-22 17:58:09 -07:00
Marshall Culpepper ca35ba640a Initial implementation of process.execPath
Darwin, Linux, Solaris. FreeBSD still needs testing.

TODO: Amend the tests where we use spawn with argv[0].
2010-06-22 02:02:25 -07:00
Peter Griess 51bd1b4483 Only concatenate some incoming HTTP headers.
- Concatenate 'accept', 'accept-charset', 'accept-encoding',
  'accept-language', 'connection', 'cookie', and 'x-*' headers.
- For all others, drop duplicates.
2010-06-21 12:01:50 -07:00
Ryan Dahl cb79614f73 Don't encourage strange ideas about req race conditions 2010-06-20 11:56:48 -07:00
Ryan Dahl eda21cccb4 Fix race condition in test-http-exceptions.js 2010-06-19 23:13:28 -07:00
Ryan Dahl b93faf9afa Comment out lines with full paths in message test.
Note that * in the .out files is a special wildcard.
2010-06-19 22:51:40 -07:00
Ryan Dahl f1a4f17897 script.runIn*Context not throwing errors properly. 2010-06-19 19:31:09 -07:00
Ryan Dahl 7d0252eae2 Fix message tests 2010-06-19 17:41:34 -07:00
Ryan Dahl 125b868e06 Add message tests 2010-06-18 18:14:06 -07:00
Micheil Smith 70c3e661b8 test-child-process-custom-fds to cleanup after running 2010-06-18 10:39:17 -07:00
Micheil Smith e0d30b545a Renaming tcp tests to net tests 2010-06-18 10:34:56 -07:00
Micheil Smith 3f48276bf9 Coding style changes, added tests in for the md5, sha256, etc methods 2010-06-18 10:21:38 -07:00
Peter Griess 187f191558 Support 'upgrade' event in HTTP client.
- Add a unit test for client HTTP upgrade.
- Move around unit tests for server HTTP upgrade.
2010-06-16 11:27:56 -07:00
Ryan Dahl cbf2a2233e Add callback to dgramSocket.send() 2010-06-16 11:03:34 -07:00
Ryan Dahl cf86527a28 Fix writeFile(buffer) test 2010-06-16 10:28:46 -07:00
Micheil Smith b05daaaf69 Adding path.existsSync (with tests.) 2010-06-16 10:26:11 -07:00
Aaron Heckmann 1d088fb906 fs.writeFile accepts Buffers 2010-06-15 23:58:32 -07:00
isaacs 4ce100fa62 A replacement for decodeURIComponent that doesn't throw.
And add a few more tests.
2010-06-15 19:28:09 -07:00
Ryan Dahl 6bed15e074 Refactor: Utf8Decoder -> StringDecoder
Instead of just decoding Utf8, this will proxy requests to buffer.toString()
for other encodings. This makes for a simpler interface.
2010-06-15 18:19:27 -07:00
Ryan Dahl 14414f81f3 Soft deprecation of 'listening' event.
Add callback param to listen() instead
2010-06-15 12:38:25 -07:00
Peter Griess c9dde726c6 Test case for net.Server.listenFD() 2010-06-15 11:44:33 -07:00
Ryan Dahl 009b4569b3 Merge Hash.init() function into JS constructor 2010-06-14 13:10:23 -07:00
Felix Geisendörfer 5f3906b65e Fix: fs.writeFile could not handle utf8 2010-06-14 10:58:17 -07:00
Paul Querna 02da5ed4a1 Implement datagram sockets
- Adds new dgram module, for all data-gram type transports
- Supports both UDP client and servers
- Supports Unix Daemon sockets in DGRAM mode too (think syslog)
- Uses a shared Buffer and slices that as needed to be reasonably
  performant.
- One supplied test program so far, test-dgram-pingpong
- Passes test cases on osx 10.6 and ubuntu 9.10u
2010-06-12 02:41:45 -07:00
Ryan Dahl fe89caba2e Improve fs.write tests 2010-06-10 15:17:46 -07:00
Ryan Dahl a6942b345d Fix test-repl 2010-06-07 17:39:52 -07:00
Peter Griess 8f0b4e9111 Send and receive file descriptors through net.Stream.
a) create a layer of indirection in net.Stream to allow swapping in
different read/write implementations and

b) emit an 'fd' event when file descriptors are received over a UNIX pipe,
as finally as a tangential benefit

c) remove a bunch of conditionals from the primary codepaths for
ease-of-reading.
2010-06-02 18:16:53 -07:00
Ryan Dahl 55a6f01732 Server responses should have a body if HEAD request 2010-06-02 15:07:15 -07:00
Orlando Vazquez 92da636b97 Add a parameter to spawn() that sets the child's stdio file descriptors.
After the child is forked, these file descriptors will get dup2()'d to STDIN,
STDIO, and STDERR.

(API may be changed.)
2010-06-02 10:41:24 -07:00
Ryan Dahl 1a5acd9850 API: readFileSync without encoding argument now returns a Buffer
Correctly load utf8 data; add a test test-fs-read-file-sync.js
2010-05-29 13:38:00 -07:00
Ryan Dahl 80a8e71fe0 Insert some hot paths into HTTP 2010-05-27 20:43:56 -07:00
Ryan Dahl 74b7fa29a1 Refactor HTTP
Allow throttling from outgoing messages.
2010-05-27 20:41:57 -07:00
Ryan Dahl 0e713e7482 :%s/8000/PORT/g for a few tests 2010-05-27 20:41:57 -07:00
Ryan Dahl 8840ce340d Bugfix: fs.ReadStream.setEncoding
Improve test-fs-read-stream test.
2010-05-26 18:33:38 -07:00
Sam Hughes 895f89d62a Avoided sending empty chunkedEncoding chunks in the middle of http responses 2010-05-25 22:58:17 -07:00
Ryan Dahl 15ec99ec59 Fix issue 89, parsing responses to HEAD requests
Test from Mark Hansen (mark at markhansen.co.nz)
2010-05-25 19:25:40 -07:00
Ryan Dahl 19f475c573 fs.ReadStream should emit Buffers
And do proper utf8 encoding.
2010-05-24 15:47:42 -07:00
Aapo Laitinen c4876d01a1 Change the behavior of path.extname
Make path.extname return an empty string also if:
- The last dot is not in the last path component
- The last dot starts the last path component
2010-05-24 09:56:28 -07:00
Mikeal Rogers fe3d8f2411 Add assert.ifError 2010-05-21 12:06:12 -07:00
Felix Geisendörfer c93e0aaf06 Deprecate string interface for fs.read()
This patch makes buffers the preferred output for fs.read() and
fs.readSync(). The old string interface is still supported by
converting buffers to strings dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.
2010-05-20 16:31:18 -07:00
Ryan Dahl e84395ff8c Revert "Deprecate string interface for fs.read()"
This reverts commit cbbf9e43d1.
2010-05-20 16:11:33 -07:00
Felix Geisendörfer cbbf9e43d1 Deprecate string interface for fs.read()
This patch makes buffers the preferred output for fs.read() and
fs.readSync(). The old string interface is still supported by
converting buffers to strings dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.
2010-05-20 15:25:49 -07:00
Ryan Dahl cbd2c3945b Throwing in a callback should kill the process
There is a difference between errors which happen to a socket - like
receiving EPIPE - an exceptional situation but ultimately okay and the
situation where code throws in a callback - which is not okay.

Fixes test/simple/test-http-exceptions.js

TODO: explain this in docs.
2010-05-20 15:23:36 -07:00
rentzsch 36a45c4e0d FIX path.dirname('/tmp') => '/'.
Previously path.dirname('/tmp') incorrectly returned '.'.

Unfortunately module.js incorrectly thinks dirname('/a/b/') should
yield '/a/b', so I can't strip trailing slashes yet. Once module.js
is fixed, then the commented-out code should be activated and a test
written for it.
2010-05-20 10:16:09 -07:00
Ryan Dahl d8af9d8edf Minor style changes for fs.write code 2010-05-19 14:59:03 -07:00
Felix Geisendörfer c46cbe0de4 Deprecate string interface for fs.write()
This patch makes buffers the preferred input for fs.write() and
fs.writeSync(). The old string interface is still supported by
converting strings to buffers dynamically. This allows to remove the
C++ code for string handling which is also part of this patch.
2010-05-19 12:53:43 -07:00
Peter Griess 2420f07e94 Allow process.setuid() and process.setgid() to accept string names in lieu of numeric IDs 2010-05-18 17:41:10 -07:00
Felix Geisendörfer caba9c70c3 Implemented Utf8Decoder module
Allows to safely decode a utf8 stream into strings without breaking
on multibyte characters.
2010-05-17 22:12:30 -07:00
Ryan Dahl e232f09d38 fs.WriteStream.write should support buffer
Also re-adding the callback parameter.
2010-05-17 19:44:14 -07:00
Felix Geisendörfer 0a539865dd Support arrays and strings in buffer constructor
This is be very useful for testing code that deals with buffers.
2010-05-17 11:19:14 -07:00
visionmedia 45948e054d Added better error messages for async and sync fs calls with paths 2010-05-14 19:46:16 -07:00
Jonas Pfenniger fea6f829bf FIX: EventEmitter#removeListener logic
In the case of one defined listener, the function should only remove it
if it is the same as the passed listener.
2010-05-14 19:13:50 -07:00
Jonas Pfenniger 4274e6b7d0 FIX: signal-unregister bug
We now restore the default signal behavior when all listeners are
removed for a given signal.

Re-enabled test-signal-unregister
2010-05-14 19:05:19 -07:00
Andrew Johnston 9599607065 Added posix fsync and fdatasync to fs module 2010-05-14 18:42:22 -07:00
Matt Ranney cd4f94e71a Add test for exceptions in HTTP parser event handlers. 2010-05-14 10:16:55 -07:00
Elijah Insua 976926376d Handle empty files with fs.readFile 2010-05-13 12:42:17 -07:00
Ben Noordhuis c6c77d535f Support for fstat(2) through fs.fstat() and fs.fstatSync(). Added test cases, updated documentation. 2010-05-12 14:20:43 -07:00
Ryan Dahl 67eeedd602 Disable test-signal-unregister.js as functionality doesn't exist yet 2010-05-12 12:45:53 -07:00
Ryan Dahl 7a2e6d674a Default to 2 second timeout for http servers
Taking a performance hit on 'hello world' benchmark by enabling this by
default, but I think it's worth it. Hopefully we can improve performance by
resetting the timeout less often - ideally a 'hello world' benchmark would
only touch the one timer once - if it runs in less than 2 seconds. The rest
should be just link list manipulations.
2010-05-12 11:49:28 -07:00
Ryan Dahl d2cff34fa3 Idle timeout changes
- setTimeout should active the timeout too. (test-net-set-timeout tests
  this.)

- 'timeout' event is not automatically followed by an 'error' event. That
  is the user is now responsible for destroying the stream if there is an
  idle timeout.
2010-05-12 10:06:13 -07:00
Ryan Dahl 15bb392afd Disable test-remote-module-loading
In ab068db9b1 this test was broken because (I
think) compile/run errors are set to crash the program instead of being
passed back.

Error reporting is more important than remote loading. Disabling until there
is a fix
2010-05-09 18:46:04 -07:00
Ryan Dahl 1ecb11f944 Add failing test - http responses not all complete
Report and test by soderblom.peter@gmail.com
2010-05-09 15:08:54 -07:00
Ryan Dahl ab068db9b1 Improve error reporting
- No more single line "node.js:176:9" errors
- No more strange output when error happens on first line due to
  module wrapper function.
- A few tests to check these things
2010-05-09 13:55:42 -07:00
Ryan Dahl d7762dffe3 Forgot to add child_process_should_emit_error.js 2010-05-08 23:24:24 -07:00
Ryan Dahl 264e540d00 Fix error reporting in child_process callbacks
Issue 120, test case by Nathan Ostgard
2010-05-08 22:13:34 -07:00
Tim Caswell c07c601c3b fs.readFile uses a buffer internally and will return the raw buffer if no encoding is specified. 2010-05-06 22:22:14 -07:00
Thomas Lee 3674563dd5 Fix a bug in http.Client where parsers may be prematurely released back to the free pool. 2010-05-06 00:44:07 -07:00
Ryan Dahl 1415650463 Use test port instead of 8000 in test-http-304 2010-05-04 22:06:46 -07:00
Rhys Jones 1a317135c5 Additional OpenSSL tests 2010-05-03 16:15:06 -07:00
Ryan Dahl b5bdf9434b Add another http upgrade test 2010-05-03 11:23:36 -07:00
Micheil Smith aee226b243 Fixing the 1 byte off error in http.Server's upgradeHead
(And fix up some style issues)
2010-05-01 18:05:53 -07:00
Micheil Smith f990f24ad3 Implementing the event emit for Upgrade requests, with tests. 2010-05-01 11:52:40 -07:00
Ryan Dahl 301b44d45d Chunk strings together on Stream buffer 2010-04-29 12:00:37 -07:00
Thomas Lee a63ce5cd72 Allow callers to disable PHP/Rails style parameter mungeing in querystring.stringify 2010-04-28 16:18:48 -07:00
Felix Geisendörfer f8a3cf980f Properly handle child process exit codes
The child process 'exit' was returning the status of the process, rather than
the exit code. This patch properly deconstructs the status into the exit code
and the term signal a process may have received.

See:
http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Watcher_Specific_Functions_and_Data_-5
and waitpid(2)
2010-04-28 13:54:17 -07:00
Felix Geisendörfer c143cba590 Get rid of coupling for stdin 2010-04-27 18:02:30 -07:00
Felix Geisendörfer 76f98c27de Get rid of coupling for stdout 2010-04-27 17:27:34 -07:00
Ryan Dahl f618551694 Remove callback argument to FileWriteStream.prototype.write 2010-04-27 17:26:10 -07:00
Ryan Dahl c7b3c1ecbc Add more asserts to test-http-big-proxy-responses 2010-04-26 20:26:36 -07:00
Jérémy Lal 0802326fc9 test-dns so that NXDOMAIN does not rise errors 2010-04-26 15:09:03 -07:00
Jérémy Lal 5caf53a053 Add support for MX queries in dns module, works with c-ares upstream patch. 2010-04-26 15:09:03 -07:00
Jonas Pfenniger df07a713bd New test-case: signal unregistration
The default signal-handler should be restored if no handlers are
assigned.
2010-04-25 23:14:07 -07:00
Ryan Dahl 6abdf051d3 Unhandled 'error' events kill program
By default 'error' throws. addListener to prevent this.
2010-04-22 17:22:06 -07:00
Ryan Dahl 11f673e819 curl after server is listening 2010-04-22 15:48:57 -07:00
Ryan Dahl d70474dc10 SIGPIPE on stdout should kill the process by default 2010-04-22 14:25:13 -07:00
Ryan Dahl 3934cb5485 Force no body on http 204 and 304
Thanks to tjholowayhuk@gmail.com for the test case.
2010-04-21 15:15:21 -07:00
Julian Lamb 5f8f561d61 add setKeepAlive function, which enables and sets the TCP keep-alive timer 2010-04-20 16:34:21 -07:00
Herbert Vojcik c2a06725d6 Script class with eval-function-family in binding('evals') plus tests. 2010-04-18 15:01:36 -04:00
Rhys Jones 3510669db2 Fixed ssl client and server examples 2010-04-15 20:03:55 +01:00
Rhys Jones e4a6b72ae3 Added test and started tidy-up of node_crypto.cc 2010-04-15 19:57:17 +01:00
Rhys Jones e6a1091cc6 Merge branch 'master' into openssl 2010-04-15 10:56:42 +01:00
Ryan Dahl d2e1b0855f Move two broken tests to disabled folder 2010-04-15 01:37:27 -07:00
Rhys Jones d27d6dcc6f Merge branch 'master' into openssl 2010-04-15 06:21:15 +01:00
Ryan Dahl 9cf2a02d8b Add timeout and maxBuffer options to child_process.exec 2010-04-14 11:59:24 -07:00
Ryan Dahl b8c0349750 Fix triple buffer slice bug 2010-04-14 00:36:34 -07:00
Rhys Jones 144200435f Merge branch 'master' into openssl
Conflicts:
	lib/net.js
	wscript
2010-04-14 07:31:33 +01:00
Ryan Dahl a934566eb9 Disable test-idle-watcher
IdleWatcher was disabled in a98d23d905
2010-04-13 16:57:19 -07:00
Ryan Dahl b549b3fcce Fix test case style 2010-04-13 16:43:15 -07:00
Ryan Dahl 6732e7fa17 Add big proxy failing test
GH-77. Code by Robert Newson <robert.newson@gmail.com>
2010-04-13 16:22:14 -07:00
Ryan Dahl 4e7e2f8724 Change nextTick implementation for the better
Use a prepare and idle watcher to execute the nextTick callback more
quickly. Test provided by Matt Ranney.
2010-04-13 15:43:46 -07:00
Ryan Dahl b98cd6753b process.mixin: deprecation -> removed 2010-04-13 13:45:31 -07:00
Matt Ranney afe3c1cdea Buffer partial reads before doing expect match. 2010-04-12 14:38:16 -07:00
Matt Ranney b7441040f8 REPL can be run from multiple different streams.
e.g. from UNIX sockets with socat.
2010-04-12 00:31:51 -07:00
Ryan Dahl cc9d5ab546 C-Ares shouldn't iterate over all Object.prototype elements
and furthermore error out of one of them isn't a DNS option.

Test case by Ben Lund <ben.lund@gmail.com>; additional help from Tim Caswell
<tim@creationix.com>.
2010-04-11 16:12:20 -07:00
Ryan Dahl 8553e8a15d Add incoming.httpVersion 2010-04-11 15:15:36 -07:00
Ryan Dahl 93913dbdb8 Add failing test for HEAD requests
Needs to be fixed for 0.2.
2010-04-11 12:21:36 -07:00
Ryan Dahl 08a09bb50a Use some more Binary/F methods for Buffer 2010-04-08 16:31:02 -07:00
Ryan Dahl 50c70ac714 Update stream API: forceClose() -> destroy(), close() -> end() 2010-04-08 12:24:29 -07:00
Herbert Vojcik c16508c87a Better require.async throw test 2010-04-08 08:17:58 -07:00
Ryan Dahl d923c94a0c Remove udns 2010-04-07 18:25:37 -07:00
Ryan Dahl 8f671041a5 Check for ip address in dns_cares.lookup 2010-04-07 16:04:33 -07:00
Ryan Dahl f13e2f96e4 Add a simple c-ares test, dns_cares.lookup() for easy resolv 2010-04-07 15:37:08 -07:00
Herbert Vojcik d36bb6536e Better require.async tests 2010-04-07 11:47:45 -07:00
Krishna Rajendran 96df65e88e Make test-dns.js use dns_cares. 2010-04-07 01:29:20 -07:00
Ryan Dahl 53dd9fe200 Fix bug in buffer.utf8Write() which included \u0000 2010-04-05 18:10:36 -07:00
isaacs 4befe93a4b Add ini.stringify functionality, a test, and some TODOs in ini.js 2010-04-05 17:05:35 -07:00
Ryan Dahl 1b758ef268 Allow stream to write on close 2010-04-05 16:50:05 -07:00
Ryan Dahl 0301adf9b4 In tests, wait for 'listening' before connecting 2010-04-05 11:32:18 -07:00
Ryan Dahl b72ffc0e07 Add buffer.copy 2010-04-04 18:59:40 -07:00
Rhys Jones c55c0a1fca Add SSL tests 2010-04-02 17:14:03 -07:00
Ryan Dahl c0e18f37d4 Don't reference fixtures/multipart.js 2010-04-02 16:02:48 -07:00
Ryan Dahl 94644d743c Remove multipart library
Too messy, unmaintainable. Pull it out of the history if you need it.
2010-04-02 16:01:16 -07:00
Ryan Dahl 53530e981a Fix test-http-chunked. Need to check for \0 at end of utf8 strings 2010-04-02 14:55:28 -07:00
Ryan Dahl b9106b0ecd Use AF_INET sockets instead of always AF_INET6
You can get AF_INET6 still, it's just not the only choice.
2010-04-02 13:20:56 -07:00
Johan Dahlberg 18de108e4c Bugfix: watchFile, unwatch, watch causes error
Fixed bug that caused application to cast a "TypeError: Cannot call method
'addListener' of undefined" when first watching a file, unwatching and then
watching same file again.
2010-03-31 10:38:25 -07:00
Ryan Dahl 70ffdf5db9 Fix HTTP keep-alive 2010-03-23 21:10:01 -07:00
Ryan Dahl 6b6dcf4aad Move test-child-process-spawn-loop to pummel/ 2010-03-23 21:02:30 -07:00
Ryan Dahl 8e9ec4abea Fix idle timeouts
Remove process.now because it doesn't provide enough precision.
2010-03-23 20:54:19 -07:00
Ryan Dahl a01d8a0d68 Timer clean ups
Also bugfix getting pointer to C++ class in watcher
2010-03-23 17:28:26 -07:00
Ryan Dahl 903977d5e8 Merge branch 'master' into net2
Conflicts:
	test/simple/test-event-emitter-modify-in-emit.js
2010-03-19 21:48:39 -07:00
Ryan Dahl 025116f8d0 Move Buffer into own module 2010-03-19 20:58:24 -07:00
Ryan Dahl b80f6e9ed1 http2 now default 2010-03-19 19:52:09 -07:00
Ryan Dahl 4278f35e89 Add support for Buffer to fs.write 2010-03-19 18:36:22 -07:00
Ryan Dahl e01464373f Speed up test-buffer 2010-03-19 11:30:51 -07:00
Ryan Dahl 90295d9fce [net2] inline write on empty write buffer for performance 2010-03-19 02:24:16 -07:00
Ryan Dahl 1762abcece http2 now passes all tests 2010-03-18 15:49:42 -07:00
Carson McDonald e5cbe73a82 Better EventEmitter modify-in-emit
Changed ReallyEmit so that it clones the Array of listeners before
processing the emit. Added better tests to make sure that modifying
listeners inside event handlers doesn't cause later listeners to be skipped
or added.
2010-03-18 14:08:20 -07:00
Ryan Dahl 33d5c46e8c All tests to use http2 2010-03-18 14:01:17 -07:00
Ryan Dahl 6db43f4c29 net2 HTTPClient work 2010-03-18 13:21:52 -07:00
Ryan Dahl b865f9e9c8 Merge branch 'master' into net2 2010-03-17 16:24:43 -07:00
Ryan Dahl 04c06b9149 child process now use net.Socket 2010-03-17 14:00:17 -07:00
Krishna Rajendran 84277ea845 Check for callback argument in PTR lookup 2010-03-17 00:46:44 -07:00
isaacs 31ed37fdf0 evalcx shouldn't be too fancy
After getting some feedback from Mikeal Rogers and Tim Smart, it was decided
that evalcx should not try to do any fancy security stuff, and instead leave
that in the hands of the user. To comply more with spidermonkey, everything
is passed in, and objects are passed in by reference rather than being
cloned.
2010-03-16 20:09:13 -07:00
Ryan Dahl 217e4b40d4 Check for callback argument in DNS functions 2010-03-16 10:48:14 -07:00
Krishna Rajendran 3c97a4391a Update test-dns.js to work with latest api 2010-03-16 10:29:43 -07:00
isaacs 943b2c61a8 Make evalcx work like it's supposed to.
1. Move the context->Enter() call so that the global obj is available for writing.
2. On success, copy the modified global out to the sandbox object.
3. Don't copy functions in either direction.  They have scope and closures, and make for craziness when trying to keep contexts separate.
4. Only do the ->ToObject->Clone() on objects, so that simple values stay simple.
5. Update the test so that it tests all this stuff.
2010-03-16 10:27:47 -07:00
Ryan Dahl fdf46a65c9 Use streams for stdout and stdin 2010-03-15 15:11:40 -07:00
Ryan Dahl cbfd4da818 Merge branch 'master' into net2
Conflicts:
	src/node.cc
2010-03-15 14:34:01 -07:00
Ryan Dahl a6f904cab7 Tests should use compiled-in modules not build-dir modules 2010-03-15 08:14:51 -07:00
Ryan Dahl 96f08cf05c Work on net2 http client 2010-03-12 18:39:02 -08:00
Ryan Dahl c857d65dd3 Disable test-net-fd-passing for now 2010-03-12 12:43:28 -08:00
Ryan Dahl 28211519b6 Merge branch 'master' into HEAD
Conflicts:
	lib/fs.js
	wscript
2010-03-12 12:42:15 -08:00
Tim-Smart ae10a48383 Initial implementation of process.evalcx 2010-03-12 08:22:48 -08:00
Tim-Smart 0c17067d87 Add require.registerExtension 2010-03-11 22:00:55 -08:00
Ryan Dahl 462a8f8652 add error listener to test-net-pingpong 2010-03-11 12:39:50 -08:00
isaacs 976983960d More ini parser features.
Update the ini parser to support some more whitespace cases, turn lines
without an equal sign into a "flag" that's just true if set, and support
comments.
2010-03-10 21:44:59 -08:00
Ryan Dahl 0918bb2070 Adjust a few more tests to work with net2 2010-03-09 18:37:23 -08:00
Ryan Dahl c1a0ade7e7 Further net2 compatibilities 2010-03-09 16:27:49 -08:00
Ryan Dahl 264a67aed2 Update net.js for new stream API 2010-03-09 11:59:42 -08:00
Ryan Dahl c69d3f4a35 Don't use process.mixin in test-buffer.js 2010-03-09 10:54:01 -08:00
Ryan Dahl faffee0c62 Merge branch 'master' into net2 2010-03-09 10:45:06 -08:00
Aaron Heckmann f8eb163728 Add removeAllListeners 2010-03-09 09:30:14 -08:00
isaacs 5861db8a69 Remove process.mixin dependency from all tests. 2010-03-08 17:57:04 -08:00
Ryan Dahl 8c4561d2a0 Merge branch 'master' into net2 2010-03-08 11:14:11 -08:00
Ryan Dahl c9c13e0718 require('fs') in test-http-tls 2010-03-08 11:13:24 -08:00
Felix Geisendörfer 44dde5f24c Remove fs/path globals from test suite
It is way too easy to not notice bugs due to those modules being
exported as globals while running the test suite.

See: http://github.com/ry/node/issues#issue/75
2010-03-08 10:20:07 -08:00
Felix Geisendörfer 9a9f08b1bc Add callbacks to stream methods
Allows for more fine graining, especially finding out about an individual
chunk of data being flushed in a write stream rather than the whole queue.

This commit also fixes a bug causing forceClose to fail on a readStream that
did not finish opening yet.
2010-03-08 09:05:56 -08:00
Rasmus Andersson 374300ca8d Updated patch of node.cc for supporting reading of umask 2010-03-07 12:07:57 -08:00
Ryan Dahl 681733d905 Merge branch 'master' into net2 2010-03-05 20:51:26 -08:00
Ryan Dahl b9cd3363ef Bugfix in querystring 2010-03-05 17:07:02 -08:00
Rob Ellis 5c78c45fa3 Added Parse INI to Node, tests 2010-03-05 16:17:57 -08:00
Ryan Dahl 5217eda1ae Merge remote branch 'felixge/file2' 2010-03-05 11:11:23 -08:00
Felix Geisendörfer 0fcc94525a Renamed fileReadStream -> createReadStream
Did the same for fileWriteStream as well.
2010-03-05 18:56:25 +01:00
Felix Geisendörfer 48562fa938 Updated file streams
Read streams now only support forceClose()

Write streams support close() and forceClose()
2010-03-05 18:43:29 +01:00
Felix Geisendörfer f6e00759ef Initial read stream implementation 2010-03-05 18:43:28 +01:00
Ryan Dahl 769a35024f Allow passing env to child process 2010-03-03 10:45:58 -08:00
Ryan Dahl 0e844d3bcb tcp.Connection.prototype.write should return boolean 2010-03-02 21:16:17 -08:00
Rasmus Andersson 5c602b750a Rewrote realpath implementation solving all known failing tests (also added a bunch of new test cases) 2010-03-02 17:35:34 -08:00
Felix Geisendörfer 61785afb3d Initial write stream implementation 2010-03-02 23:29:54 +01:00
Ryan Dahl 7881b59f6b Merge branch 'master' into net2 2010-03-02 13:20:07 -08:00
Ryan Dahl 776b099d75 Disable ipv6 test on solaris 2010-03-02 21:10:05 +00:00
Ryan Dahl d9e3b466a7 Merge branch 'master' into net2 2010-03-02 10:44:25 -08:00
Rasmus Andersson 20d5963fae Added fs.realpath and fs.realpathSync (pure javascript versions) 2010-03-01 19:14:24 -08:00