diff options
| author | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-04-06 21:48:16 +0900 | 
|---|---|---|
| committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-04-06 22:39:40 +0900 | 
| commit | b04eecce7fea8b262411a5817924dc730cbe127a (patch) | |
| tree | 024c14ce52319af899938ce81ee7107540ccbf7b /e2e-lanthan | |
| parent | c9a0bf87d0ba81beb1b958c374a40c4b69f4192b (diff) | |
Replace e2e with lanthan
Diffstat (limited to 'e2e-lanthan')
| -rw-r--r-- | e2e-lanthan/eventually.js | 25 | ||||
| -rw-r--r-- | e2e-lanthan/mark.test.js | 121 | ||||
| -rw-r--r-- | e2e-lanthan/navigate.test.js | 167 | ||||
| -rw-r--r-- | e2e-lanthan/scroll.test.js | 150 | ||||
| -rw-r--r-- | e2e-lanthan/server/MockServer.js | 58 | ||||
| -rw-r--r-- | e2e-lanthan/server/handlers.js | 17 | ||||
| -rw-r--r-- | e2e-lanthan/tab.test.js | 202 | ||||
| -rw-r--r-- | e2e-lanthan/zoom.test.js | 81 | 
8 files changed, 0 insertions, 821 deletions
| diff --git a/e2e-lanthan/eventually.js b/e2e-lanthan/eventually.js deleted file mode 100644 index c04c277..0000000 --- a/e2e-lanthan/eventually.js +++ /dev/null @@ -1,25 +0,0 @@ -const assert = require('assert'); - -let defaultInterval = 100; -let defaultTimeout = 2000; - -function sleep(ms) { -  return new Promise(resolve => setTimeout(resolve, ms)); -} -  -const eventually = async (fn, timeout = defaultTimeout, interval = defaultInterval) => { -  let start = Date.now(); -  let loop = async() => { -    try { -      await fn(); -    } catch (err) { -      if (Date.now() - start > timeout) { -        throw err; -      } -      await new Promise((resolve) => setTimeout(resolve, interval)) -      await loop(); -    } -  }; -  await loop(); -}; -module.exports = eventually; diff --git a/e2e-lanthan/mark.test.js b/e2e-lanthan/mark.test.js deleted file mode 100644 index abcef03..0000000 --- a/e2e-lanthan/mark.test.js +++ /dev/null @@ -1,121 +0,0 @@ -const express = require('express'); -const lanthan = require('lanthan'); -const path = require('path'); -const assert = require('power-assert'); -const eventually = require('./eventually'); - -const Key = lanthan.Key; - -const newApp = () => { -  let app = express(); -  app.get('/', (req, res) => { -    res.send(`<!DOCTYPEhtml> -<html lang="en"> -  <body style="width:10000px; height:10000px"></body> -</html">`); -  }); -  return app; -}; - -describe("mark test", () => { - -  const port = 12321; -  let http; -  let firefox; -  let session; -  let browser; - -  before(async() => { -    http = newApp().listen(port); - -    firefox = await lanthan.firefox(); -    await firefox.session.installAddon(path.join(__dirname, '..')); -    session = firefox.session; -    browser = firefox.browser; -  }); - -  after(async() => { -    if (firefox) { -      await firefox.close(); -    } -    http.close(); -  }); - -  it('should set a local mark and jump to it', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}`); -    let body = await session.findElementByCSS('body'); - -    await session.executeScript(() => window.scrollTo(200, 200)); -    await body.sendKeys('m', 'a'); -    await session.executeScript(() => window.scrollTo(500, 500)); -    await body.sendKeys('\'', 'a'); - -    await eventually(async() => { -      let pageXOffset = await session.executeScript(() => window.pageXOffset); -      let pageYOffset = await session.executeScript(() => window.pageYOffset); -      assert.equal(pageXOffset, 200); -      assert.equal(pageYOffset, 200); -    }); -  }); - -  it('should set a global mark and jump to it', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}#first`); -    let body = await session.findElementByCSS('body'); - -    await session.executeScript(() => window.scrollTo(200, 200)); -    await body.sendKeys('m', 'A'); -    await session.executeScript(() => window.scrollTo(500, 500)); -    await body.sendKeys('\'', 'A'); - -    await eventually(async() => { -      let pageXOffset = await session.executeScript(() => window.pageXOffset); -      let pageYOffset = await session.executeScript(() => window.pageYOffset); -      assert.equal(pageXOffset, 200); -      assert.equal(pageYOffset, 200); -    }); - -    await browser.tabs.create({ url: `http://127.0.0.1:${port}#second` }); -    body = await session.findElementByCSS('body'); -    await body.sendKeys('\'', 'A'); - -    await eventually(async() => { -      let tab = (await browser.tabs.query({ active: true }))[0]; -      let url = new URL(tab.url); -      assert.equal(url.hash, '#first'); - -      let pageXOffset = await session.executeScript(() => window.pageXOffset); -      let pageYOffset = await session.executeScript(() => window.pageYOffset); -      assert.equal(pageXOffset, 200); -      assert.equal(pageYOffset, 200); -    }); -  }); - -  it('set a global mark and creates new tab from gone', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}#first`); -    await session.executeScript(() => window.scrollTo(500, 500)); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('m', 'A'); - -    let tab = (await browser.tabs.query({ active: true }))[0]; -    await browser.tabs.create({ url: `http://127.0.0.1:${port}#second` }); -    await browser.tabs.remove(tab.id); - -    let handles; -    await eventually(async() => { -      handles = await session.getWindowHandles(); -      assert.equal(handles.length, 2); -    }); -    await session.switchToWindow(handles[0]); -    await session.navigateTo(`http://127.0.0.1:${port}#second`); -    body = await session.findElementByCSS('body'); -    await body.sendKeys('\'', 'A'); - -    await eventually(async() => { -      let tab = (await browser.tabs.query({ active: true }))[0]; -      let url = new URL(tab.url); -      assert.equal(url.hash, '#first'); -    }); -  }); -}); - - diff --git a/e2e-lanthan/navigate.test.js b/e2e-lanthan/navigate.test.js deleted file mode 100644 index 5b3a794..0000000 --- a/e2e-lanthan/navigate.test.js +++ /dev/null @@ -1,167 +0,0 @@ -const express = require('express'); -const lanthan = require('lanthan'); -const path = require('path'); -const assert = require('power-assert'); -const eventually = require('./eventually'); - -const Key = lanthan.Key; - -const newApp = () => { -  let app = express(); -  app.get('/pagenation-a/:page', (req, res) => { -    res.status(200).send(` -<html lang="en"> -  <a href="/pagenation-a/${Number(req.params.page) - 1}">prev</a> -  <a href="/pagenation-a/${Number(req.params.page) + 1}">next</a> -</html">`); -  }); -  app.get('/pagenation-link/:page', (req, res) => { -    res.status(200).send(` -<html lang="en"> -  <head> -    <link rel="prev" href="/pagenation-link/${Number(req.params.page) - 1}"></link> -    <link rel="next" href="/pagenation-link/${Number(req.params.page) + 1}"></link> -  </head> -</html">`); -  }); - -  app.get('/*', (req, res) => { -    res.send(`<!DOCTYPEhtml> -<html lang="en"> -  ${req.path} -</html">`); -  }); -  return app; -}; - -describe("zoom test", () => { - -  const port = 12321; -  let http; -  let firefox; -  let session; -  let browser; - -  before(async() => { -    http = newApp().listen(port); - -    firefox = await lanthan.firefox(); -    await firefox.session.installAddon(path.join(__dirname, '..')); -    session = firefox.session; -    browser = firefox.browser; -  }); - -  after(async() => { -    if (firefox) { -      await firefox.close(); -    } -    http.close(); -  }); - -  it('should go to parent path without hash by gu', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/a/b/c`); -    let body = await session.findElementByCSS('body'); - -    await body.sendKeys('g', 'u'); - -    let tab = (await browser.tabs.query({}))[0]; -    let url = new URL(tab.url); -    assert.equal(url.pathname, `/a/b/`) -  }); - -  it('should remove hash by gu', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/a/b/c#hash`); -    let body = await session.findElementByCSS('body'); - -    await body.sendKeys('g', 'u'); - -    let tab = (await browser.tabs.query({}))[0]; -    let url = new URL(tab.url); -    assert.equal(url.hash, '') -    assert.equal(url.pathname, `/a/b/c`) -  }); - -  it('should go to root path by gU', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/a/b/c#hash`); -    let body = await session.findElementByCSS('body'); - -    await body.sendKeys('g', Key.Shift, 'u'); - -    await eventually(async() => { -      let tab = (await browser.tabs.query({}))[0]; -      let url = new URL(tab.url); -      assert.equal(url.pathname, `/`) -    }); -  }); - -  it('should go back and forward in history by H and L', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/first`); -    await session.navigateTo(`http://127.0.0.1:${port}/second`); -    let body = await session.findElementByCSS('body'); - -    await body.sendKeys(Key.Shift, 'h'); - -    let tab = (await browser.tabs.query({}))[0]; -    let url = new URL(tab.url); -    assert.equal(url.pathname, `/first`) - -    body = await session.findElementByCSS('body'); -    await body.sendKeys(Key.Shift, 'l'); - -    tab = (await browser.tabs.query({}))[0]; -    url = new URL(tab.url); -    assert.equal(url.pathname, `/second`) -  }); - -  it('should go previous and next page in <a> by [[ and ]]', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/pagenation-a/10`); - -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('[', '['); - -    await eventually(async() => { -      let tab = (await browser.tabs.query({}))[0]; -      let url = new URL(tab.url); -      assert.equal(url.pathname, '/pagenation-a/9'); -    }); -  }); - -  it('should go next page in <a> by ]]', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/pagenation-a/10`); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(']', ']'); - -    await eventually(async() => { -      let tab = (await browser.tabs.query({}))[0]; -      let url = new URL(tab.url); -      assert.equal(url.pathname, '/pagenation-a/11'); -    }); -  }); - -  it('should go previous page in <link> by ]]', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/pagenation-link/10`); - -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('[', '['); - -    await eventually(async() => { -      let tab = (await browser.tabs.query({}))[0]; -      let url = new URL(tab.url); -      assert.equal(url.pathname, '/pagenation-link/9'); -    }); -  }); - -  it('should go next page by in <link> by [[', async () => { -    await session.navigateTo(`http://127.0.0.1:${port}/pagenation-link/10`); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(']', ']'); - -    await eventually(async() => { -      let tab = (await browser.tabs.query({}))[0]; -      let url = new URL(tab.url); -      assert.equal(url.pathname, '/pagenation-link/11'); -    }); -  }); -}); - - diff --git a/e2e-lanthan/scroll.test.js b/e2e-lanthan/scroll.test.js deleted file mode 100644 index 7b13a72..0000000 --- a/e2e-lanthan/scroll.test.js +++ /dev/null @@ -1,150 +0,0 @@ -const express = require('express'); -const lanthan = require('lanthan'); -const path = require('path'); -const assert = require('power-assert'); - -const Key = lanthan.Key; - -const newApp = () => { -  let app = express(); -  app.get('/', (req, res) => { -    res.send(`<!DOCTYPEhtml> -<html lang="en"> -  <body style="width:10000px; height:10000px"></body> -</html">`); -  }); -  return app; -}; - -describe("scroll test", () => { - -  const port = 12321; -  let http; -  let firefox; -  let session; -  let body; - -  before(async() => { -    http = newApp().listen(port); - -    firefox = await lanthan.firefox(); -    await firefox.session.installAddon(path.join(__dirname, '..')); -    session = firefox.session; -  }); - -  after(async() => { -    if (firefox) { -      await firefox.close(); -    } -    http.close(); -  }); - -  beforeEach(async() => { -    await session.navigateTo(`http://127.0.0.1:${port}`); -    body = await session.findElementByCSS('body'); -  }); - - -  it('scrolls up by k', async () => { -    await body.sendKeys('j'); - -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert.equal(pageYOffset, 64); -  }); - -  it('scrolls down by j', async () => { -    await session.executeScript(() => window.scrollTo(0, 200)); -    await body.sendKeys('k'); - -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert.equal(pageYOffset, 136); -  }); - -  it('scrolls left by h', async () => { -    await session.executeScript(() => window.scrollTo(100, 100)); -    await body.sendKeys('h'); - -    let pageXOffset = await session.executeScript(() => window.pageXOffset); -    assert.equal(pageXOffset, 36); -  }); - -  it('scrolls left by l', async () => { -    await session.executeScript(() => window.scrollTo(100, 100)); -    await body.sendKeys('l'); - -    let pageXOffset = await session.executeScript(() => window.pageXOffset); -    assert.equal(pageXOffset, 164); -  }); - -  it('scrolls top by gg', async () => { -    await session.executeScript(() => window.scrollTo(0, 100)); -    await body.sendKeys('g', 'g'); - -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert.equal(pageYOffset, 0); -  }); - -  it('scrolls bottom by G', async () => { -    await session.executeScript(() => window.scrollTo(0, 100)); -    await body.sendKeys(Key.Shift, 'g'); - -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert(pageYOffset > 5000); -  }); - -  it('scrolls bottom by 0', async () => { -    await session.executeScript(() => window.scrollTo(0, 100)); -    await body.sendKeys(Key.Shift, '0'); - -    let pageXOffset = await session.executeScript(() => window.pageXOffset); -    assert(pageXOffset === 0); -  }); - -  it('scrolls bottom by $', async () => { -    await session.executeScript(() => window.scrollTo(0, 100)); -    await body.sendKeys(Key.Shift, '$'); - -    let pageXOffset = await session.executeScript(() => window.pageXOffset); -    assert(pageXOffset > 5000); -  }); - -  it('scrolls bottom by <C-U>', async () => { -    await session.executeScript(() => window.scrollTo(0, 1000)); -    await body.sendKeys(Key.Control, 'u'); - -    let pageHeight =  -      await session.executeScript(() => window.document.documentElement.clientHeight); -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert(Math.abs(pageYOffset - (1000 - Math.floor(pageHeight / 2))) < 5); -  }); - -  it('scrolls bottom by <C-D>', async () => { -    await session.executeScript(() => window.scrollTo(0, 1000)); -    await body.sendKeys(Key.Control, 'd'); - -    let pageHeight =  -      await session.executeScript(() => window.document.documentElement.clientHeight); -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert(Math.abs(pageYOffset - (1000 + Math.floor(pageHeight / 2))) < 5); -  }); - -  it('scrolls bottom by <C-B>', async () => { -    await session.executeScript(() => window.scrollTo(0, 1000)); -    await body.sendKeys(Key.Control, 'b'); - -    let pageHeight =  -      await session.executeScript(() => window.document.documentElement.clientHeight); -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert(Math.abs(pageYOffset - (1000 - pageHeight)) < 5); -  }); - -  it('scrolls bottom by <C-F>', async () => { -    await session.executeScript(() => window.scrollTo(0, 1000)); -    await body.sendKeys(Key.Control, 'f'); - -    let pageHeight =  -      await session.executeScript(() => window.document.documentElement.clientHeight); -    let pageYOffset = await session.executeScript(() => window.pageYOffset); -    assert(Math.abs(pageYOffset - (1000 + pageHeight)) < 5); -  }); -}); diff --git a/e2e-lanthan/server/MockServer.js b/e2e-lanthan/server/MockServer.js deleted file mode 100644 index 131c177..0000000 --- a/e2e-lanthan/server/MockServer.js +++ /dev/null @@ -1,58 +0,0 @@ -var http = require('http'); -var url = require('url'); -var handlers = require('./handlers'); - -class MockServer { -  constructor() { -    this.handlers = []; -    this.server = undefined; -  } - -  start() { -    if (this.server) { -      throw new Error('Server is already started'); -    } - -    let listener = (req, res) => { -      if (req.method !== 'GET') { -        res.writeHead(404, {'Content-Type': 'text/plain'}); -        res.end('not found') -        return -      } - -      let u = url.parse(req.url); -      let handler = this.handlers.find(h => u.pathname == h.pathname); -      if (!handler) { -        res.writeHead(404, {'Content-Type': 'text/plain'}); -        res.end('not found') -        return -      } - -      handler.handler(req, res); -    } - -    this.server = http.createServer(listener); -    this.server.listen(); -  } - -  stop() { -    if (!this.server) { -      throw new Error('Server is not started'); -    } -    this.server.close(); -    this.server = undefined; -  } - -  port() { -    if (!this.server) { -      throw new Error('Server is not started'); -    } -    return this.server.address().port -  } - -  on(pathname, handler) { -    this.handlers.push({ pathname, handler }); -  } -} - -module.exports = MockServer diff --git a/e2e-lanthan/server/handlers.js b/e2e-lanthan/server/handlers.js deleted file mode 100644 index 979b4be..0000000 --- a/e2e-lanthan/server/handlers.js +++ /dev/null @@ -1,17 +0,0 @@ -const handleText = (body) => { -    return (req, res) => { -      res.writeHead(200, {'Content-Type': 'text/plane'}); -      res.end(body); -    } -} - -const handleHtml = (body) => { -    return (req, res) => { -      res.writeHead(200, {'Content-Type': 'text/html'}); -      res.end(body); -    } -} - -module.exports = { -  handleText, handleHtml -} diff --git a/e2e-lanthan/tab.test.js b/e2e-lanthan/tab.test.js deleted file mode 100644 index 93b0fc6..0000000 --- a/e2e-lanthan/tab.test.js +++ /dev/null @@ -1,202 +0,0 @@ -const express = require('express'); -const lanthan = require('lanthan'); -const path = require('path'); -const assert = require('power-assert'); -const eventually = require('./eventually'); - -const Key = lanthan.Key; - -const newApp = () => { -  let app = express(); -  app.get('/', (req, res) => { -    res.send('ok'); -  }); -  return app; -}; - -describe("tab test", () => { - -  const port = 12321; -  const url = `http://127.0.0.1:${port}/`; - -  let http; -  let firefox; -  let session; -  let browser; -  let win; -  let tabs; - -  before(async() => { -    firefox = await lanthan.firefox(); -    await firefox.session.installAddon(path.join(__dirname, '..')); -    session = firefox.session; -    browser = firefox.browser; -    http = newApp().listen(port); -  }); - -  after(async() => { -    http.close(); -    if (firefox) { -      await firefox.close(); -    } -  }); - -  beforeEach(async() => { -    win = await browser.windows.create({ url: `${url}#0` }); -    for (let i = 1; i < 5; ++i) { -      await browser.tabs.create({ url: `${url}#${i}`, windowId: win.id }); -      await session.navigateTo(`${url}#${i}`); -    } -    tabs = await browser.tabs.query({ windowId: win.id }); -    tabs.sort((t1, t2) => t1.index - t2.index); -  }); - -  afterEach(async() => { -    await browser.windows.remove(win.id); -  }); - -  it('deletes tab by d', async () => { -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('d'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current.length === tabs.length - 1); -  }); - -  it('deletes tabs to the right by D', async () => { -    await browser.tabs.update(tabs[1].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(Key.Shift, 'd'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current.length === 2); -  }); - -  it('duplicates tab by zd', async () => { -    await browser.tabs.update(tabs[0].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('z', 'd'); - -    await eventually(async() => { -      let current = await browser.tabs.query({ windowId: win.id }); -      current.sort((t1, t2) => t1.index - t2.index); -      assert(current.length === tabs.length + 1); -      assert(current[0].url === current[1].url); -    }); -  }); - -  it('makes pinned by zp', async () => { -    await browser.tabs.update(tabs[0].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('z', 'p'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[0].pinned); -  }); - -  it('selects previous tab by K', async () => { -    await browser.tabs.update(tabs[2].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(Key.Shift, 'K'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[1].active); -  }); - -  it('selects previous tab by K rotatory', async () => { -    await browser.tabs.update(tabs[0].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(Key.Shift, 'K'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[current.length - 1].active) -  }); - -  it('selects next tab by J', async () => { -    await browser.tabs.update(tabs[2].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(Key.Shift, 'J'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[3].active); -  }); - -  it('selects previous tab by J rotatory', async () => { -    await browser.tabs.update(tabs[tabs.length - 1].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(Key.Shift, 'J'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[0].active) -  }); - -  it('selects first tab by g0', async () => { -    await browser.tabs.update(tabs[2].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('g', '0'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[0].active) -  }); - -  it('selects last tab by g$', async () => { -    await browser.tabs.update(tabs[2].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('g', '$'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[current.length - 1].active) -  }); - -  it('selects last selected tab by <C-6>', async () => { -    await browser.tabs.update(tabs[1].id, { active: true }); -    await browser.tabs.update(tabs[4].id, { active: true }); - -    let body = await session.findElementByCSS('body'); -    await body.sendKeys(Key.Control, '6'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current[1].active) -  }); - -  // browser.sessions.getRecentlyClosed() sometime throws "An unexpected error occurred" -  // This might be a bug in Firefox. -  it.skip('reopen tab by u', async () => { -    await browser.tabs.remove(tabs[1].id); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('u'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current.length === tabs.length); -  }); - -  it('does not delete pinned tab by d', async () => { -    await browser.tabs.update(tabs[0].id, { active: true, pinned: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('d'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current.length === tabs.length); -  }); - -  it('deletes pinned tab by !d', async () => { -    await browser.tabs.update(tabs[0].id, { active: true, pinned: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('!', 'd'); - -    let current = await browser.tabs.query({ windowId: win.id }); -    assert(current.length === tabs.length - 1); -  }); - -  it('opens view-source by gf', async () => { -    await browser.tabs.update(tabs[0].id, { active: true }); -    let body = await session.findElementByCSS('body'); -    await body.sendKeys('g', 'f'); - -    await eventually(async() => { -      let current = await browser.tabs.query({ windowId: win.id }); -      assert(current.length === tabs.length + 1); -      assert(current[current.length - 1].url === `view-source:${url}#0`); -    }); -  }); -}); diff --git a/e2e-lanthan/zoom.test.js b/e2e-lanthan/zoom.test.js deleted file mode 100644 index 1f59e3d..0000000 --- a/e2e-lanthan/zoom.test.js +++ /dev/null @@ -1,81 +0,0 @@ -const express = require('express'); -const lanthan = require('lanthan'); -const path = require('path'); -const assert = require('power-assert'); -const eventually = require('./eventually'); - -const Key = lanthan.Key; - -const newApp = () => { -  let app = express(); -  app.get('/', (req, res) => { -    res.send(`<!DOCTYPEhtml> -<html lang="en"> -</html">`); -  }); -  return app; -}; - -describe("zoom test", () => { - -  const port = 12321; -  let http; -  let firefox; -  let session; -  let browser; -  let tab; -  let body; - -  before(async() => { -    http = newApp().listen(port); - -    firefox = await lanthan.firefox(); -    await firefox.session.installAddon(path.join(__dirname, '..')); -    session = firefox.session; -    browser = firefox.browser; -    tab = (await browser.tabs.query({}))[0] -  }); - -  after(async() => { -    if (firefox) { -      await firefox.close(); -    } -    http.close(); -  }); - -  beforeEach(async() => { -    await session.navigateTo(`http://127.0.0.1:${port}`); -    body = await session.findElementByCSS('body'); -  }); - -  it('should zoom in by zi', async () => { -    let before = await browser.tabs.getZoom(tab.id); -    await body.sendKeys('z', 'i'); - -    await eventually(async() => { -      let actual = await browser.tabs.getZoom(tab.id); -      assert(before < actual); -    }); -  }); - -  it('should zoom out by zo', async () => { -    let before = await browser.tabs.getZoom(tab.id); -    await body.sendKeys('z', 'o'); - -    await eventually(async() => { -      let actual = await browser.tabs.getZoom(tab.id); -      assert(before > actual); -    }); -  }); - -  it('scrolls left by h', async () => { -    await browser.tabs.setZoom(tab.id, 2); -    await body.sendKeys('z', 'z'); - -    await eventually(async() => { -      let actual = await browser.tabs.getZoom(tab.id); -      assert(actual === 1); -    }); -  }); -}); - | 
