diff options
author | Dan Finlay <dan@danfinlay.com> | 2017-03-09 07:19:33 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2017-03-09 07:19:33 +0800 |
commit | e3f6c010abb5cec35910dc4ea83f451287d25f11 (patch) | |
tree | bcc8f6b5e70b136d45644ae56024b253086e8b64 /test | |
parent | 69d4aafc3e8fd62875e5da2c2c6c7b3bdac5bf9f (diff) | |
parent | 1fbe4a801a05523cbdf97f7d8491affb49ed9bc6 (diff) | |
download | tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.gz tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.bz2 tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.lz tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.xz tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.zst tangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.zip |
Get basic ENS working
& merge master into ENS branch.
Diffstat (limited to 'test')
-rw-r--r-- | test/unit/actions/config_test.js | 7 | ||||
-rw-r--r-- | test/unit/components/binary-renderer-test.js | 25 | ||||
-rw-r--r-- | test/unit/currency-controller-test.js | 2 | ||||
-rw-r--r-- | test/unit/notice-controller-test.js | 2 | ||||
-rw-r--r-- | test/unit/personal-message-manager-test.js | 23 | ||||
-rw-r--r-- | test/unit/tx-utils-test.js | 58 |
6 files changed, 111 insertions, 6 deletions
diff --git a/test/unit/actions/config_test.js b/test/unit/actions/config_test.js index f851e4102..14198fa8a 100644 --- a/test/unit/actions/config_test.js +++ b/test/unit/actions/config_test.js @@ -11,6 +11,7 @@ describe ('config view actions', function() { var initialState = { metamask: { rpcTarget: 'foo', + frequentRpcList: [] }, appState: { currentView: { @@ -32,13 +33,13 @@ describe ('config view actions', function() { it('sets the state.metamask.rpcTarget property of the state to the action.value', function() { const action = { type: actions.SET_RPC_TARGET, - value: 'bar', + value: 'foo', } var result = reducers(initialState, action) assert.equal(result.metamask.provider.type, 'rpc') - assert.equal(result.metamask.provider.rpcTarget, action.value) + assert.equal(result.metamask.provider.rpcTarget, 'foo') }) }) -}) +}) diff --git a/test/unit/components/binary-renderer-test.js b/test/unit/components/binary-renderer-test.js new file mode 100644 index 000000000..3264faddc --- /dev/null +++ b/test/unit/components/binary-renderer-test.js @@ -0,0 +1,25 @@ +var assert = require('assert') +var BinaryRenderer = require('../../../ui/app/components/binary-renderer') + +describe('BinaryRenderer', function() { + + let binaryRenderer + const message = 'Hello, world!' + const buffer = new Buffer(message, 'utf8') + const hex = buffer.toString('hex') + + beforeEach(function() { + binaryRenderer = new BinaryRenderer() + }) + + it('recovers message', function() { + const result = binaryRenderer.hexToText(hex) + assert.equal(result, message) + }) + + + it('recovers message with hex prefix', function() { + const result = binaryRenderer.hexToText('0x' + hex) + assert.equal(result, message) + }) +}) diff --git a/test/unit/currency-controller-test.js b/test/unit/currency-controller-test.js index c57b522c7..dd7fa91e0 100644 --- a/test/unit/currency-controller-test.js +++ b/test/unit/currency-controller-test.js @@ -5,7 +5,7 @@ const assert = require('assert') const extend = require('xtend') const rp = require('request-promise') const nock = require('nock') -const CurrencyController = require('../../app/scripts/lib/controllers/currency') +const CurrencyController = require('../../app/scripts/controllers/currency') describe('config-manager', function() { var currencyController diff --git a/test/unit/notice-controller-test.js b/test/unit/notice-controller-test.js index cf00daeba..73fdb2f2e 100644 --- a/test/unit/notice-controller-test.js +++ b/test/unit/notice-controller-test.js @@ -4,7 +4,7 @@ const rp = require('request-promise') const nock = require('nock') const configManagerGen = require('../lib/mock-config-manager') const NoticeController = require('../../app/scripts/notice-controller') -const STORAGE_KEY = 'metamask-persistance-key' +const STORAGE_KEY = 'metamask-persistence-key' describe('notice-controller', function() { var noticeController diff --git a/test/unit/personal-message-manager-test.js b/test/unit/personal-message-manager-test.js index 657d5e675..f2c01392c 100644 --- a/test/unit/personal-message-manager-test.js +++ b/test/unit/personal-message-manager-test.js @@ -4,7 +4,7 @@ const EventEmitter = require('events') const PersonalMessageManager = require('../../app/scripts/lib/personal-message-manager') -describe('Transaction Manager', function() { +describe('Personal Message Manager', function() { let messageManager beforeEach(function() { @@ -86,4 +86,25 @@ describe('Transaction Manager', function() { assert.equal(messageManager.getMsg('2').status, 'approved') }) }) + + describe('#normalizeMsgData', function() { + it('converts text to a utf8 hex string', function() { + var input = 'hello' + var output = messageManager.normalizeMsgData(input) + assert.equal(output, '0x68656c6c6f', 'predictably hex encoded') + }) + + it('tolerates a hex prefix', function() { + var input = '0x12' + var output = messageManager.normalizeMsgData(input) + assert.equal(output, '0x12', 'un modified') + }) + + it('tolerates normal hex', function() { + var input = '12' + var output = messageManager.normalizeMsgData(input) + assert.equal(output, '0x12', 'adds prefix') + }) + }) + }) diff --git a/test/unit/tx-utils-test.js b/test/unit/tx-utils-test.js new file mode 100644 index 000000000..e57b25e83 --- /dev/null +++ b/test/unit/tx-utils-test.js @@ -0,0 +1,58 @@ +const assert = require('assert') +const ethUtil = require('ethereumjs-util') +const BN = ethUtil.BN + +const TxUtils = require('../../app/scripts/lib/tx-utils') + + +describe('txUtils', function() { + let txUtils + + before(function() { + txUtils = new TxUtils() + }) + + describe('addGasBuffer', function() { + it('multiplies by 1.5, when within block gas limit', function() { + // naive estimatedGas: 0x123fad (~1.2 mil) + const inputHex = '0x123fad' + // dummy gas limit: 0x3d4c52 (4 mil) + const blockGasLimitHex = '0x3d4c52' + const output = txUtils.addGasBuffer(inputHex, blockGasLimitHex) + const inputBn = hexToBn(inputHex) + const outputBn = hexToBn(output) + const expectedBn = inputBn.muln(1.5) + assert(outputBn.eq(expectedBn), 'returns 1.5 the input value') + }) + + it('uses original estimatedGas, when above block gas limit', function() { + // naive estimatedGas: 0x123fad (~1.2 mil) + const inputHex = '0x123fad' + // dummy gas limit: 0x0f4240 (1 mil) + const blockGasLimitHex = '0x0f4240' + const output = txUtils.addGasBuffer(inputHex, blockGasLimitHex) + const inputBn = hexToBn(inputHex) + const outputBn = hexToBn(output) + const expectedBn = hexToBn(inputHex) + assert(outputBn.eq(expectedBn), 'returns the original estimatedGas value') + }) + + it('buffers up to block gas limit', function() { + // naive estimatedGas: 0x123fad (~1.2 mil) + const inputHex = '0x1e8480' + // dummy gas limit: 0x1e8480 (2 mil) + const blockGasLimitHex = '0x1e8480' + const output = txUtils.addGasBuffer(inputHex, blockGasLimitHex) + const inputBn = hexToBn(inputHex) + const outputBn = hexToBn(output) + const expectedBn = hexToBn(blockGasLimitHex) + assert(outputBn.eq(expectedBn), 'returns the block gas limit value') + }) + }) +}) + +// util + +function hexToBn(inputHex) { + return new BN(ethUtil.stripHexPrefix(inputHex), 16) +}
\ No newline at end of file |