adding tests for PasteViewer class
This commit is contained in:
parent
10ee37b35c
commit
c6ddee317d
4 changed files with 78 additions and 4 deletions
|
@ -1839,7 +1839,7 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
|
||||||
*
|
*
|
||||||
* @name PasteViewer.setFormat
|
* @name PasteViewer.setFormat
|
||||||
* @function
|
* @function
|
||||||
* @param {string} newFormat the the new format
|
* @param {string} newFormat the new format
|
||||||
*/
|
*/
|
||||||
me.setFormat = function(newFormat)
|
me.setFormat = function(newFormat)
|
||||||
{
|
{
|
||||||
|
@ -1848,7 +1848,7 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// needs to update display too, if from or to Markdown is switched
|
// needs to update display too, if we switch from or to Markdown
|
||||||
if (format === 'markdown' || newFormat === 'markdown') {
|
if (format === 'markdown' || newFormat === 'markdown') {
|
||||||
isDisplayed = false;
|
isDisplayed = false;
|
||||||
}
|
}
|
||||||
|
@ -1977,6 +1977,9 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
|
||||||
|
|
||||||
// get default option from template/HTML or fall back to set value
|
// get default option from template/HTML or fall back to set value
|
||||||
format = Model.getFormatDefault() || format;
|
format = Model.getFormatDefault() || format;
|
||||||
|
text = '';
|
||||||
|
isDisplayed = false;
|
||||||
|
isChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return me;
|
return me;
|
||||||
|
|
71
js/test.js
71
js/test.js
|
@ -22,6 +22,10 @@ global.sjcl = require('./sjcl-1.0.6');
|
||||||
global.Base64 = require('./base64-2.1.9').Base64;
|
global.Base64 = require('./base64-2.1.9').Base64;
|
||||||
global.RawDeflate = require('./rawdeflate-0.5').RawDeflate;
|
global.RawDeflate = require('./rawdeflate-0.5').RawDeflate;
|
||||||
global.RawDeflate.inflate = require('./rawinflate-0.3').RawDeflate.inflate;
|
global.RawDeflate.inflate = require('./rawinflate-0.3').RawDeflate.inflate;
|
||||||
|
require('./prettify');
|
||||||
|
global.prettyPrint = window.PR.prettyPrint;
|
||||||
|
global.prettyPrintOne = window.PR.prettyPrintOne;
|
||||||
|
global.showdown = require('./showdown-1.6.1');
|
||||||
require('./bootstrap-3.3.7');
|
require('./bootstrap-3.3.7');
|
||||||
require('./privatebin');
|
require('./privatebin');
|
||||||
|
|
||||||
|
@ -1374,3 +1378,70 @@ describe('Editor', function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('PasteViewer', function () {
|
||||||
|
describe('run, hide, getText, setText, getFormat, setFormat & isPrettyPrinted', function () {
|
||||||
|
this.timeout(30000);
|
||||||
|
before(function () {
|
||||||
|
cleanup();
|
||||||
|
});
|
||||||
|
|
||||||
|
jsc.property(
|
||||||
|
'displays text according to format',
|
||||||
|
jsc.elements(['plaintext', 'markdown', 'syntaxhighlighting']),
|
||||||
|
'nestring',
|
||||||
|
function (format, text) {
|
||||||
|
var clean = jsdom(),
|
||||||
|
results = [];
|
||||||
|
$('body').html(
|
||||||
|
'<div id="placeholder" class="hidden">+++ no paste text ' +
|
||||||
|
'+++</div><div id="prettymessage" class="hidden"><pre ' +
|
||||||
|
'id="prettyprint" class="prettyprint linenums:1"></pre>' +
|
||||||
|
'</div><div id="plaintext" class="hidden"></div>'
|
||||||
|
);
|
||||||
|
$.PrivateBin.PasteViewer.init();
|
||||||
|
$.PrivateBin.PasteViewer.setFormat(format);
|
||||||
|
$.PrivateBin.PasteViewer.setText('');
|
||||||
|
results.push(
|
||||||
|
$('#placeholder').hasClass('hidden') &&
|
||||||
|
$('#prettymessage').hasClass('hidden') &&
|
||||||
|
$('#plaintext').hasClass('hidden') &&
|
||||||
|
$.PrivateBin.PasteViewer.getFormat() == format &&
|
||||||
|
$.PrivateBin.PasteViewer.getText() == ''
|
||||||
|
);
|
||||||
|
$.PrivateBin.PasteViewer.run();
|
||||||
|
results.push(
|
||||||
|
!$('#placeholder').hasClass('hidden') &&
|
||||||
|
$('#prettymessage').hasClass('hidden') &&
|
||||||
|
$('#plaintext').hasClass('hidden')
|
||||||
|
);
|
||||||
|
$.PrivateBin.PasteViewer.hide();
|
||||||
|
results.push(
|
||||||
|
$('#placeholder').hasClass('hidden') &&
|
||||||
|
$('#prettymessage').hasClass('hidden') &&
|
||||||
|
$('#plaintext').hasClass('hidden')
|
||||||
|
);
|
||||||
|
$.PrivateBin.PasteViewer.setText(text);
|
||||||
|
$.PrivateBin.PasteViewer.run();
|
||||||
|
results.push(
|
||||||
|
$('#placeholder').hasClass('hidden') &&
|
||||||
|
!$.PrivateBin.PasteViewer.isPrettyPrinted() &&
|
||||||
|
$.PrivateBin.PasteViewer.getText() == text
|
||||||
|
);
|
||||||
|
if (format == 'markdown') {
|
||||||
|
results.push(
|
||||||
|
$('#prettymessage').hasClass('hidden') &&
|
||||||
|
!$('#plaintext').hasClass('hidden')
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
results.push(
|
||||||
|
!$('#prettymessage').hasClass('hidden') &&
|
||||||
|
$('#plaintext').hasClass('hidden')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
clean();
|
||||||
|
return results.every(element => element);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ if ($MARKDOWN):
|
||||||
<?php
|
<?php
|
||||||
endif;
|
endif;
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-rDOydUZZZd8/nPpB9EekhSoXRF1ezh7veCT1ImGX6lH2gupGIboh6O7S3I9r/B21ytB22AsbrTBGjZ4ORvpFSQ==" crossorigin="anonymous"></script>
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-NWkO7YojpZyTn/xpIjVwo+VBSVKIfxHjE9NC41GzcWgt3w36XNZ+wYZZjXLJh44rBj9qBmZiXvvt9g5iNkadlg==" crossorigin="anonymous"></script>
|
||||||
<!--[if lt IE 10]>
|
<!--[if lt IE 10]>
|
||||||
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
|
|
@ -47,7 +47,7 @@ if ($MARKDOWN):
|
||||||
<?php
|
<?php
|
||||||
endif;
|
endif;
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-rDOydUZZZd8/nPpB9EekhSoXRF1ezh7veCT1ImGX6lH2gupGIboh6O7S3I9r/B21ytB22AsbrTBGjZ4ORvpFSQ==" crossorigin="anonymous"></script>
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-NWkO7YojpZyTn/xpIjVwo+VBSVKIfxHjE9NC41GzcWgt3w36XNZ+wYZZjXLJh44rBj9qBmZiXvvt9g5iNkadlg==" crossorigin="anonymous"></script>
|
||||||
<!--[if lt IE 10]>
|
<!--[if lt IE 10]>
|
||||||
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
|
|
Loading…
Reference in a new issue