Commit Graph

254 Commits

Author SHA1 Message Date
pbouianov fe9b94d4ec Changed IndexedDB provider to use RW context if RO is requested. Fixes issue #128 2014-03-05 14:45:59 -05:00
pbouianov bf9ff3ab3a Updated error object to match Node.js. Solves issue #125. 2014-03-05 13:22:23 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 32a5cfe584 Review fixes 2014-03-04 14:32:33 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca da5e1b2b57 Fix WebSQL provider to properly deal with typed arrays, 100% of tests passing now on WebKit with WebSQL 2014-03-04 13:37:37 -05:00
kwkofler 0ce4d192fa Missing semi-colons added 2014-03-03 18:54:02 -05:00
kwkofler 866d8c1876 Issue #112 - Added mode reporting functions to the Stats object prototype, and appropriate tests 2014-03-03 18:54:01 -05:00
kwkofler 1dc325556a Resolves issue #112, though isBlockDevice(), isCharacterDevice(), isFIFO(), and isSocket() currently lack constants, hence return false. 2014-03-03 18:54:01 -05:00
Alan Kligman 7d6bd98a31 Merge branch 'develop' of github.com:js-platform/filer into develop
Updated null-bytes test to have absolute paths

Conflicts:
	dist/filer.js
	dist/filer.min.js
2014-02-21 12:51:59 -05:00
Alan Kligman 7fce631ad7 add error for relative paths 2014-02-21 12:39:33 -05:00
pbouianov 0c30d6dd18 Added fs.exists support. Fixes Issue91 2014-02-21 06:56:14 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 64a52b7d00 Share code from lib/async.js instead of inlining nextTick in Memory provider 2014-02-19 17:55:56 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca a7a1f4b82e Change sh.exec to take a list vs. object for passed args 2014-02-19 17:36:26 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca eadd4ec03c Review fixes 2014-02-19 17:29:11 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca dd87117ff8 Update docs for shell changes 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 21f5d15f51 Add support for shell.env, PWD, TMP, and tempDir, with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 83c55308dc Add shell.rm() with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca e4767019cc Add shell.ls() with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2829079bd3 Add Shell.cat() with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d7cce709f9 Fix shell.cd and add tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2d3b15d310 Deal with jshint hating the Function constructor 2014-02-19 15:33:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 263b9cd9b0 Add shell.exec with test 2014-02-19 15:33:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca e43b1ba551 Working touch command with tests 2014-02-19 15:33:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca f618a44b9e Begin work on FileSystemShell and touch command 2014-02-19 15:33:36 -05:00
Alan Kligman ebe52fe5c3 Fixes #106. Also fixed bug in write_data where offset wasn't used copy data from source buffer. 2014-02-19 12:27:57 -05:00
Alan Kligman 49cec5df60 Fix #105. Regression test for #105 had an error so I fixed that also. Updated refactoring-test example. 2014-02-18 21:45:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca a33c2bd358 Fix failing null-byte case in PhantomJS for fs.truncate. Fixes #117 2014-02-18 11:02:08 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 4812861dcf Refactor tests: switch to Mocha, make providers and filer source configurable. Fixes #59
Make provider configurable via URL. Convert fs.close test to use it. Still have timing issue with WebSQL.

Indent fix

Use bower to install mocha

Converting to mocha, Memory provider failing still in fs.close

Got mocha tests working with all providers

Converted more tests

Move more tests over to mocha

Move more tests over

Move more tests over

More tests moved over

More tests converted

More tests moved over

Move more tests over

Move last tests over

Convert more tests

Remove Jasmine and other unnecessary test files, rename tests/spec/regression to tests/bugs

Get tests running with grunt+mocha+phantomjs

Add docs on new tests
2014-02-14 15:44:57 -05:00
Alan K 4137c12420 Merge pull request #101 from pbouianov/issue88
added fs.appendFile support
2014-02-03 19:50:37 -08:00
pbouianov 6ec635e551 fixed, added appendFile tests and updated README 2014-01-30 14:12:32 -05:00
pbouianov 51c10e0580 added fs.appendFile support 2014-01-23 21:56:04 -05:00
zmhassan bb04cce826 Fixed linting issues found with Grunt 2014-01-21 09:00:22 -05:00
David Humphrey 6f61249e81 Remove 3DES and Rabbit from encryption adapters, update docs, tests. Fixes #92 2014-01-16 14:46:33 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 641eb870a7 s/IDBFS/Filer/ in all files, docs, tests. Fixes #54 2014-01-14 11:36:18 -05:00
Alan K fc03bb72d3 Merge pull request #84 from btulchinsky/xattr
Implement setxattr, getxattr
2014-01-13 21:59:20 -08:00
Barry Tulchinsky d31d33651c removed comments and patched parameter name and potential undefined error 2014-01-13 20:03:54 -05:00
Barry Tulchinsky b08a8d15dd fixed null value and refactored setxattr 2014-01-05 12:22:57 -05:00
Barry Tulchinsky 732218cc1d fixed unnecessary null checking and replaced it with hasOwnproperty method, also added removexattr and fremovexattr and tests for it 2013-12-24 15:10:17 -05:00
Barry Tulchinsky 7ae907cd5b changed behaviour to allow falsy values (ie. empty string), added more test cases and modified README.md 2013-12-22 20:58:00 -05:00
Barry Tulchinsky 55c08e6f08 added more tests and added spec file to test manifest 2013-12-21 16:30:40 -05:00
Barry Tulchinsky c29ec0c3b7 fix for issue 81 - error when utimes/futimes fails to queue/run 2013-12-20 21:29:22 -05:00
Barry Tulchinsky 37d998fb55 work on getxattr 2013-12-20 19:55:43 -05:00
Barry Tulchinsky 5d022c3ca3 started spec tests and exposed to FileSystem prototype 2013-12-20 11:50:59 -05:00
Barry Tulchinsky a83ccf6154 implementation of getxattr 2013-12-20 04:36:25 -05:00
Barry Tulchinsky 5e61be5668 rebased 2013-12-20 03:34:05 -05:00
Barry Tulchinsky 848eb734b5 start of setxattr and getxattr implementation 2013-12-20 03:14:40 -05:00
Alan Kligman 9f031397e8 Merge branch 'utimes' into develop 2013-12-20 00:45:50 -05:00
Alan Kligman 7dc0ef6ccb remove comments; clarify test message 2013-12-20 00:45:11 -05:00
Barry Tulchinsky 53e6293494 updated error messages 2013-12-17 14:15:10 -05:00
Barry Tulchinsky 359b070536 updated/added tests and caching for current time 2013-12-17 11:28:22 -05:00
Barry Tulchinsky 23ace603c9 added/fixed tests and futimes bug 2013-12-15 21:22:36 -05:00
Barry Tulchinsky a0456e2909 removed console.log statements used for debugging 2013-12-15 02:57:11 -05:00
Barry Tulchinsky e84d639210 fixed bugs where atime and mtime weren't updated on the node and where mtime was valid it would error. Also added more tests 2013-12-15 02:54:51 -05:00
Alan Kligman e17acff0b1 reorganized for building 2013-12-14 22:36:24 -05:00
Alan Kligman 8510e4a712 add support for supernode, which contains metadata about the file system itself (currently only the location of the root node); updated refactoring-test 2013-12-14 14:42:00 -05:00
Barry Tulchinsky d5b5c55fe1 implementation of utimes and futimes 2013-12-13 00:46:31 -05:00
Abir Viqar 13abcd2eeb implement truncate and ftruncate 2013-12-10 12:12:43 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 3d11b34893 Update adapter tests to use Uint8Array and fix crypto encodings, complete zlib work. Fixes #52. 2013-12-04 12:14:16 -05:00
David Humphrey 82f4648ef5 Trying to sort out encodings to/from Uint8Array, not working 2013-12-03 16:14:51 -05:00
David Humphrey aca2d80104 Trying to fix encoding issue in crypto.js, not working yet 2013-12-03 15:23:47 -05:00
David Humphrey a3a1c50b4e Add Zlib adapter, generalize adapter tests 2013-12-03 15:14:20 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 8c9127d798 Remove need for encoding-indexes.js, trim bits of lodash.js we don't need. Fixes #57 2013-12-02 15:10:43 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d2790a4703 Review fixes, move crypto to src/adapters, update tests, update README, rebuild files in dist/ 2013-12-01 16:45:24 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 440b5f2618 Remove dead code in crypto-wrappers.js 2013-12-01 16:44:10 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 05b4262cde Fix encoding issue with decrypted string in crypto wrapper 2013-12-01 16:44:10 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 0ccc9e4dc2 Don't encrypt keys 2013-12-01 16:44:10 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 58f57cca19 WIP on crypto wrapper providers for AES, TripleDES, Rabbit, 3 tests failing 2013-12-01 16:44:09 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 6608a368f5 Mark off changes to path.js with XXXidbfs comment prefix. 2013-11-29 11:28:00 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 00b7866874 Fix up issue in node.js' impl of basename 2013-11-29 11:27:59 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca c411aa1394 Include the rest of node.js' path functions 2013-11-29 11:27:59 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 6ebbdc5915 Finish WebSQL implementation, all tests passing. Fixes #21. 2013-11-29 10:29:04 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d5db4c51b9 Down to 1 test failure 2013-11-27 19:35:52 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca c92d3a6c5f Passing 1/4 failing tests now 2013-11-27 17:12:46 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 58392efd10 WebSQL Storage Provider with tests (4 tests failing still) 2013-11-27 16:53:06 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 8a33cb0449 Fix load order for TextEncoder/TextDecoder in require.js, update dist/ 2013-11-27 13:08:26 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d3a7750d75 Switch to node.js' callback pattrn, update public API to match node.js 2013-11-27 10:34:43 -05:00
David Humphrey b7733a591d Working null byte patch checks 2013-11-27 10:34:43 -05:00
David Humphrey 77f32c4c50 Initial tests from node repo 2013-11-27 10:34:43 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 3c5a5ef7fa Review fixes 2013-11-26 19:12:25 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 6e16f86208 Make backends pluggable via FileSystem ctor, fixes #36. 2013-11-25 19:23:51 -05:00
Abir Viqar 702dd1a3a3 open should follow symbolic links
This functionality is tested implicitly through tests in
writefile, readfile
2013-11-25 14:27:14 -05:00
Abir Viqar a95bf43069 unlink_node - add missing var 2013-11-25 14:27:08 -05:00
Abir Viqar 656dfd242b rmdir should error on non-directories 2013-11-25 14:27:00 -05:00
Abir Viqar 5cbebd135c add lstat 2013-11-25 14:26:52 -05:00
Abir Viqar 5ceff20b12 make find_node symbolic link aware
This adds a new constant SYMLOOP_MAX, which corresponds to the POSIX
variable of the number of symbolic links that may be followed. A new
error Eloop was added to signal when SYMLOOP_MAX is exceeded.
SYMLOOP_MAX has been arbitrarily set to 10 while on linux it is set
to 40 and the POSIX minimum is 8.

