Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ajlopez committed Oct 21, 2012
0 parents commit 1bd091c
Show file tree
Hide file tree
Showing 5 changed files with 125 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -0,0 +1 @@
node_modules
1 change: 1 addition & 0 deletions .npmignore
@@ -0,0 +1 @@
/samples
53 changes: 53 additions & 0 deletions README.md
@@ -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).
16 changes: 16 additions & 0 deletions package.json
@@ -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": {
}
}
54 changes: 54 additions & 0 deletions test.js
@@ -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();

0 comments on commit 1bd091c

Please sign in to comment.