Browse Source

Squashed 'libjsqrc/ethereumjs/' changes from 47687cf..ab745d3

ab745d3 updated readme
b915c7a updated readme
6c26255 Merge branch 'tests' into develop
e2c4525 Merge branch 'master' into develop
e778e12 spec reporter instead of nyan
a4e6f0b fixed travis.yml && added nmp test script
048e777 Merge branch 'master' into tests
15c2293 updated package json
24814a4 Merge branch 'master' of https://github.com/ethereum/ethereum.js
6188e64 Update README.md
c34b0c6 Update README.md
29c60c0 Merge branch 'develop' into tests
b3eda29 Merge branch 'master' into tests
c397e35 mocha opts file && init of parser tests
b6058a8 methods existance tests in progress
5518022 mocha test init

git-subtree-dir: libjsqrc/ethereumjs
git-subtree-split: ab745d3b0e
cl-refactor
Gav Wood 10 years ago
parent
commit
a1023a5dff
  1. 4
      .travis.yml
  2. 26
      README.md
  3. 1
      dist/ethereum.js
  4. 4
      dist/ethereum.js.map
  5. 1
      lib/abi.js
  6. 6
      package.json
  7. 37
      test/abi.parsers.js
  8. 18
      test/db.methods.js
  9. 42
      test/eth.methods.js
  10. 2
      test/mocha.opts
  11. 19
      test/shh.methods.js
  12. 15
      test/utils.js
  13. 18
      test/web3.methods.js

4
.travis.yml

@ -8,4 +8,6 @@ before_script:
script:
- "jshint *.js lib"
after_script:
- npm run-script gulp
- npm run-script build
- npm test

26
README.md