find_node when encountering a symbolic link anywhere in the given path
will attempt to follow it.

Note that SYMLOOP_MAX is only the limit of symbolic links to
follow per symbolic link. There is currently no attempt to limit
the total number of symbolic links followed when resolving a path.

This adds tests for path resolution of symbolic links as well.
2013-11-25 14:26:46 -05:00
Abir Viqar 85a804cc0c add symlink
Also enable readlink's symbolic link test.
2013-11-25 14:26:40 -05:00
Abir Viqar a78f1ee3ff add readlink
Disable the test on a symbolic link until symlink is added.

Also add myself to AUTHORS
2013-11-25 14:26:34 -05:00
Alan Kligman bb46fa34e8 removed all uses of promises; remove promise library since it's not longer needed 2013-11-21 20:44:57 -05:00
Alan Kligman 291ef6bc94 removed a bunch of promisey code; converted to callbacks 2013-11-21 16:15:30 -05:00
Alan Kligman c9d60fbd9b refactoring to support additional backends 2013-11-21 15:45:47 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 9813886d38 s/this/that/ in a few spots in fs.js, add myself to AUTHORS 2013-11-15 14:50:19 -05:00
Alan Kligman c76fc01a20 support rename() 2013-11-12 13:39:11 -05:00
Alan Kligman 638109f911 fix remaining lint errors 2013-11-12 13:14:23 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca cf7d12a6b3 Refactor duplicate flag checks 2013-11-09 15:12:52 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca ae2b8aa9b3 Use internal fs functions instead of public methods for readFile, writeFile. 2013-11-09 14:51:21 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2a8705ed0b Add fs.readFile, fs.writeFile with tests 2013-11-08 15:33:44 -05:00
Alan Kligman 28add9cebd rename source files 2013-11-07 16:29:23 -05:00
Alan Kligman cf033ac574 remove unused source file 2013-11-07 16:24:27 -05:00
Alan Kligman 7e59e3a684 support for readdir 2013-11-07 15:55:14 -05:00
Alan Kligman 0256c2fece Updated dists. 2013-07-29 17:58:55 -04:00
Alan Kligman aeccbd4d3f Added stats object. 2013-07-29 16:30:24 -04:00
Alan Kligman dabf8c8c7a Added lseek and tests. 2013-07-29 15:59:17 -04:00
Alan Kligman 850758e37a Add fstat and tests. Fix position bug in read/write. 2013-07-29 14:55:25 -04:00
Alan Kligman 33791ca950 Added stubs. Fix position for read/write. 2013-07-26 21:53:25 -04:00
Alan Kligman 984db2ceba Add file type to stats. 2013-07-26 11:59:32 -04:00
Alan Kligman e690ed5292 Unlink implementation and tests. 2013-07-26 00:15:48 -04:00
Alan Kligman 717bbc25c1 Link tests. 2013-07-25 22:49:53 -04:00
Alan Kligman ea8fbd48ad Updated tests. 2013-07-22 23:34:38 -04:00
Alan Kligman fb9fed0663 Tests for reading and writing data. 2013-07-22 14:31:44 -04:00
Alan Kligman 40d3f25d9a More tests, updated implementation. 2013-07-22 13:08:35 -04:00
Alan Kligman d3d7dcabde Code and tests for fs.open 2013-07-19 11:22:23 -04:00
Alan Kligman 5853704bab Updated tests. 2013-07-15 11:52:41 -04:00
Alan Kligman cfd0932736 More tests. Added try/catch around read/write_object. 2013-07-13 12:41:10 -04:00
Alan Kligman c3c9751ff4 Stat implementation, updated tests. 2013-07-12 11:11:05 -04:00
Alan Kligman 19b21e10de WIP 2013-06-22 11:33:08 -04:00
Alan Kligman 2d195ff6d6 WIP 2013-05-31 15:03:18 -04:00
Alan Kligman 5bef87490c WIP 2013-05-31 11:30:01 -04:00
Alan Kligman 580dad5315 WIP 2013-05-31 03:52:04 -04:00
Alan Kligman 4f5ff333fb Reorganize files. 2013-05-30 21:38:44 -04:00
Alan Kligman a2ff2823dc WIP 2013-05-30 19:07:21 -04:00
Alan Kligman 11d0a4de7f WIP 2013-05-30 18:49:31 -04:00
Alan Kligman 14759635c0 WIP 2013-05-30 14:57:33 -04:00
Alan Kligman c80a08bb07 Mocked out events and targets. 2013-05-25 21:26:18 -04:00
Alan Kligman 4f495fe785 Clean up example. 2013-05-25 20:37:13 -04:00
Alan Kligman 1dda23789e Modified when.js to avoid deferring callbacks using setTimeout (this breaks IndexedDB). Added promise-based API wrapper for IndexedDB. 2013-05-25 11:15:00 -04:00
Alan Kligman ced78ca040 Added gruntfile, now builds optimized library. 2013-03-11 15:14:26 -04:00
Alan Kligman 2e0810df2e Fixed missing file handle for root directory stat(). 2012-12-14 15:55:11 -05:00
Alan Kligman ad3aa5eac8 Added new example using a TAR file. Also fixed a few bugs with the root directory. Should refactor that in a future patch so that the root directory handled more clearly. 2012-12-13 20:24:07 -05:00
Alan Kligman baf63c6055 Updated read() error checking. Updated stat() return structure. 2012-11-30 19:09:14 -05:00
Alan Kligman 9053d67146 Refactor to support open() on directories so that we can list files. 2012-11-29 19:46:35 -05:00
Alan Kligman 91aefa7e54 Support for get/set xattrs. 2012-11-15 06:24:00 -05:00
Alan Kligman de463a36c1 Support for link() and unlink(). 2012-11-14 11:19:04 -05:00
Alan Kligman bd2d0fe880 Refactored previous API to allow for linking. 2012-11-13 19:05:57 -05:00
Alan Kligman a48dabd42d Implemented open() and close(). 2012-11-09 11:10:55 -05:00
Alan Kligman a76c9557d5 Bunch of bug fixes and stat is working. 2012-11-08 05:29:05 -05:00
Alan Kligman 83ff221736 Refactoring. 2012-11-08 00:12:41 -05:00
Alan Kligman cb370a0ede Removed this, will get from other project. 2012-10-15 11:31:05 -04:00
Alan Kligman 238b37c467 Updated example. 2012-10-15 11:30:45 -04:00
Alan Kligman fcb66dac52 Added buffer code (based on node's buffer); 2012-10-14 18:49:06 -04:00
Alan Kligman eb4b1b1aa1 Refactored error code and added transaction abort on error. 2012-10-13 13:26:02 -04:00
Alan Kligman c434385fe4 Updated tests. Added a FORMAT flag to make things clearer. 2012-10-13 11:06:17 -04:00
Alan Kligman 4dc7474fd5 Support for unlink(). 2012-10-12 18:54:12 -04:00
Alan Kligman d21adc32d7 Added write() support. 2012-10-12 17:46:12 -04:00
Alan Kligman 714e249266 Removed old code. Started implementing write(). 2012-10-12 11:35:39 -04:00
Alan Kligman 4b4f3a76be First cut at read(). Will need to refactor after write() is done. 2012-10-12 00:24:35 -04:00
Alan Kligman cc82c68b4b Refactoring for close(). 2012-10-11 23:51:18 -04:00
Alan Kligman 31f2ca6d91 Added close. 2012-10-11 21:48:23 -04:00
Alan Kligman 380b00ca3a Added path tools (from node.js) and normalization to API methods. 2012-10-11 16:26:23 -04:00
Alan Kligman f4189c7e8b Support for rmdir. 2012-10-11 14:58:36 -04:00
Alan Kligman f762cf74b1 Refactoring away from promises. 2012-10-11 02:20:58 -04:00
Alan Kligman 3daebb73ad Added stat support. 2012-10-09 13:40:25 -04:00