You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.1 KiB
JavaScript

1 year ago
const { expect } = require('chai');
const Base64 = artifacts.require('$Base64');
contract('Strings', function () {
beforeEach(async function () {
this.base64 = await Base64.new();
});
describe('from bytes - base64', function () {
it('converts to base64 encoded string with double padding', async function () {
const TEST_MESSAGE = 'test';
const input = web3.utils.asciiToHex(TEST_MESSAGE);
expect(await this.base64.$encode(input)).to.equal('dGVzdA==');
});
it('converts to base64 encoded string with single padding', async function () {
const TEST_MESSAGE = 'test1';
const input = web3.utils.asciiToHex(TEST_MESSAGE);
expect(await this.base64.$encode(input)).to.equal('dGVzdDE=');
});
it('converts to base64 encoded string without padding', async function () {
const TEST_MESSAGE = 'test12';
const input = web3.utils.asciiToHex(TEST_MESSAGE);
expect(await this.base64.$encode(input)).to.equal('dGVzdDEy');
});
it('empty bytes', async function () {
expect(await this.base64.$encode([])).to.equal('');
});
});
});