@ -50,13 +50,35 @@ web3.eth.coinbase.then(function(result){
For another example see `example/index.html`.
## Contribute!
### Requirements
* Node.js
* npm
* gulp (build)
* mocha (tests)
```bash
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
sudo apt-get install nodejs-legacy
```
## Building
* `gulp build`
```bash (gulp)
npm run-script build
```
### Testing
```bash (mocha)
npm test
```
**Please note this repo is in it's early stage.**
If you'd like to run a WebSocket ethereum node check out
@ -76,4 +98,4 @@ ethereum -ws -loglevel=4
[dep-image]: https://david-dm.org/ethereum/ethereum.js.svg
[dep-url]: https://david-dm.org/ethereum/ethereum.js
[dep-dev-image]: https://david-dm.org/ethereum/ethereum.js/dev-status.svg
[dep-dev-url]: https://david-dm.org/ethereum/ethereum.js#info=devDependencies
[dep-dev-url]: https://david-dm.org/ethereum/ethereum.js#info=devDependencies

1
dist/ethereum.js

@ -277,6 +277,7 @@ module.exports = {
methodSignature: methodSignature
};
},{}],2:[function(require,module,exports){
/*
This file is part of ethereum.js.

4
dist/ethereum.js.map

File diff suppressed because one or more lines are too long

1
lib/abi.js

@ -275,3 +275,4 @@ module.exports = {
outputParser: outputParser,
methodSignature: methodSignature
};

6
package.json

@ -25,12 +25,14 @@
"jshint": ">=2.5.0",
"uglifyify": "^2.6.0",
"unreachable-branch-transform": "^0.1.0",
"vinyl-source-stream": "^1.0.0"
"vinyl-source-stream": "^1.0.0",
"mocha": ">=2.1.0"
},
"scripts": {
"build": "gulp",
"watch": "gulp watch",
"lint": "gulp lint"
"lint": "gulp lint",
"test": "mocha"
},
"repository": {
"type": "git",

37
test/abi.parsers.js

@ -0,0 +1,37 @@
var assert = require('assert');
var abi = require('../lib/abi.js');
describe('abi', function() {
describe('inputParser', function() {
it('should parse ...', function() {
var desc = [{
"name": "multiply",
"inputs": [
{
"name": "a",
"type": "uint256"
}
],
"outputs": [
{
"name": "d",
"type": "uint256"
}
]
}];
var iParser = abi.inputParser(desc);
assert.equal(iParser.multiply(1), "0x000000000000000000000000000000000000000000000000000000000000000001");
});
});
describe('outputParser', function() {
it('parse ...', function() {
});
});
});

18
test/db.methods.js

@ -0,0 +1,18 @@
require('es6-promise').polyfill();
var assert = require('assert');
var web3 = require('../index.js');
var u = require('./utils.js');
web3.setProvider(new web3.providers.WebSocketProvider('http://localhost:8080')); // TODO: create some mock provider
describe('web3', function() {
describe('db', function() {
it('should have all methods implemented', function() {
u.methodExists(web3.db, 'put');
u.methodExists(web3.db, 'get');
u.methodExists(web3.db, 'putString');
u.methodExists(web3.db, 'getString');
});
});
});

42
test/eth.methods.js

@ -0,0 +1,42 @@
require('es6-promise').polyfill();
var assert = require('assert');
var web3 = require('../index.js');
var u = require('./utils.js');
web3.setProvider(new web3.providers.WebSocketProvider('http://localhost:8080')); // TODO: create some mock provider
describe('web3', function() {
describe('eth', function() {
it('should have all methods implemented', function() {
u.methodExists(web3.eth, 'balanceAt');
u.methodExists(web3.eth, 'stateAt');
u.methodExists(web3.eth, 'storageAt');
u.methodExists(web3.eth, 'countAt');
u.methodExists(web3.eth, 'codeAt');
u.methodExists(web3.eth, 'transact');
u.methodExists(web3.eth, 'call');
u.methodExists(web3.eth, 'block');
u.methodExists(web3.eth, 'transaction');
u.methodExists(web3.eth, 'uncle');
u.methodExists(web3.eth, 'compilers');
u.methodExists(web3.eth, 'lll');
u.methodExists(web3.eth, 'solidity');
u.methodExists(web3.eth, 'serpent');
u.methodExists(web3.eth, 'logs');
});
it('should have all properties implemented', function () {
u.propertyExists(web3.eth, 'coinbase');
u.propertyExists(web3.eth, 'listening');
u.propertyExists(web3.eth, 'mining');
u.propertyExists(web3.eth, 'gasPrice');
u.propertyExists(web3.eth, 'account');
u.propertyExists(web3.eth, 'accounts');
u.propertyExists(web3.eth, 'peerCount');
u.propertyExists(web3.eth, 'defaultBlock');
u.propertyExists(web3.eth, 'number');
});
});
});

2
test/mocha.opts

@ -0,0 +1,2 @@
--reporter Spec

19
test/shh.methods.js

@ -0,0 +1,19 @@
require('es6-promise').polyfill();
var assert = require('assert');
var web3 = require('../index.js');
var u = require('./utils.js');
web3.setProvider(new web3.providers.WebSocketProvider('http://localhost:8080')); // TODO: create some mock provider
describe('web3', function() {
describe('shh', function() {
it('should have all methods implemented', function() {
u.methodExists(web3.shh, 'post');
u.methodExists(web3.shh, 'newIdentity');
u.methodExists(web3.shh, 'haveIdentity');
u.methodExists(web3.shh, 'newGroup');
u.methodExists(web3.shh, 'addToGroup');
});
});
});

15
test/utils.js

@ -0,0 +1,15 @@
var assert = require('assert');
var methodExists = function (object, method) {
assert.equal('function', typeof object[method], 'method ' + method + ' is not implemented');
};
var propertyExists = function (object, property) {
assert.equal('object', typeof object[property], 'property ' + property + ' is not implemented');
};
module.exports = {
methodExists: methodExists,
propertyExists: propertyExists
};

18
test/web3.methods.js

@ -0,0 +1,18 @@
require('es6-promise').polyfill();
var assert = require('assert');
var web3 = require('../index.js');
var u = require('./utils.js');
web3.setProvider(new web3.providers.WebSocketProvider('http://localhost:8080')); // TODO: create some mock provider
describe('web3', function() {
it('should have all methods implemented', function() {
u.methodExists(web3, 'sha3');
u.methodExists(web3, 'toAscii');
u.methodExists(web3, 'fromAscii');
u.methodExists(web3, 'toFixed');
u.methodExists(web3, 'fromFixed');
u.methodExists(web3, 'offset');
});
});
Loading…
Cancel
Save