mirror of https://github.com/BTCPrivate/copay.git
copay tests in the browser!
This commit is contained in:
parent
5f6739fbfc
commit
a658ec8452
|
@ -0,0 +1,7 @@
|
|||
#! /bin/bash
|
||||
|
||||
cd vendor/
|
||||
cat browser-adapter.js crypto-2.0.js crypto-3.1.js jsbn.js jsbn2.js prng4.js util.js rng.js ec.js sec.js ecdsa.js eckey.js > vendor-bundle.js
|
||||
mv vendor-bundle.js ../
|
||||
cd ../
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
module.exports.Storage = require('./js/models/Storage');
|
||||
module.exports.PublicKeyRing = require('./js/models/PublicKeyRing');
|
||||
|
||||
module.exports.FakeStorage = require('./test/FakeStorage');
|
|
@ -213,12 +213,14 @@
|
|||
<script src="lib/angular-foundation/mm-foundation.min.js"></script>
|
||||
<script src="lib/angular-foundation/mm-foundation-tpls.min.js"></script>
|
||||
<script src="lib/peerjs/peer.js"></script>
|
||||
<script src="lib/bitcore.js"></script>
|
||||
<script src="lib/copay.js"></script>
|
||||
|
||||
|
||||
<script src="js/app.js"></script>
|
||||
<script src="js/config.js"></script>
|
||||
<script src="js/directives.js"></script>
|
||||
<script src="js/filters.js"></script>
|
||||
|
||||
<script src="js/services/network.js"></script>
|
||||
<script src="js/services/storage.js"></script>
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@ var Transaction = bitcore.Transaction;
|
|||
var buffertools = bitcore.buffertools;
|
||||
|
||||
var Storage = imports.Storage || require('./Storage');
|
||||
var log = imports.log || console.log;
|
||||
|
||||
var storage = Storage.default();
|
||||
|
||||
/*
|
||||
|
@ -52,12 +50,12 @@ PublicKeyRing.getRandomId = function () {
|
|||
};
|
||||
|
||||
PublicKeyRing.decrypt = function (passphrase, encPayload) {
|
||||
log('[wallet.js.35] TODO READ: passphrase IGNORED');
|
||||
console.log('[wallet.js.35] TODO READ: passphrase IGNORED');
|
||||
return encPayload;
|
||||
};
|
||||
|
||||
PublicKeyRing.encrypt = function (passphrase, payload) {
|
||||
log('[wallet.js.92] TODO: passphrase IGNORED');
|
||||
console.log('[wallet.js.92] TODO: passphrase IGNORED');
|
||||
return payload;
|
||||
};
|
||||
|
||||
|
@ -188,7 +186,7 @@ PublicKeyRing.prototype.getCopayersPubKeys = function (index, isChange) {
|
|||
PublicKeyRing.prototype._checkIndexRange = function (index, isChange) {
|
||||
if ( (isChange && index > this.changeAddressIndex) ||
|
||||
(!isChange && index > this.addressIndex)) {
|
||||
log('Out of bounds at getAddress: Index %d isChange: %d', index, isChange);
|
||||
console.log('Out of bounds at getAddress: Index %d isChange: %d', index, isChange);
|
||||
throw new Error('index out of bound');
|
||||
}
|
||||
};
|
||||
|
|
|
@ -6,6 +6,7 @@ angular.module('copay.network')
|
|||
$rootScope.connectedPeers = [];
|
||||
$rootScope.connectedTo = [];
|
||||
$rootScope.peerId = null;
|
||||
$rootScope.publicKeyRing = [];
|
||||
|
||||
// Array helpers
|
||||
var _arrayDiff = function(a, b) {
|
||||
|
|
13
package.json
13
package.json
|
@ -19,10 +19,19 @@
|
|||
},
|
||||
"homepage": "https://github.com/bitpay/copay",
|
||||
"devDependencies": {
|
||||
"grunt-cli": "~0.1.13",
|
||||
"grunt-contrib-watch": "~0.5.3",
|
||||
"grunt-mocha-test": "~0.8.2",
|
||||
"grunt-shell": "~0.6.4",
|
||||
"grunt-browserify": "~2.0.0",
|
||||
"grunt-markdown": "~0.5.0",
|
||||
"karma": "~0.12.1",
|
||||
"karma-chrome-launcher": "~0.1.2",
|
||||
"mocha": "~1.18.2",
|
||||
"karma-mocha": "~0.1.3"
|
||||
"karma-mocha": "~0.1.3",
|
||||
"buffertools": "~2.0.1",
|
||||
"browserify": "~3.32.1",
|
||||
"browser-pack": "~2.0.1",
|
||||
"commander": "~2.1.0",
|
||||
"uglifyify": "~1.2.3"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Mocha</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="../node_modules/mocha/mocha.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="mocha"></div>
|
||||
<script src="../node_modules/mocha/mocha.js"></script>
|
||||
<script src="../node_modules/chai/chai.js"></script>
|
||||
<script>mocha.setup('bdd')</script>
|
||||
<script src="../lib/bitcore.js"></script>
|
||||
<script src="../lib/copayBundle.js"></script>
|
||||
<script>
|
||||
|
||||
var copay = require('copay');
|
||||
</script>
|
||||
<script src="test.PublicKeyRing.js"></script>
|
||||
<script src="test.Storage.js"></script>
|
||||
<!--
|
||||
-->
|
||||
<script>
|
||||
mocha.run();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
var chai = chai || require('chai');
|
||||
var should = chai.should();
|
||||
var bitcore = bitcore || require('../node_modules/bitcore');
|
||||
var bitcore = bitcore || require('bitcore');
|
||||
var Address = bitcore.Address;
|
||||
var buffertools = bitcore.buffertools;
|
||||
var copay = copay || {};
|
||||
var fakeStorage = require('./FakeStorage');
|
||||
var copay = copay || require('../copay');
|
||||
var fakeStorage = copay.FakeStorage;
|
||||
var PublicKeyRing = copay.PublicKeyRing || require('soop').load('../js/models/PublicKeyRing', {Storage: fakeStorage});
|
||||
|
||||
var aMasterPubKey = 'tprv8ZgxMBicQKsPdSVTiWXEqCCzqRaRr9EAQdn5UVMpT9UHX67Dh1FmzEMbavPumpAicsUm2XvC6NTdcWB89yN5DUWx5HQ7z3KByUg7Ht74VRZ';
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
var chai = chai || require('chai');
|
||||
var should = chai.should();
|
||||
var copay = copay || {};
|
||||
var copay = copay || require('../copay');
|
||||
var Storage = copay.Storage || require('../js/models/Storage');
|
||||
|
||||
describe('Storage model', function() {
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
var browserify = require('browserify');
|
||||
var browserPack = require('browser-pack');
|
||||
var exec = require('child_process').exec;
|
||||
var sys = require('sys');
|
||||
var puts = function(error, stdout, stderr) {
|
||||
if (error) console.log(error);
|
||||
//sys.puts(stdout);
|
||||
//sys.puts(stderr);
|
||||
};
|
||||
|
||||
var pack = function (params) {
|
||||
var file = require.resolve('soop');
|
||||
var dir = file.substr(0, file.length - String('soop.js').length);
|
||||
var preludePath = dir + 'example/custom_prelude.js';
|
||||
params.raw = true;
|
||||
params.sourceMapPrefix = '//#';
|
||||
params.prelude = fs.readFileSync(preludePath, 'utf8');
|
||||
params.preludePath = preludePath;
|
||||
return browserPack(params);
|
||||
};
|
||||
|
||||
var createBundle = function(opts) {
|
||||
|
||||
|
||||
opts.dir = opts.dir || 'js/';
|
||||
|
||||
// concat browser vendor files
|
||||
exec('cd ' + opts.dir + 'browser; sh concat.sh', puts);
|
||||
|
||||
var bopts = {
|
||||
pack: pack,
|
||||
debug: true,
|
||||
standalone: 'copay',
|
||||
insertGlobals: true
|
||||
};
|
||||
var b = browserify(bopts);
|
||||
b.require('./copay', {
|
||||
expose: 'copay'
|
||||
});
|
||||
|
||||
if (!opts.dontminify) {
|
||||
b.transform({
|
||||
global: true
|
||||
}, 'uglifyify');
|
||||
}
|
||||
var bundle = b.bundle();
|
||||
return bundle;
|
||||
};
|
||||
|
||||
if (require.main === module) {
|
||||
var list = function(val) {
|
||||
return val.split(',');
|
||||
};
|
||||
var program = require('commander');
|
||||
program
|
||||
.version('0.0.1')
|
||||
.option('-d, --dontminify', 'Don\'t minify the code.')
|
||||
.option('-o, --stdout', 'Specify output as stdout')
|
||||
.parse(process.argv);
|
||||
var copayBundle = createBundle(program);
|
||||
copayBundle.pipe(program.stdout ? process.stdout : fs.createWriteStream('lib/copayBundle.js'));
|
||||
}
|
||||
|
||||
module.exports.createBundle = createBundle;
|
Loading…
Reference in New Issue