Ember update (#5386)

Ember update - update ember-cli, ember-data, and ember to 3.4 series
This commit is contained in:
Matthew Irish
2018-09-25 11:28:26 -05:00
committed by GitHub
parent 1aad6e0800
commit 6f89952767
531 changed files with 13156 additions and 11617 deletions

View File

@@ -1,45 +1,50 @@
import { moduleForComponent, test } from 'ember-qunit';
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { render, click, findAll, find } from '@ember/test-helpers';
import hbs from 'htmlbars-inline-precompile';
moduleForComponent('b64-toggle', 'Integration | Component | b64 toggle', {
integration: true,
});
module('Integration | Component | b64 toggle', function(hooks) {
setupRenderingTest(hooks);
test('it renders', function(assert) {
this.render(hbs`{{b64-toggle}}`);
assert.equal(this.$('button').length, 1);
});
test('it renders', async function(assert) {
await render(hbs`{{b64-toggle}}`);
assert.equal(findAll('button').length, 1);
});
test('it toggles encoding on the passed string', function(assert) {
this.set('value', 'value');
this.render(hbs`{{b64-toggle value=value}}`);
this.$('button').click();
assert.equal(this.get('value'), btoa('value'), 'encodes to base64');
this.$('button').click();
assert.equal(this.get('value'), 'value', 'decodes from base64');
});
test('it toggles encoding on the passed string', async function(assert) {
this.set('value', 'value');
await render(hbs`{{b64-toggle value=value}}`);
await click('button');
assert.equal(this.get('value'), btoa('value'), 'encodes to base64');
await click('button');
assert.equal(this.get('value'), 'value', 'decodes from base64');
});
test('it toggles encoding starting with base64', function(assert) {
this.set('value', btoa('value'));
this.render(hbs`{{b64-toggle value=value initialEncoding='base64'}}`);
assert.ok(this.$('button').text().includes('Decode'), 'renders as on when in b64 mode');
this.$('button').click();
assert.equal(this.get('value'), 'value', 'decodes from base64');
});
test('it toggles encoding starting with base64', async function(assert) {
this.set('value', btoa('value'));
await render(hbs`{{b64-toggle value=value initialEncoding='base64'}}`);
assert.ok(find('button').textContent.includes('Decode'), 'renders as on when in b64 mode');
await click('button');
assert.equal(this.get('value'), 'value', 'decodes from base64');
});
test('it detects changes to value after encoding', function(assert) {
this.set('value', btoa('value'));
this.render(hbs`{{b64-toggle value=value initialEncoding='base64'}}`);
assert.ok(this.$('button').text().includes('Decode'), 'renders as on when in b64 mode');
this.set('value', btoa('value') + '=');
assert.ok(this.$('button').text().includes('Encode'), 'toggles off since value has changed');
this.set('value', btoa('value'));
assert.ok(this.$('button').text().includes('Decode'), 'toggles on since value is equal to the original');
});
test('it detects changes to value after encoding', async function(assert) {
this.set('value', btoa('value'));
await render(hbs`{{b64-toggle value=value initialEncoding='base64'}}`);
assert.ok(find('button').textContent.includes('Decode'), 'renders as on when in b64 mode');
this.set('value', btoa('value') + '=');
assert.ok(find('button').textContent.includes('Encode'), 'toggles off since value has changed');
this.set('value', btoa('value'));
assert.ok(
find('button').textContent.includes('Decode'),
'toggles on since value is equal to the original'
);
});
test('it does not toggle when the value is empty', function(assert) {
this.set('value', '');
this.render(hbs`{{b64-toggle value=value}}`);
this.$('button').click();
assert.ok(this.$('button').text().includes('Encode'));
test('it does not toggle when the value is empty', async function(assert) {
this.set('value', '');
await render(hbs`{{b64-toggle value=value}}`);
await click('button');
assert.ok(find('button').textContent.includes('Encode'));
});
});