jiebi/CodeConvo huggingface dataset:
Change:
One of the tests for that bonfire is : , which is supposed to give : . And another test is the same bonfire is : , which is supposed to give : . This doesn't make sense. If it can be inferred, based on the difference being one month apart, that it's the next year, for the second case, then it should also be possible for the first case too. March and May are one month apart, so the output should be just like the second case.
We're a little backlogged right now so if you can submit a PR to clean this up it would be much appreciated.

Discussion:
"assert.deepEqual(friendly(['2015-07-01', '2015-07-04']), ['July 1st','4th'], 'ending month should be omitted since it is already mentioned');", "assert.deepEqual(friendly(['2015-12-01', '2016-02-03']), ['December 1st','February 3rd'], 'two months apart can be inferred if it is the next year');", "assert.deepEqual(friendly(['2015-12-01', '2017-02-03']), ['December 1st, 2015','February 3rd, 2017']);", <del> "assert.deepEqual(friendly(['2016-03-01', '2016-05-05']), ['March 1st','May 5th, 2016']);", </del> <ins> "assert.deepEqual(friendly(['2016-03-01', '2016-05-05']), ['March 1st','May 5th'], 'one month apart can be inferred it is the same year');", </ins> "assert.deepEqual(friendly(['2017-01-01', '2017-01-01']), ['January 1st, 2017'], 'since we do not duplicate only return once');", "assert.deepEqual(friendly(['2022-09-05', '2023-09-04']), ['September 5th, 2022','September 4th, 2023']);" ],
Change:
The description does not specify to preserve the title case of the word replaced. Although the tests somehow expect the title case to be preserved if the word is getting replaced. We should either: A. change the test B. Add a note in the description about this quirk.

