Improving bonfire flow, working on seed.js
This commit is contained in:
@ -548,6 +548,13 @@ div.CodeMirror-scroll {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bonfire-instructions p {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.bonfire-instructions {
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
//uncomment this to see the dimensions of all elements outlined in red
|
//uncomment this to see the dimensions of all elements outlined in red
|
||||||
//* {
|
//* {
|
||||||
// border-color: red;
|
// border-color: red;
|
||||||
|
@ -44,7 +44,7 @@ var editorValue;
|
|||||||
|
|
||||||
|
|
||||||
if (challengeSeed) {
|
if (challengeSeed) {
|
||||||
editorValue = challengeSeed;
|
editorValue = challengeSeed + '\n\n' + challengeEntryPoint;
|
||||||
} else {
|
} else {
|
||||||
editorValue = nonChallengeValue;
|
editorValue = nonChallengeValue;
|
||||||
}
|
}
|
||||||
@ -100,9 +100,11 @@ var replaceQuotesInTests = function() {
|
|||||||
var tests;
|
var tests;
|
||||||
var testSalt = Math.random();
|
var testSalt = Math.random();
|
||||||
|
|
||||||
|
|
||||||
var scrapeTests = function(userJavaScript) {
|
var scrapeTests = function(userJavaScript) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var checkIfUserSuppliedEntry = new RegExp(challengeEntryPointNegate, 'g');
|
var checkIfUserSuppliedEntry = new RegExp(challengeEntryPointNegate, 'g');
|
||||||
|
|
||||||
var userEntryCheck = checkIfUserSuppliedEntry.test(userJavaScript);
|
var userEntryCheck = checkIfUserSuppliedEntry.test(userJavaScript);
|
||||||
@ -115,6 +117,11 @@ var scrapeTests = function(userJavaScript) {
|
|||||||
for (var i = 0; i < publicTests.length; i++) {
|
for (var i = 0; i < publicTests.length; i++) {
|
||||||
userJavaScript += '\n' + publicTests[i];
|
userJavaScript += '\n' + publicTests[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < privateTests.length; i++) {
|
||||||
|
userJavaScript += '\n' + privateTests[i];
|
||||||
|
}
|
||||||
|
|
||||||
var counter = 0;
|
var counter = 0;
|
||||||
var regex = new RegExp(/(expect(\s+)?\(.*\;)|(assert(\s+)?\(.*\;)|(assert\.\w.*\;)|(.*\.should\..*\;)/);
|
var regex = new RegExp(/(expect(\s+)?\(.*\;)|(assert(\s+)?\(.*\;)|(assert\.\w.*\;)|(.*\.should\..*\;)/);
|
||||||
var match = regex.exec(userJavaScript);
|
var match = regex.exec(userJavaScript);
|
||||||
@ -130,10 +137,6 @@ var scrapeTests = function(userJavaScript) {
|
|||||||
match = regex.exec(userJavaScript);
|
match = regex.exec(userJavaScript);
|
||||||
}
|
}
|
||||||
|
|
||||||
//for (publicTest in publicTests) {
|
|
||||||
// console.log(publicTest);
|
|
||||||
// tests.push(publicTest);
|
|
||||||
//}
|
|
||||||
if (tests) replaceQuotesInTests();
|
if (tests) replaceQuotesInTests();
|
||||||
return userJavaScript;
|
return userJavaScript;
|
||||||
};
|
};
|
||||||
@ -198,7 +201,7 @@ var createTestDisplay = function() {
|
|||||||
var assert = chai.assert;
|
var assert = chai.assert;
|
||||||
var expect = chai.expect;
|
var expect = chai.expect;
|
||||||
var should = chai.should();
|
var should = chai.should();
|
||||||
console.log(should);
|
|
||||||
var reassembleTest = function(test, data) {
|
var reassembleTest = function(test, data) {
|
||||||
var lineNum = test.line;
|
var lineNum = test.line;
|
||||||
var regexp = new RegExp("\/\/" + lineNum + testSalt);
|
var regexp = new RegExp("\/\/" + lineNum + testSalt);
|
||||||
@ -219,6 +222,7 @@ var runTests = function(err, data) {
|
|||||||
var output = eval(reassembleTest(test, data));
|
var output = eval(reassembleTest(test, data));
|
||||||
}
|
}
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
|
|
||||||
arr[ix].err = error.name + ":" + error.message;
|
arr[ix].err = error.name + ":" + error.message;
|
||||||
} finally {
|
} finally {
|
||||||
if (!test) {
|
if (!test) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "Palindrome Tester",
|
"name": "Palindrome Tester",
|
||||||
"difficulty": 1, // should be a range from 1-5
|
"difficulty": 1,
|
||||||
"description": [
|
"description": [
|
||||||
"Your job is to determine if a provided string is a palindrome.",
|
"Your job is to determine if a provided string is a palindrome.",
|
||||||
"The definition of a palindrome can be found at http://en.wikipedia.org/wiki/Palindrome.",
|
"The definition of a palindrome can be found at http://en.wikipedia.org/wiki/Palindrome.",
|
||||||
@ -20,9 +20,9 @@
|
|||||||
"assert.deepEqual(palindrome(\"nope\"), false);"
|
"assert.deepEqual(palindrome(\"nope\"), false);"
|
||||||
],
|
],
|
||||||
"challengeSeed": "function palindrome(str) {\n // Good luck!\n return true;\n}\n\n",
|
"challengeSeed": "function palindrome(str) {\n // Good luck!\n return true;\n}\n\n",
|
||||||
"challengeEntryPoint": "palindrome(\"eye\")",
|
"challengeEntryPoint": "palindrome(\"eye\");",
|
||||||
"bonfireNumber": 1,
|
"bonfireNumber": 1,
|
||||||
"challengeEntryPointNegate" : "palindrome\\([^str].*\\;",
|
"challengeEntryPointNegate" : "palindrome\\([^str].*\\;"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Validate US Telephone Numbers",
|
"name": "Validate US Telephone Numbers",
|
||||||
@ -61,7 +61,7 @@
|
|||||||
"challengeSeed": "function telephoneCheck(str) {\n // Good luck!\n return true;\n}\n\n",
|
"challengeSeed": "function telephoneCheck(str) {\n // Good luck!\n return true;\n}\n\n",
|
||||||
"challengeEntryPoint": "telephoneCheck(\"555-555-5555\")",
|
"challengeEntryPoint": "telephoneCheck(\"555-555-5555\")",
|
||||||
"bonfireNumber": 2,
|
"bonfireNumber": 2,
|
||||||
"challengeEntryPointNegate" : "palindrome\\([^str].*\\;",
|
"challengeEntryPointNegate" : "palindrome\\([^str].*\\;"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -22,11 +22,10 @@ block content
|
|||||||
.panel.panel-primary.panel-bonfire
|
.panel.panel-primary.panel-bonfire
|
||||||
.panel-heading.text-center #{name} (Level #{difficulty} bonfire)
|
.panel-heading.text-center #{name} (Level #{difficulty} bonfire)
|
||||||
.panel.panel-body
|
.panel.panel-body
|
||||||
h4 Details
|
.well
|
||||||
h5
|
.text-justify.bonfire-instructions
|
||||||
ol
|
|
||||||
for sentence in description
|
for sentence in description
|
||||||
li!= sentence
|
p.bonfire-instructions!= sentence
|
||||||
form.code
|
form.code
|
||||||
.form-group.codeMirrorView
|
.form-group.codeMirrorView
|
||||||
textarea#codeEditor(autofocus=true)
|
textarea#codeEditor(autofocus=true)
|
||||||
|
Reference in New Issue
Block a user