aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2017-03-09 07:19:33 +0800
committerDan Finlay <dan@danfinlay.com>2017-03-09 07:19:33 +0800
commite3f6c010abb5cec35910dc4ea83f451287d25f11 (patch)
treebcc8f6b5e70b136d45644ae56024b253086e8b64 /test
parent69d4aafc3e8fd62875e5da2c2c6c7b3bdac5bf9f (diff)
parent1fbe4a801a05523cbdf97f7d8491affb49ed9bc6 (diff)
downloadtangerine-wallet-browser-e3f6c010abb5cec35910dc4ea83f451287d25f11.tar.gz
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.js7
-rw-r--r--test/unit/components/binary-renderer-test.js25
-rw-r--r--test/unit/currency-controller-test.js2
-rw-r--r--test/unit/notice-controller-test.js2
-rw-r--r--test/unit/personal-message-manager-test.js23
-rw-r--r--test/unit/tx-utils-test.js58
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