import test from "ava"; import * as urlParser from "../../src/services/url-parser"; test("getDomainName", t => { t.is("lesspass.com", urlParser.cleanUrl("https://lesspass.com/#!/")); t.is("lesspass.com", urlParser.cleanUrl("https://lesspass.com/api/")); t.is("api.lesspass.com", urlParser.cleanUrl("https://api.lesspass.com/")); t.is("lesspass.com", urlParser.cleanUrl("http://lesspass.com")); t.is( "stackoverflow.com", urlParser.cleanUrl( "http://stackoverflow.com/questions/3689423/google-chrome-plugin-how-to-get-domain-from-url-tab-url" ) ); t.is( "v4-alpha.getbootstrap.com", urlParser.cleanUrl("http://v4-alpha.getbootstrap.com/components/buttons/") ); t.is( "accounts.google.com", urlParser.cleanUrl( "https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier" ) ); t.is("www.netflix.com", urlParser.cleanUrl("https://www.netflix.com/browse")); t.is("www.bbc.co.uk", urlParser.cleanUrl("https://www.bbc.co.uk")); t.is( "192.168.1.1:10443", urlParser.cleanUrl("https://192.168.1.1:10443/webapp/") ); t.is("", urlParser.cleanUrl(undefined)); t.is("", urlParser.cleanUrl(undefined)); t.is("", urlParser.cleanUrl("chrome://extensions/")); }); test("getSite", t => { global.chrome = { tabs: { query(a, callback) { callback([{ url: "https://example.org" }]); } } }; return urlParser.getSite().then(site => { t.is(site, "example.org"); }); }); test("getPasswordFromUrlQuery", t => { const query = { login: "test@example.org", site: "example.org", uppercase: "true", lowercase: "true", numbers: "true", symbols: "false", length: "16", counter: "1", version: "2" }; const expectedPassword = { login: "test@example.org", site: "example.org", uppercase: true, lowercase: true, numbers: true, symbols: false, length: 16, counter: 1, version: 2 }; t.deepEqual(urlParser.getPasswordFromUrlQuery(query), expectedPassword); }); test("getPasswordFromUrlQuery booleanish", t => { const query = { uppercase: "true", lowercase: "TrUe", numbers: "1", symbols: "0" }; const expectedPassword = { uppercase: true, lowercase: true, numbers: true, symbols: false }; t.deepEqual(urlParser.getPasswordFromUrlQuery(query), expectedPassword); });