* fix: removed all ​ from tests verbiage * fix: added single quote to start text string * remove single quote from text line * fix: removed the hidden chars in the testStrings * fix: removed hidden chars from testString section * fix: removed hidden chars form testString part * fix: removed hidden chars from testString part * fix: removed hidden chars from testString part
3.1 KiB
3.1 KiB
id, title, isRequired, challengeType
id | title | isRequired | challengeType |
---|---|---|---|
a6b0bb188d873cb2c8729495 | Convert HTML Entities | true | 5 |
Description
&
, <
, >
, "
(double quote), and '
(apostrophe), in a string to their corresponding HTML entities.
Remember to use Read-Search-Ask if you get stuck. Try to pair program. Write your own code.
Instructions
Tests
tests:
- text: '<code>convertHTML("Dolce & Gabbana")</code> should return <code>Dolce & Gabbana</code>.'
testString: 'assert.match(convertHTML("Dolce & Gabbana"), /Dolce & Gabbana/, "<code>convertHTML("Dolce & Gabbana")</code> should return <code>Dolce & Gabbana</code>.");'
- text: '<code>convertHTML("Hamburgers < Pizza < Tacos")</code> should return <code>Hamburgers < Pizza < Tacos</code>.'
testString: 'assert.match(convertHTML("Hamburgers < Pizza < Tacos"), /Hamburgers < Pizza < Tacos/, "<code>convertHTML("Hamburgers < Pizza < Tacos")</code> should return <code>Hamburgers < Pizza < Tacos</code>.");'
- text: '<code>convertHTML("Sixty > twelve")</code> should return <code>Sixty > twelve</code>.'
testString: 'assert.match(convertHTML("Sixty > twelve"), /Sixty > twelve/, "<code>convertHTML("Sixty > twelve")</code> should return <code>Sixty > twelve</code>.");'
- text: '<code>convertHTML('Stuff in "quotation marks"')</code> should return <code>Stuff in "quotation marks"</code>.'
testString: 'assert.match(convertHTML("Stuff in "quotation marks""), /Stuff in "quotation marks"/, "<code>convertHTML('Stuff in "quotation marks"')</code> should return <code>Stuff in "quotation marks"</code>.");'
- text: '<code>convertHTML("Schindler's List")</code> should return <code>Schindler's List</code>.'
testString: 'assert.match(convertHTML("Schindler"s List"), /Schindler's List/, "<code>convertHTML("Schindler's List")</code> should return <code>Schindler's List</code>.");'
- text: '<code>convertHTML("<>")</code> should return <code><></code>.'
testString: 'assert.match(convertHTML("<>"), /<>/, "<code>convertHTML("<>")</code> should return <code><></code>.");'
- text: <code>convertHTML("abc")</code> should return <code>abc</code>.
testString: 'assert.strictEqual(convertHTML("abc"), "abc", "<code>convertHTML("abc")</code> should return <code>abc</code>.");'
Challenge Seed
function convertHTML(str) {
// :)
return str;
}
convertHTML("Dolce & Gabbana");
Solution
var MAP = { '&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''};
function convertHTML(str) {
return str.replace(/[&<>"']/g, function(c) {
return MAP[c];
});
}