Пример #1
0
 beforeEach(() => {
   globals = new GlobalOverrider();
   sandbox = globals.sandbox;
   fakeNewTabUtils = {
     blockedLinks: {
       links: [],
       isBlocked: () => false
     },
     activityStreamLinks: {getTopSites: sandbox.spy(() => Promise.resolve(links))},
     pinnedLinks: {
       links: [],
       isPinned: () => false,
       pin: sandbox.spy(),
       unpin: sandbox.spy()
     }
   };
   fakeScreenshot = {getScreenshotForURL: sandbox.spy(() => Promise.resolve(FAKE_SCREENSHOT))};
   shortURLStub = sinon.stub().callsFake(site => site.url);
   const fakeDedupe = function() {};
   globals.set("NewTabUtils", fakeNewTabUtils);
   FakePrefs.prototype.prefs["default.sites"] = "https://foo.com/";
   ({TopSitesFeed, DEFAULT_TOP_SITES} = injector({
     "lib/ActivityStreamPrefs.jsm": {Prefs: FakePrefs},
     "common/Dedupe.jsm": {Dedupe: fakeDedupe},
     "common/Reducers.jsm": {insertPinned, TOP_SITES_SHOWMORE_LENGTH},
     "lib/Screenshots.jsm": {Screenshots: fakeScreenshot},
     "lib/TippyTopProvider.jsm": {TippyTopProvider: FakeTippyTopProvider},
     "common/ShortURL.jsm": {shortURL: shortURLStub}
   }));
   feed = new TopSitesFeed();
   feed.store = {dispatch: sinon.spy(), getState() { return {TopSites: {rows: Array(12).fill("site")}}; }};
   feed.dedupe.group = sites => sites;
   links = FAKE_LINKS;
   clock = sinon.useFakeTimers();
 });
 beforeEach(() => {
   globals = new GlobalOverrider();
   sandbox = globals.sandbox;
   fakeNewTabUtils = {
     blockedLinks: {
       links: [],
       isBlocked: () => false
     },
     activityStreamLinks: {getTopSites: sandbox.spy(() => Promise.resolve(links))},
     activityStreamProvider: {
       _addFavicons: sandbox.spy(l => Promise.resolve(l.map(link => {
         link.favicon = FAKE_FAVICON;
         link.faviconSize = FAKE_FAVICON_SIZE;
         return link;
       }))),
       _faviconBytesToDataURI: sandbox.spy()
     },
     pinnedLinks: {
       links: [],
       isPinned: () => false,
       pin: sandbox.spy(),
       unpin: sandbox.spy()
     }
   };
   fakeScreenshot = {
     getScreenshotForURL: sandbox.spy(() => Promise.resolve(FAKE_SCREENSHOT)),
     maybeCacheScreenshot: Screenshots.maybeCacheScreenshot
   };
   filterAdultStub = sinon.stub().returns([]);
   shortURLStub = sinon.stub().callsFake(site => site.url);
   const fakeDedupe = function() {};
   fakePageThumbs = {
     addExpirationFilter: sinon.stub(),
     removeExpirationFilter: sinon.stub()
   };
   globals.set("PageThumbs", fakePageThumbs);
   globals.set("NewTabUtils", fakeNewTabUtils);
   FakePrefs.prototype.prefs["default.sites"] = "https://foo.com/";
   ({TopSitesFeed, DEFAULT_TOP_SITES} = injector({
     "lib/ActivityStreamPrefs.jsm": {Prefs: FakePrefs},
     "common/Dedupe.jsm": {Dedupe: fakeDedupe},
     "common/Reducers.jsm": {insertPinned, TOP_SITES_SHOWMORE_LENGTH},
     "lib/FilterAdult.jsm": {filterAdult: filterAdultStub},
     "lib/Screenshots.jsm": {Screenshots: fakeScreenshot},
     "lib/TippyTopProvider.jsm": {TippyTopProvider: FakeTippyTopProvider},
     "lib/ShortURL.jsm": {shortURL: shortURLStub}
   }));
   feed = new TopSitesFeed();
   feed.store = {
     dispatch: sinon.spy(),
     getState() { return this.state; },
     state: {
       Prefs: {values: {filterAdult: false, topSitesCount: 6}},
       TopSites: {rows: Array(12).fill("site")}
     }
   };
   feed.dedupe.group = (...sites) => sites;
   links = FAKE_LINKS;
 });
Пример #3
0
 beforeEach(() => {
   ({TopSitesFeed, DEFAULT_TOP_SITES} = injector({
     "lib/ActivityStreamPrefs.jsm": {Prefs: FakePrefs},
     "common/Reducers.jsm": {insertPinned, TOP_SITES_SHOWMORE_LENGTH},
     "lib/Screenshots.jsm": {Screenshots: fakeScreenshot}
   }));
   feed = new TopSitesFeed();
 });
 beforeEach(() => {
   ({TopSitesFeed, DEFAULT_TOP_SITES} = injector({
     "lib/ActivityStreamPrefs.jsm": {Prefs: FakePrefs},
     "common/Reducers.jsm": {insertPinned, TOP_SITES_SHOWMORE_LENGTH},
     "lib/Screenshots.jsm": {Screenshots: fakeScreenshot}
   }));
   sandbox.stub(global.Services.eTLD, "getPublicSuffix").returns("com");
   feed = Object.assign(new TopSitesFeed(), {store: feed.store});
 });