'use strict'; require('../common'); describe('Prompt', function () { // TODO: this does not test the prompt() fallback, since that isn't available // in nodejs -> replace the prompt in the "page" template with a modal describe('requestPassword & getPassword', function () { this.timeout(30000); before(function () { $.PrivateBin.Model.reset(); cleanup(); }); jsc.property( 'returns the password fed into the dialog', 'string', function (password) { password = password.replace(/\r+/g, ''); var clean = jsdom('', {url: 'ftp://example.com/?0000000000000000'}); $('body').html( '' ); $.PrivateBin.Model.init(); $.PrivateBin.Prompt.init(); $.PrivateBin.Prompt.requestPassword(); $('#passworddecrypt').val(password); $('#passwordform').submit(); var result = $.PrivateBin.Prompt.getPassword(); $.PrivateBin.Model.reset(); clean(); return result === password; } ); }); });