Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1bd091c
Showing
5 changed files
with
125 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/samples |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Cellular | ||
|
||
Simple Cellular Automata processing in Javascript for browser and Node.js | ||
|
||
## Installation | ||
|
||
Via npm on Node: | ||
|
||
``` | ||
npm install cellular | ||
``` | ||
|
||
|
||
## Usage | ||
|
||
Reference in your program: | ||
|
||
```js | ||
var cellular = require('cellular'); | ||
``` | ||
|
||
TBD | ||
|
||
## Development | ||
|
||
``` | ||
git clone git://github.com/ajlopez/Cellular.git | ||
cd Cellular | ||
npm install | ||
npm test | ||
``` | ||
|
||
## Samples | ||
|
||
TBD | ||
|
||
## To do | ||
|
||
- Samples | ||
- Distributed Sample | ||
- Browser Sample | ||
|
||
## Contribution | ||
|
||
Feel free to [file issues](https://github.com/ajlopez/Cellular) and submit | ||
[pull requests](https://github.com/ajlopez/Cellular/pulls) — contributions are | ||
welcome. | ||
|
||
If you submit a pull request, please be sure to add or update corresponding | ||
test cases, and ensure that `npm test` continues to pass. | ||
|
||
(Thanks to [JSON5](https://github.com/aseemk/json5) by [aseemk](https://github.com/aseemk). | ||
This file is based on that project README.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ "name": "cellular" | ||
, "description": "Simple Cellular Automata processing in Javascript for browser and Node.js" | ||
, "keywords": [ "cellular", "automata", "game of life", "nodejs", "javascript" ] | ||
, "version": "0.0.1alpha" | ||
, "author": "Angel 'Java' Lopez <webmaster@ajlopez.com> (http://www.ajlopez.com)" | ||
, "repository": { "type": "git", "url": "git://github.com/ajlopez/Cellular.git" } | ||
, "main": "./lib/cellular.js" | ||
, "engines": { "node": ">= 0.6.0 && < 0.9.0" } | ||
, "scripts": { | ||
"test": "node ./test.js" | ||
} | ||
, "dependencies": { | ||
} | ||
, "devDependencies": { | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
#!/usr/bin/env node | ||
|
||
// Based on https://github.com/laverdet/node-fibers/blob/master/test.js | ||
|
||
var fs = require('fs'); | ||
var spawn = require('child_process').spawn; | ||
var path = require('path'); | ||
|
||
function runTest(test, cb) { | ||
var proc = spawn(process.execPath, [path.join('test', test)], {env: {NODE_PATH: __dirname}}); | ||
proc.stdout.setEncoding('utf8'); | ||
proc.stderr.setEncoding('utf8'); | ||
|
||
var stdout = '', stderr = ''; | ||
proc.stdout.on('data', function(data) { | ||
stdout += data; | ||
}); | ||
proc.stderr.on('data', function(data) { | ||
stderr += data; | ||
}); | ||
proc.stdin.end(); | ||
|
||
proc.on('exit', function(code) { | ||
if ((stdout !== 'pass\n' && stdout !== '') || stderr !== '') { | ||
return cb(new Error( | ||
'Test `'+ test+ '` failed.\n'+ | ||
'code: '+ code+ '\n'+ | ||
'stderr: '+ stderr+ '\n'+ | ||
'stdout: '+ stdout)); | ||
} | ||
console.log(test+ ': '+ 'pass'); | ||
cb(); | ||
}); | ||
} | ||
|
||
var cb = function(err) { | ||
if (err) { | ||
console.error(String(err)); | ||
process.exit(1); | ||
} | ||
}; | ||
fs.readdirSync('./test').reverse().forEach(function(file) { | ||
var stats = fs.lstatSync(path.join('./test',file)); | ||
if (!stats.isFile()) | ||
return; | ||
|
||
cb = new function(cb, file) { | ||
return function(err) { | ||
if (err) return cb(err); | ||
runTest(file, cb); | ||
}; | ||
}(cb, file); | ||
}); | ||
cb(); |