Show tests on html view
This commit is contained in:
@ -59,11 +59,14 @@ editor.on("change", function () {
|
||||
});
|
||||
var nodeEnv = prodOrDev === 'production' ? 'http://www.freecodecamp.com' : 'http://localhost:3001';
|
||||
function updatePreview() {
|
||||
goodTests = 0;
|
||||
var previewFrame = document.getElementById('preview');
|
||||
var preview = previewFrame.contentDocument || previewFrame.contentWindow.document;
|
||||
preview.open();
|
||||
$('#testSuite').empty();
|
||||
preview.write(libraryIncludes + editor.getValue() + otherTestsForNow);
|
||||
preview.close();
|
||||
|
||||
}
|
||||
setTimeout(updatePreview, 300);
|
||||
|
||||
@ -71,17 +74,27 @@ setTimeout(updatePreview, 300);
|
||||
* "post" methods
|
||||
*/
|
||||
|
||||
var postSuccess = function() {
|
||||
showCompletion();
|
||||
var postSuccess = function(data) {
|
||||
var testDoc = document.createElement("div");
|
||||
$(testDoc)
|
||||
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-checkmark-circled big-success-icon'></i></div><div class='col-xs-10 test-output test-vertical-center wrappable'>" + JSON.parse(data) + "</div></div><div class='ten-pixel-break'/>")
|
||||
.appendTo($('#testSuite'));
|
||||
testSuccess();
|
||||
};
|
||||
|
||||
var postError = function(data) {
|
||||
console.log(Object.keys(data));
|
||||
var testDoc = document.createElement("div");
|
||||
$(testDoc)
|
||||
.html("<div class='row'><div class='col-xs-1 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-11 test-output wrappable'>" + data + "</div></div><div class='ten-pixel-break'/>")
|
||||
.html("<div class='row'><div class='col-xs-2 text-center'><i class='ion-close-circled big-error-icon'></i></div><div class='col-xs-10 test-output wrappable'>" + JSON.parse(data) + "</div></div><div class='ten-pixel-break'/>")
|
||||
.prependTo($('#testSuite'))
|
||||
};
|
||||
var goodTests = 0;
|
||||
var testSuccess = function() {
|
||||
goodTests++;
|
||||
if (goodTests === tests.length) {
|
||||
showCompletion();
|
||||
}
|
||||
};
|
||||
var challengeSeed = challengeSeed || null;
|
||||
var tests = tests || [];
|
||||
var allSeeds = '';
|
||||
@ -116,7 +129,7 @@ function doLinting () {
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
//$('#testSuite').empty();
|
||||
function showCompletion() {
|
||||
var time = Math.floor(Date.now() / 1000) - started;
|
||||
ga('send', 'event', 'Challenge', 'solved', challengeName + ', Time: ' + time);
|
||||
|
@ -1,21 +1,18 @@
|
||||
(function() {
|
||||
var allTestsGood = true;
|
||||
var expect = chai.expect;
|
||||
var tests = parent.tests;
|
||||
|
||||
for (var i = 0; i < tests.length; i++) {
|
||||
|
||||
var thisTest = true;
|
||||
try {
|
||||
eval(tests[i]);
|
||||
eval(parent.tests[i]);
|
||||
} catch (err) {
|
||||
allTestsGood = false;
|
||||
console.log('All tests are good?', allTestsGood);
|
||||
parent.postError(err);
|
||||
|
||||
thisTest = false;
|
||||
parent.postError(JSON.stringify(tests[i]));
|
||||
} finally {
|
||||
if (allTestsGood) {
|
||||
console.log('You should not be able to see me if there are errors on teh screen!', allTestsGood);
|
||||
parent.postSuccess();
|
||||
if (thisTest) {
|
||||
parent.postSuccess(JSON.stringify(tests[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -575,7 +575,7 @@
|
||||
],
|
||||
"tests": [
|
||||
"expect($('img')).to.have.class('thick-green-border');",
|
||||
"expect($('img')).to.have.css('border-color', 'rgb(0,255,0)');",
|
||||
"expect($('img')).to.have.css('border-color', 'rgb(0, 255, 0)');",
|
||||
"expect($('img')).to.have.css('border-width', '10px');"
|
||||
],
|
||||
"challengeSeed": [
|
||||
|
@ -39,10 +39,8 @@ block content
|
||||
button#less-info.btn.btn-info
|
||||
span.ion-help-circled
|
||||
| Less information
|
||||
br
|
||||
ul#testSuite.list-group
|
||||
br
|
||||
script(src='/js/lib/coursewares/coursewaresHCJQFramework_v0.1.1.js')
|
||||
|
||||
- if (cc)
|
||||
a.btn.btn-primary.btn-lg.btn-block#next-courseware-button
|
||||
| Go to my next challenge
|
||||
@ -55,7 +53,8 @@ block content
|
||||
a.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress
|
||||
script.
|
||||
var userLoggedIn = false;
|
||||
div.hidden
|
||||
br
|
||||
ul#testSuite.list-group
|
||||
|
||||
br
|
||||
script(type="text/javascript").
|
||||
@ -88,7 +87,4 @@ block content
|
||||
.animated.zoomInDown.delay-half
|
||||
span.completion-icon.ion-checkmark-circled.text-primary
|
||||
a.animated.fadeIn.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress
|
||||
script.
|
||||
$(document).ready(function() {
|
||||
script(src='/js/lib/coursewares/coursewaresHCJQFramework_v0.1.1.js')
|
||||
});
|
||||
script(src="/js/lib/coursewares/coursewaresHCJQFramework_v0.1.1.js")
|
||||
|
Reference in New Issue
Block a user