modify gist handler for testing

pull/1/head
Grandschtroumpf 6 years ago committed by yann300
parent eaba9b7165
commit f8c7308cb6
  1. 110
      test/gist-handler-test.js

@ -1,70 +1,52 @@
'use strict' 'use strict'
var modalDialogCustom
var test = require('tape') if (typeof window !== 'undefined') {
modalDialogCustom = require('../app/ui/modal-dialog-custom')
var GistHandler = require('../src/lib/gist-handler') }
// ^ this class can be load in a non browser context when running node unit testing.
test('gistHandler.handleLoad with no gist param', function (t) { // should not load UI in that case
t.plan(1)
// Allowing window to be overriden for testing
var gistHandler = new GistHandler({}) function GistHandler (_window) {
if (_window !== undefined) {
var params = {} modalDialogCustom = _window
var result = gistHandler.handleLoad(params, null)
t.equal(result, false)
})
test('gistHandler.handleLoad with blank gist param, and invalid user input', function (t) {
t.plan(3)
var fakeWindow = {prompt: function (title, message, input, cb) {
t.ok(message)
t.ok(message.match(/gist/i))
cb('invalid')
}}
var gistHandler = new GistHandler(fakeWindow)
var params = {'gist': ''}
var result = gistHandler.handleLoad(params, null)
t.equal(result, true)
})
test('gistHandler.handleLoad with blank gist param, and valid user input', function (t) {
t.plan(4)
var fakeWindow = {prompt: function (title, message, input, cb) {
t.ok(message)
t.ok(message.match(/gist/i))
cb('Beef1234')
}}
var cb = function (gistId) {
t.equal(gistId, 'Beef1234')
} }
var gistHandler = new GistHandler(fakeWindow) this.handleLoad = function (params, cb) {
if (!cb) cb = () => {}
var params = {'gist': ''} var loadingFromGist = false
var result = gistHandler.handleLoad(params, cb) var gistId
if (params['gist'] === '') {
t.equal(result, true) loadingFromGist = true
}) modalDialogCustom.prompt(
null,
test('gistHandler.handleLoad with gist param', function (t) { 'Enter the URL or ID of the Gist you would like to load.',
t.plan(2) null,
target => {
var gistHandler = new GistHandler({}) if (target !== '') {
gistId = getGistId(target)
var params = {'gist': 'abc'} if (gistId) {
cb(gistId)
var cb = function (gistId) { }
t.equal(gistId, 'abc') }
}
)
return loadingFromGist
} else {
gistId = params['gist']
loadingFromGist = !!gistId
}
if (loadingFromGist) {
cb(gistId)
}
return loadingFromGist
} }
var result = gistHandler.handleLoad(params, cb) function getGistId (str) {
var idr = /[0-9A-Fa-f]{8,}/
var match = idr.exec(str)
return match ? match[0] : null
}
}
t.equal(result, true) module.exports = GistHandler
})

Loading…
Cancel
Save