curriculum/challenges/english/blocks/lab-html-entitiy-converter/a6b0bb188d873cb2c8729495.md
This lab is about converting special characters in a string with their corresponding HTML entities.
Objective: Fulfill the user stories below and get all the tests to pass to complete the lab.
User Stories:
You should have a convertHTML function that accepts a string as an argument.
The convertHTML function should return a new string by converting special characters in the argument string to their corresponding HTML entities.
& should be converted to &.< should be converted to <.> should be converted to >." should be converted to ".' should be converted to '.You should have a convertHTML function.
assert.isFunction(convertHTML);
convertHTML("Dolce & Gabbana") should return the string Dolce & Gabbana.
assert.match(convertHTML('Dolce & Gabbana'), /Dolce & Gabbana/);
convertHTML("Hamburgers < Pizza < Tacos") should return the string Hamburgers < Pizza < Tacos.
assert.match(
convertHTML('Hamburgers < Pizza < Tacos'),
/Hamburgers < Pizza < Tacos/
);
convertHTML("Sixty > twelve") should return the string Sixty > twelve.
assert.match(convertHTML('Sixty > twelve'), /Sixty > twelve/);
convertHTML('Stuff in "quotation marks"') should return the string Stuff in "quotation marks".
assert.match(
convertHTML('Stuff in "quotation marks"'),
/Stuff in "quotation marks"/
);
convertHTML("Schindler's List") should return the string Schindler's List.
assert.match(convertHTML("Schindler's List"), /Schindler's List/);
convertHTML("<>") should return the string <>.
assert.match(convertHTML('<>'), /<>/);
convertHTML("abc") should return the string abc.
assert.strictEqual(convertHTML('abc'), 'abc');
const map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
function convertHTML(str) {
return str.replace(/[&<>"']/g, function(char) {
return map[char];
});
}