12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import Ember from 'ember';
- import {
- moduleFor,
- test
- } from 'ember-qunit';
- moduleFor('component:routed-links', 'RoutedLinks component');
- test('it exists', function(assert) {
- assert.expect(1);
- var component = this.subject();
- assert.ok(component);
- });
- test('cleanHref validates and cleans hrefs', function(assert) {
- assert.expect(15);
- var router = Ember.Object.create({
- 'rootURL': '/misago/'
- });
- var component = this.subject();
- component.set('staticUrl', '/static/');
- component.set('mediaUrl', '/media/');
- var location = window.location;
- // non-forbidden relative url passes
- assert.equal(component.cleanHref(router, '/misago/some-url/'), '/misago/some-url/');
- // protocol relative url passes
- assert.equal(component.cleanHref(router, '//' + location.host + '/misago/some-url/'), '/misago/some-url/');
- // whole url passes
- assert.equal(component.cleanHref(router, 'http://' + location.host + '/misago/some-url/'), '/misago/some-url/');
- // invalid app path fails
- assert.ok(!component.cleanHref(router, '/django/some-url/'));
- // invalid protocol fails
- assert.ok(!component.cleanHref(router, 'https://' + location.host + '/misago/some-url/'));
- // invalid host fails
- assert.ok(!component.cleanHref(router, '//notlocalhost.com/misago/some-url/'));
- // static/media/avatar-server urls fail
- router.set('rootURL', '/');
- assert.ok(!component.cleanHref(router, '/static/some-url/'));
- assert.ok(!component.cleanHref(router, '/media/some-url/'));
- assert.ok(!component.cleanHref(router, '/user-avatar/some-url/'));
- assert.ok(!component.cleanHref(router, '//' + location.host + '/static/some-url/'));
- assert.ok(!component.cleanHref(router, '//' + location.host + '/media/some-url/'));
- assert.ok(!component.cleanHref(router, '//' + location.host + '/user-avatar/some-url/'));
- assert.ok(!component.cleanHref(router, 'http://' + location.host + '/static/some-url/'));
- assert.ok(!component.cleanHref(router, 'http://' + location.host + '/media/some-url/'));
- assert.ok(!component.cleanHref(router, 'http://' + location.host + '/user-avatar/some-url/'));
- });
|