diff --git a/src/app.js b/src/app.js index f970ddb079..80baedf98b 100644 --- a/src/app.js +++ b/src/app.js @@ -629,6 +629,8 @@ Please make a backup of your contracts and start using http://remix.ethereum.org if (Object.keys(filesList).length === 0) { if (!filesProviders['browser'].set(examples.ballot.name, examples.ballot.content)) { modalDialogCustom.alert('Failed to store example contract in browser. Remix will not work properly. Please ensure Remix has access to LocalStorage. Safari in Private mode is known not to work.') + } else { + filesProviders['browser'].set(examples.ballot_test.name, examples.ballot_test.content) } } }) diff --git a/src/app/editor/example-contracts.js b/src/app/editor/example-contracts.js index 6c0a31cc87..b9316e43d9 100644 --- a/src/app/editor/example-contracts.js +++ b/src/app/editor/example-contracts.js @@ -66,6 +66,31 @@ contract Ballot { } }` +var ballotTest = `pragma solidity ^0.4.7; +import "./remix_tests.sol"; // this import is automatically injected by Remix. +import "./ballot.sol"; + +contract test3 { + + Ballot ballotToTest; + function beforeAll () { + bytes32[] proposals; + proposals.push(0xabcd); + ballotToTest = new Ballot(proposals); + } + + function checkWinningProposal () public { + ballotToTest.vote(1); + Assert.equal(ballotToTest.winningProposal(), uint(1), "1 should be the winning proposal"); + } + + function checkWinninProposalWithReturnValue () public constant returns (bool) { + return ballotToTest.winningProposal() == 1; + } +} +` + module.exports = { - ballot: { name: 'ballot.sol', content: ballot } + ballot: { name: 'ballot.sol', content: ballot }, + ballot_test: { name: 'ballot_test.sol', content: ballotTest } }