Discussion:
"Return the provided string with the first letter of each word capitalized.", "For the purpose of this exercise, you should also capitalize connecting words like 'the' and 'of'." ], <del> "challengeEntryPoint": "titleCase("I'm a little tea pot")", </del> <ins> "challengeEntryPoint": "titleCase("I'm a little tea pot");", </ins> "challengeSeed": "function titleCase(str) {n  return str;rn}", "tests": [ "expect(titleCase("I'm a little tea pot")).to.be.a('String');",
Change:
The copy here seems misleading especially for those coming from no knowledge of javascript. It looks as though jQuery isn't also Javascript. ! [] 1) jQuery is a powerful tool for manipulating HTML elements. 2) It's a lot easier to use than JavaScript itself, so we'll learn it first. 1) jQuery is a powerful javascript framework for manipulating HTML elements. 2) It's a lot easier to use than plain JavaScript itself, so we'll learn it first.

Discussion:
"difficulty": 0.13, "challengeSeed": "125671865", "description": [ <del> "jQuery is a powerful tool for manipulating HTML elements.", "It's a lot easier to use than JavaScript itself, so we'll learn it first.", </del> <ins> "jQuery is a powerful library built in Javascript for manipulating HTML elements.", "It's a lot easier to use than Javascript itself, so we'll learn it first.", </ins> "It's also extremely popular with employers, so we're going to learn it well.", "Codecademy has an excellent free course that will walk us through the basics of jQuery.", "Go to <a href='http://www.codecademy.com/courses/web-beginner-en-bay3D/0/1' target='_blank'>http://www.codecademy.com/courses/web-beginner-en-bay3D/0/1</a> and complete the first section."
Change:
for step 38 here: the new user needs to set up an SSH key to push to github. the key is given by C9, but it's not clear to me how to add it to github, a simple copy /paste to my SSH keys in my account isn't working. This should be clarified for new users of c9. Not sure if it's needed for every c9 workspace or just once, but I guess github is seeing c9 as a new computer?
Here is a set of instructions that worked for me: In the bottom left of your C9 dashboard is a section called “Add-on Services”. Click “activate” next to the “GitHub” icon (if you haven’t already). When the pop up appears, tell it to allow access to your account. This should complete the link between GitHub account and your C9 account. While still on the dashboard, look to the right under “Account Settings” for the link “Show your SSH key”. Click on it, and copy the value which appears. Go to the GitHub SSH settings page, and click “Add SSH Key” Enter the title “C9″, paste the SSH Key into the “Key” box, and click “Add Key”.
Excellent. Thank you for pointing this out. I'll add this.

Discussion:
"Return the provided string with the first letter of each word capitalized.", "For the purpose of this exercise, you should also capitalize connecting words like 'the' and 'of'." ], <del> "challengeEntryPoint": "titleCase("I'm a little tea pot")", </del> <ins> "challengeEntryPoint": "titleCase("I'm a little tea pot");", </ins> "challengeSeed": "function titleCase(str) {n  return str;rn}", "tests": [ "expect(titleCase("I'm a little tea pot")).to.be.a('String');",
Change:
Adding placeholder tag to the <imgelement rather than the <inputelement validates the "Your text field should have a placeholder attribute." checkbox incorrectly.
Could you provide a screenshot? I'm not quite following "Adding a placeholder tag to the element rather than the element...."
Sorry spaced out and wrote the wrong thing. If you add placeholder tag to the img element rather than the text field the waypoint will say it's correct.

Discussion:
"For example: <code>&#60;input type='text' placeholder='this is placeholder text'&#62;</code>" ], "tests": [ <del> "assert($('[placeholder]').length > 0, 'Your text field should have a placeholder attribute.')", "assert(/url/gi.test($('input').attr('placeholder')), 'Your placeholder field should have the value of "cat photo URL".')" </del> <ins> "assert($('input[placeholder]').length > 0, 'Your text field should have a placeholder attribute.')", "assert($('input').attr('placeholder') === 'cat photo URL', 'Your placeholder field should have the value of "cat photo URL".')" </ins> ], "challengeSeed": [ "<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
Change:
This challenge has the additional requirement of "Your text field should have the placeholder text of "cat photo URL".", when this placeholder text was before, then removed again arbitrarily in this lesson. Assuming this is a bug since it doesn't match the tutorial flow.

Discussion:
"For example, if you wanted to make a text input field required, you can just add the word "required" within your <code>input</code> element use: <code>&#60;input type='text' required&#62;</code>" ], "tests": [ <del> "assert($('input').prop('required'), 'Your text field should have the property of being required.')", "assert(new RegExp('cat photo URL').test($('input').prop('placeholder')), 'Your text field should have the placeholder text of "cat photo URL".')" </del> <ins> "assert($('input').prop('required'), 'Your text field should have the property of being required.')" </ins> ], "challengeSeed": [ "<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",

"  <li>other cats</li>", "</ol>", "<form action="/submit-cat-photo">", <del> "  <input type='text'>", </del> <ins> "  <input type='text' placeholder='cat photo URL'>", </ins> "  <button type='submit'>Submit</button>", "</form>" ],
Change:
! This effects longer lines of codes by making it impossible to select code when trying to insert the cursor with the mouse. I saw where a commit to make the iphone stand out over footer by adding a z-index of 9999 but 9999 is too high. I'm doing a pull request right now that fixes the cover up issue on the code editor and still keeps the iphone above the footer as Quincy wanted. Thanks, Charles
Thanks, I didn't even think about the modal when I set the z-index that high. I'm taking a look at your pull request now.

Discussion:
.iframe-scroll { position: fixed !important; margin-top: 75px; <del> z-index: 9999; </del> <ins> z-index: 1; </ins> } } @media only screen and (max-width: 992px) {
Change:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. I passed the test, but I should not, because I did not wrapped all my buttons within the same div element with the class "row". Screenshot:

Discussion:
"The "row" class is applied to a <code>div</code>, and the buttons themselves can be wrapped within it." ], "tests": [ <del> "assert($('div.row:has(button)'), 'Your buttons should all be wrapped within the same <code>div</code> element with the class "row".')", </del> <ins> "assert($('div.row:has(button)').length > 0, 'Your buttons should all be wrapped within the same <code>div</code> element with the class "row".')", </ins> "assert($('div.col-xs-4:has(button)').length > 2, 'Each of your Bootstrap buttons should be wrapped within its own a <code>div</code> element with the class "col-xs-4".')", "assert(editor.match(/</button>/g) && editor.match(/<button/g) && editor.match(/</button>/g).length === editor.match(/<button/g).length, 'Make sure each of your <code>button</code> elements has a closing tag.')", "assert(editor.match(/</div>/g) && editor.match(/<div/g) && editor.match(/</div>/g).length === editor.match(/<div/g).length, 'Make sure each of your <code>div</code> elements has a closing tag.')"
Change:
There is a bug in the test, I wrote the code to check the string palindrome or not like this. function palindrome(str) { // Good luck! var i, j; for (i = 0,j = ( -1) ; i < j; i++,j--){ if(str[i].toLowerCase() !== str[j].toLowerCase()) return false; else return true; } } If you see this program it looks correct. yes this is correct to check the string palindrome or not. but this is wrong in returning. it wont loop entire string, With this code all the tests are passing, but it should not pass any test, at least 2 test should fail.
Pleese close this and take an extra look at your if-statement. The #help channel on Slack is a great resource if you can't figure it out, or you can @ me on there and I'll help you out.
Hi I know my program is wrong. That's what I am mentioning with this program all test cases are passing, and it allowed me to go to next exercise. Regards Namitha On Saturday, June 13, 2015, Anton Strömkvist wrote:
Oh, sorry, my bad! Should be fixed with

Discussion:
"assert.deepEqual(palindrome("not a palindrome"), false);", "assert.deepEqual(palindrome("A man, a plan, a canal. Panama"), true);", "assert.deepEqual(palindrome("never odd or even"), true);", <del> "assert.deepEqual(palindrome("nope"), false);" </del> <ins> "assert.deepEqual(palindrome("nope"), false);", "assert.deepEqual(palindrome("almostomla"), false);" </ins> ], "challengeSeed": [ "function palindrome(str) {",
Change:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. This bonfire seems to be missing assertion tests for all the different test cases outlined in the instructions. It currently is only testing the case of the ampersand (&) and is leaving out the <, , ', and " cases. Suggest adding another assertion or assertions to test the rest of these cases.
Just for logging purposes, this was discussed in . I'm currently not at a computer, but if someone wants to assign me, I could fix this as soon as I can, which /should/ be tonight.

Discussion:
], "tests": [ "assert.strictEqual(convert('Dolce & Gabbana'), 'Dolce &amp; Gabbana', 'should escape characters');", <ins> "assert.strictEqual(convert('Hamburgers < Pizza < Tacos'), 'Hamburgers &lt; Pizza &lt; Tacos', 'should escape characters');", "assert.strictEqual(convert('Sixty > twelve'), 'Sixty &gt; twelve', 'should escape characters');", "assert.strictEqual(convert('Stuff in "quotation marks"'), 'Stuff in &quot;quotation marks&quot;', 'should escape characters');", "assert.strictEqual(convert("Shindler's List"), 'Shindler&apos;s List', 'should escape characters');", </ins> "assert.strictEqual(convert('abc'), 'abc', 'should handle strings with nothing to escape');" ], "MDNlinks": [
Change:
The first test to pass for this Bonfire is that the function returns a number. However, if I run the code without changing anything (so the function simply returns the string argument), the test still claims to pass.

Discussion:
"permAlone('aab');" ], "tests": [ <del> "expect(permAlone('aab')).to.be.a.number;", </del> <ins> "expect(permAlone('aab')).to.be.a('number');", </ins> "expect(permAlone('aab')).to.equal(2);", "expect(permAlone('aaa')).to.equal(0);", "expect(permAlone('aabb')).to.equal(8);",
Change:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. This passes when there are more than 2 arguments after the array, even if it doesn't actually delete those arguments from the array.
What code makes the test cases pass incorrectly?
Here's an example of one that passed, but the returned array is [1, 1] instead of an empty array: function destroyer(arr) { // Remove all the values // for each element in arr, remove each element in args that // is args[0] var args = (arguments); var holder = []; var filtered = (destroy); // function for above function destroy(value) { for (i = 1; i < ; i++) { return value !== args[i] && value !== args [i + 1]; } } return filtered; } destroyer([1, 2, 3, 1, 2, 3], 2, 3, 1); // returned arr is [1, 1] instead of [ ].

Discussion:
], "tests": [ "assert.deepEqual(destroyer([1, 2, 3, 1, 2, 3], 2, 3), [1, 1], 'should remove correct values from an array');", <del> "assert.deepEqual(destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3), [1, 5, 1], 'should remove correct values from an array');" </del> <ins> "assert.deepEqual(destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3), [1, 5, 1], 'should remove correct values from an array');", "assert.deepEqual(destroyer([3, 5, 1, 2, 2], 2, 3, 5), [1], 'should accept more than two additional arguments');", "assert.deepEqual(destroyer([2, 3, 2, 3], 2, 3), [], 'should remove correct values from an array');", "assert.deepEqual(destroyer(['tree', 'hamburger', 53], 'tree', 53), ['hamburger'], 'should handle NaN-elements');" </ins> ], "MDNlinks": [ "Arguments object",
Change:
When registering a new account using my email address, I get this error after hitting submit: ! {"error":{"name":"Error","status":500,"message":"Timeout in connecting after 5000 ms"}} Ubuntu 14.04, Chrome browser
Not sure if this is the same as so I am going to keep this open for now.
Looks like this issue might of be resolved with I will keep an I on this to see if it rears its head again! Thanks for your help!

Discussion:
failureRedirect: '/login' }; <del> app.get('/auth/twitter', passport.authenticate('twitter')); </del> <ins> app.get('/auth/twitter', passport.authorize('twitter')); </ins> app.get( '/auth/twitter/callback', passport.authenticate('twitter', {

); }; <del> // prepares the string to be printed on the terminal var escape = function(msg) { return msg. replace(/&/g,'&amp;'). replace(/</g,'&lt;'). replace(/>/g,'&gt;'). replace(/n/g, '<br/>'). replace(/ /g, '&nbsp;'); }; </del> // puts the message on the terminal var print = function(cls, msg) { codeOutput.setValue(msg);

// interface provided to the plugin var api = { output: function(data) { <del> if (!--requests) { endLoading(); } // print('separator'); print('input', data.input); if (data.error) { print('message', data.error); } else { print('output', data.output); } </del> <ins> endLoading(); print('input', data.input); if (data.error) { print('message', data.error); } else { print('output', data.output); } </ins> } };

setTimeout( function() { endLoading(); codeOutput.setValue('Infinite loop detected!'); <del> // print('message', 'Your code took too long to execute. Check for an infinite loop or recursion.'); //            console.log('infinite loop'); //          $('#codeOutput.setValue('Infinite loop detected')') </del> reset(); }, 10); });

var editor = myCodeMirror; myCodeMirror.setValue('2*2'); myCodeMirror.setSize("100%", 500); var codeOutput = CodeMirror.fromTextArea(document.getElementById("codeOutput"), { lineNumbers: false,
Change:
Challenge has an issue. This bonfire needs more tests. It's too easy to get them passed. Now it checks only &. I would add tests for <, , ", '.
Agreed. I can add more tests to this one. However, we also need to properly display the test cases so that the user understands what the test is asking. Currently, the test case reads like this: whereas what we need is something like this: ! Anyone have ideas on how to accomplish this?
This was solved in a recent commit. This issue should be closed.
Thank you for your help! We've now fixed this in production as well!

Discussion:
], "tests": [ "assert.strictEqual(convert('Dolce & Gabbana'), 'Dolce &amp; Gabbana', 'should escape characters');", <ins> "assert.strictEqual(convert('Hamburgers < Pizza < Tacos'), 'Hamburgers &lt; Pizza &lt; Tacos', 'should escape characters');", "assert.strictEqual(convert('Sixty > twelve'), 'Sixty &gt; twelve', 'should escape characters');", "assert.strictEqual(convert('Stuff in "quotation marks"'), 'Stuff in &quot;quotation marks&quot;', 'should escape characters');", "assert.strictEqual(convert("Shindler's List"), 'Shindler&apos;s List', 'should escape characters');", </ins> "assert.strictEqual(convert('abc'), 'abc', 'should handle strings with nothing to escape');" ], "MDNlinks": [
Change:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. The following will pass the test: Note: it's missing a at the end of it Im thinking this is a flaw with it rendering it on the fly creating the dom elements even if it's not complete? But it leads to a false sense of being done when you really aren't done with the element to pass it. Subjective I guess depending on your view of it?
new url
This is not passing for me. Has this been fixed? EDIT: okay yeah, it IS passing for me.
should apparently fix it. I have no idea how to add regex to the challenge, so is someone willing to test this out?
I will take a look into it, please feel free to assign the issue to me. EDIT: I've got some changes together to fix the issue.

Discussion:
"assert($("img").length === 2, 'You should have a total of two images.')", "assert(editor.match(/<img/g) && editor.match(/<img.*>/g).length === 2 && editor.match(/<img/g).length === 2, 'Make sure your new <code>img</code> element has a closing angle bracket.')", "assert($("img").hasClass("img-responsive"), 'Your new image should have the class <code>img-responsive</code>.')", <del> "assert(new RegExp("http://bit.ly/fcc-running-cats", "gi").test($("img.img-responsive").attr("src")), 'Add a second image with the <code>src</code> of <code>http&#58;//bit.ly/fcc-running-cats</code>.')" </del> <ins> "assert(new RegExp("http://bit.ly/fcc-running-cats", "gi").test($("img.img-responsive").attr("src")), 'Your new image should have a <code>src</code> attribute of <code>http&#58;//bit.ly/fcc-running-cats</code>.')" </ins> ], "challengeSeed": [ "<link href="http://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">",
Change:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. In the Challenge it ask that "use "Lobster" as their font family, but degrade to the "Monospace" font when the "Lobster" font isn't available" but if you write the other way in the CSS you can pass the challenge. !
I found the corresponding line but I don't know what does and why has such strange input, so I'm not sure how to fix this ticket. Perhaps split the css value string by into an array and make sure the item with "monospace" has a higher index than the item with "lobster".
assert is part of the test library fcc uses. So in this case the tests like you were saying should be for example: assert($('h2').css('font-family').toLowerCase().replace(' ', '').split(',')[0].match(/lobster/i) assert($('h2').css('font-family').toLowerCase().replace(' ', '').split(',')[1].match(/monospace/i)
Please note that both and are legal, so one should probably first split with only and then .
it doesn't really change the result but sure!

Discussion:
"Now try commenting out your call to Google Fonts, so that the "Lobster" font isn't available. Notice how it degrades to the "Monospace" font." ], "tests": [ <del> "assert($('h2').css('font-family').match(/lobster/i), 'Your h2 element should use the font "Lobster".')", "assert($('h2').css('font-family').match(/monospace/i), 'Your h2 element should degrade to the font "Monospace" when "Lobster" is not available.')" </del> <ins> "assert($('h2').css('font-family').match(/^"?lobster/i), 'Your h2 element should use the font "Lobster".')", "assert($('h2').css('font-family').match(/lobster"?,monospace/i), 'Your h2 element should degrade to the font "Monospace" when "Lobster" is not available.')" </ins> ], "challengeSeed": [ "<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
Change:
Challenge has an issue. Please describe how to reproduce it, and include links to screen shots if possible. Below is link to screen. Issue is that even after deleting the --that ends the comment, I am not allowed to go to my next challenge ! Uncomment HTML Uncomment your h1, h2 and p elements. Commenting is a way that you can leave comments within your code without affecting the code itself. Commenting is also a convenient way to make code inactive without having to delete it entirely. You can start a comment with <!-- and end a comment with --. Less information Go to my next challenge (ctrl + enter) Help Bug Make your h1 element visible on your page by uncommenting it. Make your h2 element visible on your page by uncommenting it. Make your p element visible on your page by uncommenting it. Be sure to delete the --that ends the comment. 1 <!--2 <h1Hello World</h13 <!--4 <h2CatPhotoApp</h25 <!--6 <br7 <!--8 <pHello Paragraph</p
The problem is that you still have a few comments, , in your code, and the test cases check to make sure you don't have any trailing comment tags, in there. I'll submit a PR in a second that slightly alters the words used in the waypoint, but I'm not sure it should be necessary.
Thx Lumen! Just so I'm clear, I need to delete ' <!--' all throughout the code?
Exactly :)
Fixed in

Discussion:
"assert($('h1').length > 0, 'Make your <code>h1</code> element visible on your page by uncommenting it.')", "assert($('h2').length > 0, 'Make your <code>h2</code> element visible on your page by uncommenting it.')", "assert($('p').length > 0, 'Make your <code>p</code> element visible on your page by uncommenting it.')", <del> "assert(!new RegExp('-->', 'gi').test(editor), 'Be sure to delete the <code>--&#62;</code> that ends the comment.')" </del> <ins> "assert(!new RegExp('-->', 'gi').test(editor), 'Be sure to delete all trailing comment tags&#44; i.e. <code>--&#62;</code>.')" </ins> ], "challengeSeed": [ "<!--",
Change:
Task no. 7, says: "You can view the portfolio pages of any camper who has posted links or comments on Camper News. Just click on their photo." However, clicking a photo simply licks back to the homepage. Clicking their username links to their profile. So the instruction needs to be updated.
Thank you for finding and reporting this! I went the other way and fixed the bug instead of the instructions, seemed more appropriate ;)
No problem. Glad I could help.

Discussion:
"<div class='hidden-xs row media-stories'>" + "<div class='media'>" + "<div class='media-left'>" + <del> "<a href='/'" + data[i].author.username + "'>" + </del> <ins> "<a href='/" + data[i].author.username + "'>" + </ins> "<img class='img-news' src='" + data[i].author.picture + "'/>" + "</a>" + "</div>" +