Skip to content

Commit 8a5bc2c

Browse files
authored
Merge pull request #41 from fivetanley/text-content-fix
Text content fix
2 parents 9b72eea + 6daa634 commit 8a5bc2c

10 files changed

Lines changed: 56 additions & 6 deletions

File tree

transforms/integration/__testfixtures__/default-component-test.output.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { find } from '@ember/test-helpers';
21
import { moduleForComponent, test } from 'ember-qunit';
32
import hbs from 'htmlbars-inline-precompile';
43

@@ -13,7 +12,7 @@ test('it renders', function(assert) {
1312

1413
this.render(hbs`{{foo-bar}}`);
1514

16-
assert.equal(find('*').textContent.trim(), '');
15+
assert.equal(this.element.textContent.trim(), '');
1716

1817
// Template block usage:
1918
this.render(hbs`
@@ -22,5 +21,5 @@ test('it renders', function(assert) {
2221
{{/foo-barl}}
2322
`);
2423

25-
assert.equal(find('*').textContent.trim(), 'template block text');
24+
assert.equal(this.element.textContent.trim(), 'template block text');
2625
});

transforms/integration/__testfixtures__/text.input.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,9 @@ test('it renders', function(assert) {
1010

1111
assert.equal(this.$('.foo').text().trim(), '');
1212
});
13+
14+
test('it renders', function(assert) {
15+
this.render(hbs`{{foo-bar}}`);
16+
17+
assert.equal(this.$().text().trim(), '');
18+
});

transforms/integration/__testfixtures__/text.output.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,9 @@ test('it renders', function(assert) {
1111

1212
assert.equal(find('.foo').textContent.trim(), '');
1313
});
14+
15+
test('it renders', function(assert) {
16+
this.render(hbs`{{foo-bar}}`);
17+
18+
assert.equal(this.element.textContent.trim(), '');
19+
});

transforms/integration/transforms/text.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ const { createFindExpression, isJQuerySelectExpression, addImportStatement, writ
1111
* @returns {*}
1212
*/
1313
function createExpression(j, findArgs) {
14+
if (findArgs.length === 0) {
15+
return j.memberExpression(
16+
j.memberExpression(
17+
j.thisExpression(),
18+
j.identifier('element')
19+
),
20+
j.identifier('textContent')
21+
);
22+
}
1423
return j.memberExpression(
1524
createFindExpression(j, findArgs),
1625
j.identifier('textContent')

transforms/native-dom/__testfixtures__/context-argument.output.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { find, findAll, visit, click, fillIn } from '@ember/test-helpers';
1+
import { find, findAll, visit, click } from '@ember/test-helpers';
22
import { test } from 'qunit';
33
import moduleForAcceptance from '../../tests/helpers/module-for-acceptance';
44

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,9 @@
11
import { click, currentURL } from 'ember-native-dom-helpers';
22
import { find, visit } from 'ember-native-dom-helpers';
3+
4+
test('visiting /foo', async function(assert) {
5+
await visit('/foo');
6+
await click('.foo');
7+
assert.ok(find('.foo'));
8+
assert.ok(currentURL());
9+
});
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
11
import { click, currentURL, find, visit } from '@ember/test-helpers';
2+
3+
test('visiting /foo', async function(assert) {
4+
await visit('/foo');
5+
await click('.foo');
6+
assert.ok(find('.foo'));
7+
assert.ok(currentURL());
8+
});
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
import { click } from 'ember-native-dom-helpers';
2+
3+
click('.foo');
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
import { click } from '@ember/test-helpers';
2+
3+
click('.foo');

transforms/utils.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,13 +360,25 @@ function writeImportStatements(j, root) {
360360
source: { value: '@ember/test-helpers' }
361361
});
362362

363+
let actuallyNeedsImport = Array.from(_statementsToImport).filter(methodName => {
364+
return root.find(j.CallExpression, {
365+
callee: {
366+
name: methodName
367+
}
368+
}).length > 0;
369+
});
370+
371+
if (actuallyNeedsImport.length === 0) {
372+
return;
373+
}
374+
363375
if (importStatement.length === 0) {
364-
importStatement = createImportStatement(j, '@ember/test-helpers', 'default', Array.from(_statementsToImport));
376+
importStatement = createImportStatement(j, '@ember/test-helpers', 'default', actuallyNeedsImport);
365377
body.unshift(importStatement);
366378
} else {
367379
let existingSpecifiers = importStatement.get("specifiers");
368380

369-
_statementsToImport.forEach(name => {
381+
actuallyNeedsImport.forEach(name => {
370382
if (existingSpecifiers.filter(exSp => exSp.value.imported.name === name).length === 0) {
371383
existingSpecifiers.push(j.importSpecifier(j.identifier(name)));
372384
}

0 commit comments

Comments
 (0)