Add tests.
This commit is contained in:
parent
0f424562f2
commit
1df76fd793
4 changed files with 1802 additions and 0 deletions
35
test/index.html
Executable file
35
test/index.html
Executable file
|
@ -0,0 +1,35 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>BitcoinJS-lib Test Suite</title>
|
||||
<link rel="stylesheet" href="../vendor/qunit/qunit.css" type="text/css" media="screen">
|
||||
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../vendor/qunit/qunit.js"></script>
|
||||
<script type="text/javascript" src="../src/crypto-js/crypto.js"></script>
|
||||
<script type="text/javascript" src="../src/crypto-js/sha256.js"></script>
|
||||
<script type="text/javascript" src="../src/jsbn/prng4.js"></script>
|
||||
<script type="text/javascript" src="../src/jsbn/rng.js"></script>
|
||||
<script type="text/javascript" src="../src/jsbn/jsbn.js"></script>
|
||||
<script type="text/javascript" src="../src/jsbn/jsbn2.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../src/jsbn/ec.js"></script>
|
||||
<script type="text/javascript" src="../src/jsbn/sec.js"></script>
|
||||
<script type="text/javascript" src="../src/events/eventemitter.js"></script>
|
||||
<script type="text/javascript" src="../src/bitcoin.js"></script>
|
||||
<script type="text/javascript" src="../src/util.js"></script>
|
||||
<script type="text/javascript" src="../src/base58.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../src/address.js"></script>
|
||||
<script type="text/javascript" src="../src/ecdsa.js"></script>
|
||||
<script type="text/javascript" src="../src/paillier.js"></script>
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1 id="qunit-header">BitcoinJS-lib Test Suite</h1>
|
||||
<h2 id="qunit-banner"></h2>
|
||||
<div id="qunit-testrunner-toolbar"></div>
|
||||
<h2 id="qunit-userAgent"></h2>
|
||||
<ol id="qunit-tests"></ol>
|
||||
<div id="qunit-fixture"></div>
|
||||
</body>
|
||||
</html>
|
31
test/test.js
Executable file
31
test/test.js
Executable file
|
@ -0,0 +1,31 @@
|
|||
//
|
||||
// Testing elliptic curve math
|
||||
// -----------------------------------------------------------------------------
|
||||
module("ec");
|
||||
|
||||
var ecparams = getSECCurveByName("secp256k1");
|
||||
var rng = new SecureRandom();
|
||||
|
||||
test("Classes", function () {
|
||||
expect(3);
|
||||
ok(ECPointFp, "ECPointFp");
|
||||
ok(ECFieldElementFp, "ECFieldElementFp");
|
||||
ok(ECCurveFp, "ECCurveFp");
|
||||
});
|
||||
|
||||
test("Point multiplication", function () {
|
||||
expect(5);
|
||||
|
||||
var G = ecparams.getG();
|
||||
var n = ecparams.getN();
|
||||
|
||||
ok(G.multiply(n).isInfinity(), "Gn is infinite");
|
||||
|
||||
var k = Bitcoin.ECDSA.getBigRandom(n);
|
||||
var P = G.multiply(k);
|
||||
ok(!P.isInfinity(), "kG is not infinite");
|
||||
ok(P.isOnCurve(), "kG on curve");
|
||||
ok(P.multiply(n).isInfinity(), "kGn is infinite");
|
||||
|
||||
ok(P.validate(), "kG validates as a public key");
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue