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.
50 lines
1.7 KiB
50 lines
1.7 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'); |
|
}); |
|
}); |
|
|
|
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'); |
|
}); |
|
}); |
|
}); |
|
|
|
|