Skip to content

Commit c6df1b2

Browse files
committed
Testem adds own title element which breaks document.title
As like ember-page-title, we cannot use document.title. https://github.com/adopted-ember-addons/ember-page-title/blob/4732cdb2c9f673e4714334b33c5b4c5056dfcb8f/tests/acceptance/posts-test.js#L11
1 parent 8533bc7 commit c6df1b2

File tree

5 files changed

+21
-9
lines changed

5 files changed

+21
-9
lines changed

tests/acceptance/crate-test.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { setupApplicationTest } from 'ember-qunit';
44
import { click, fillIn, currentURL, currentRouteName, visit } from '@ember/test-helpers';
55
import a11yAudit from 'ember-a11y-testing/test-support/audit';
66
import axeConfig from '../axe-config';
7+
import { title } from '../helpers/dom';
78
import setupMirage from '../helpers/setup-mirage';
89
import { percySnapshot } from 'ember-percy';
910

@@ -66,7 +67,7 @@ module('Acceptance | crate page', function(hooks) {
6667
await click('[data-test-just-updated] [data-test-crate-link="0"]');
6768

6869
assert.equal(currentURL(), '/crates/nanomsg');
69-
assert.equal(document.title, 'nanomsg - crates.io: Rust Package Registry');
70+
assert.equal(title(), 'nanomsg - crates.io: Rust Package Registry');
7071
});
7172

7273
test('visiting /crates/nanomsg', async function(assert) {
@@ -78,7 +79,7 @@ module('Acceptance | crate page', function(hooks) {
7879

7980
assert.equal(currentURL(), '/crates/nanomsg');
8081
assert.equal(currentRouteName(), 'crate.index');
81-
assert.equal(document.title, 'nanomsg - crates.io: Rust Package Registry');
82+
assert.equal(title(), 'nanomsg - crates.io: Rust Package Registry');
8283

8384
assert.dom('[data-test-heading] [data-test-crate-name]').hasText('nanomsg');
8485
assert.dom('[data-test-heading] [data-test-crate-version]').hasText('0.6.1');
@@ -93,7 +94,7 @@ module('Acceptance | crate page', function(hooks) {
9394

9495
assert.equal(currentURL(), '/crates/nanomsg/');
9596
assert.equal(currentRouteName(), 'crate.index');
96-
assert.equal(document.title, 'nanomsg - crates.io: Rust Package Registry');
97+
assert.equal(title(), 'nanomsg - crates.io: Rust Package Registry');
9798

9899
assert.dom('[data-test-heading] [data-test-crate-name]').hasText('nanomsg');
99100
assert.dom('[data-test-heading] [data-test-crate-version]').hasText('0.6.1');
@@ -108,7 +109,7 @@ module('Acceptance | crate page', function(hooks) {
108109

109110
assert.equal(currentURL(), '/crates/nanomsg/0.6.0');
110111
assert.equal(currentRouteName(), 'crate.version');
111-
assert.equal(document.title, 'nanomsg - crates.io: Rust Package Registry');
112+
assert.equal(title(), 'nanomsg - crates.io: Rust Package Registry');
112113

113114
assert.dom('[data-test-heading] [data-test-crate-name]').hasText('nanomsg');
114115
assert.dom('[data-test-heading] [data-test-crate-version]').hasText('0.6.0');

tests/acceptance/crates-test.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { setupApplicationTest } from 'ember-qunit';
33
import { click, currentURL, visit } from '@ember/test-helpers';
44
import a11yAudit from 'ember-a11y-testing/test-support/audit';
55
import axeConfig from '../axe-config';
6+
import { title } from '../helpers/dom';
67
import setupMirage from '../helpers/setup-mirage';
78
import { percySnapshot } from 'ember-percy';
89

@@ -39,7 +40,7 @@ module('Acceptance | crates page', function(hooks) {
3940
await click('[data-test-all-crates-link]');
4041

4142
assert.equal(currentURL(), '/crates');
42-
assert.equal(document.title, 'Crates - crates.io: Rust Package Registry');
43+
assert.equal(title(), 'Crates - crates.io: Rust Package Registry');
4344
});
4445

4546
test('visiting the crates page directly', async function(assert) {
@@ -49,7 +50,7 @@ module('Acceptance | crates page', function(hooks) {
4950
await click('[data-test-all-crates-link]');
5051

5152
assert.equal(currentURL(), '/crates');
52-
assert.equal(document.title, 'Crates - crates.io: Rust Package Registry');
53+
assert.equal(title(), 'Crates - crates.io: Rust Package Registry');
5354
});
5455

5556
test('listing crates', async function(assert) {

tests/acceptance/front-page-test.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { setupApplicationTest } from 'ember-qunit';
33
import { currentURL, visit } from '@ember/test-helpers';
44
import a11yAudit from 'ember-a11y-testing/test-support/audit';
55
import axeConfig from '../axe-config';
6+
import { title } from '../helpers/dom';
67
import setupMirage from '../helpers/setup-mirage';
78
import { percySnapshot } from 'ember-percy';
89

@@ -25,7 +26,7 @@ module('Acceptance | front page', function(hooks) {
2526
await visit('/');
2627

2728
assert.equal(currentURL(), '/');
28-
assert.equal(document.title, 'crates.io: Rust Package Registry');
29+
assert.equal(title(), 'crates.io: Rust Package Registry');
2930

3031
assert.dom('[data-test-install-cargo-link]').exists();
3132
assert.dom('[data-test-all-crates-link]').exists();

tests/acceptance/search-test.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { fillIn, currentURL, triggerEvent, visit, blur } from '@ember/test-helpe
44
import a11yAudit from 'ember-a11y-testing/test-support/audit';
55
import { triggerKeyDown, triggerKeyPress } from 'ember-keyboard';
66
import axeConfig from '../axe-config';
7+
import { title } from '../helpers/dom';
78
import setupMirage from '../helpers/setup-mirage';
89
import { percySnapshot } from 'ember-percy';
910

@@ -30,7 +31,7 @@ module('Acceptance | search', function(hooks) {
3031
await triggerEvent('[data-test-search-form]', 'submit');
3132

3233
assert.equal(currentURL(), '/search?q=rust');
33-
assert.equal(document.title, "Search Results for 'rust' - crates.io: Rust Package Registry");
34+
assert.equal(title(), "Search Results for 'rust' - crates.io: Rust Package Registry");
3435

3536
assert.dom('[data-test-heading]').hasText("Search Results for 'rust'");
3637
assert.dom('[data-test-search-nav]').hasText('Displaying 1-8 of 8 total results');
@@ -53,7 +54,7 @@ module('Acceptance | search', function(hooks) {
5354
await visit('/search?q=rust');
5455

5556
assert.equal(currentURL(), '/search?q=rust');
56-
assert.equal(document.title, "Search Results for 'rust' - crates.io: Rust Package Registry");
57+
assert.equal(title(), "Search Results for 'rust' - crates.io: Rust Package Registry");
5758

5859
assert.dom('[data-test-search-input]').hasValue('rust');
5960
assert.dom('[data-test-heading]').hasText("Search Results for 'rust'");

tests/helpers/dom.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Because Testem adds own title element
2+
// https://github.com/adopted-ember-addons/ember-page-title/blob/4732cdb2c9f673e4714334b33c5b4c5056dfcb8f/tests/acceptance/posts-test.js#L11
3+
function title() {
4+
let titles = document.head.getElementsByTagName('title');
5+
return titles[titles.length - 1].innerText;
6+
}
7+
8+
export { title };

0 commit comments

Comments
 (0)