A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.4 KiB
64 lines
2.4 KiB
import * as parsers from '../../src/shared/urls'; |
|
import { expect } from 'chai'; |
|
import Search from '../../src/shared/settings/Search'; |
|
|
|
describe("shared/commands/parsers", () => { |
|
describe('#searchUrl', () => { |
|
const config = Search.fromJSON({ |
|
default: 'google', |
|
engines: { |
|
google: 'https://google.com/search?q={}', |
|
yahoo: 'https://yahoo.com/search?q={}', |
|
} |
|
}); |
|
|
|
it('convertes search url', () => { |
|
expect(parsers.searchUrl('google.com', config)) |
|
.to.equal('http://google.com'); |
|
expect(parsers.searchUrl('google apple', config)) |
|
.to.equal('https://google.com/search?q=apple'); |
|
expect(parsers.searchUrl('yahoo apple', config)) |
|
.to.equal('https://yahoo.com/search?q=apple'); |
|
expect(parsers.searchUrl('google apple banana', config)) |
|
.to.equal('https://google.com/search?q=apple%20banana'); |
|
expect(parsers.searchUrl('yahoo C++CLI', config)) |
|
.to.equal('https://yahoo.com/search?q=C%2B%2BCLI'); |
|
}); |
|
|
|
it('user default search engine', () => { |
|
expect(parsers.searchUrl('apple banana', config)) |
|
.to.equal('https://google.com/search?q=apple%20banana'); |
|
}); |
|
|
|
it('searches with a word containing a colon', () => { |
|
expect(parsers.searchUrl('foo:', config)) |
|
.to.equal('https://google.com/search?q=foo%3A'); |
|
expect(parsers.searchUrl('std::vector', config)) |
|
.to.equal('https://google.com/search?q=std%3A%3Avector'); |
|
}); |
|
|
|
it('localhost urls', () => { |
|
expect(parsers.searchUrl('localhost', config)) |
|
.to.equal('http://localhost'); |
|
expect(parsers.searchUrl('http://localhost', config)) |
|
.to.equal('http://localhost/'); |
|
expect(parsers.searchUrl('localhost:8080', config)) |
|
.to.equal('http://localhost:8080'); |
|
expect(parsers.searchUrl('localhost:80nan', config)) |
|
.to.equal('https://google.com/search?q=localhost%3A80nan'); |
|
expect(parsers.searchUrl('localhost 8080', config)) |
|
.to.equal('https://google.com/search?q=localhost%208080'); |
|
expect(parsers.searchUrl('localhost:80/build', config)) |
|
.to.equal('http://localhost:80/build') |
|
}) |
|
}); |
|
|
|
describe('#normalizeUrl', () => { |
|
it('normalize urls', () => { |
|
expect(parsers.normalizeUrl('https://google.com/')) |
|
.to.equal('https://google.com/'); |
|
expect(parsers.normalizeUrl('google.com')) |
|
.to.equal('http://google.com'); |
|
}); |
|
}); |
|
});
|
|
|