Ghost/ghost/admin/tests/unit/utils/ghost-paths-test.js
Kevin Ansfield 2f4f6db133 Use es6 across client and add ember-suave to enforce rules
no issue
- add ember-suave dependency
- upgrade grunt-jscs dependency
- add a new .jscsrc for the client's tests directory that extends from client's base .jscsrc
- separate client tests in Gruntfile jscs task so they pick up the test's .jscsrc
- standardize es6 usage across client
2015-11-30 10:41:01 +00:00

59 lines
1.9 KiB
JavaScript

import ghostPaths from 'ghost/utils/ghost-paths';
describe('Unit: Util: ghost-paths', function () {
describe('join', function () {
const {join} = ghostPaths().url;
it('should join two or more paths, normalizing slashes', function () {
let path;
path = join('/one/', '/two/');
expect(path).to.equal('/one/two/');
path = join('/one', '/two/');
expect(path).to.equal('/one/two/');
path = join('/one/', 'two/');
expect(path).to.equal('/one/two/');
path = join('/one/', 'two/', '/three/');
expect(path).to.equal('/one/two/three/');
path = join('/one/', 'two', 'three/');
expect(path).to.equal('/one/two/three/');
});
it('should not change the slash at the beginning', function () {
let path;
path = join('one/');
expect(path).to.equal('one/');
path = join('one/', 'two');
expect(path).to.equal('one/two/');
path = join('/one/', 'two');
expect(path).to.equal('/one/two/');
path = join('one/', 'two', 'three');
expect(path).to.equal('one/two/three/');
path = join('/one/', 'two', 'three');
expect(path).to.equal('/one/two/three/');
});
it('should always return a slash at the end', function () {
let path;
path = join();
expect(path).to.equal('/');
path = join('');
expect(path).to.equal('/');
path = join('one');
expect(path).to.equal('one/');
path = join('one/');
expect(path).to.equal('one/');
path = join('one', 'two');
expect(path).to.equal('one/two/');
path = join('one', 'two/');
expect(path).to.equal('one/two/');
});
});
});