Created
March 1, 2017 09:51
-
-
Save underwindfall/1f7edc0be076bec2c2e7d32dede20414 to your computer and use it in GitHub Desktop.
Answers of Es6katas [http://es6katas.org/]
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 4: template strings - String.raw | |
// To do: make all tests pass, leave the asserts unchanged! | |
describe('on tagged template strings you can use the `raw` property like so `s.raw`', function() { | |
it('the `raw` property accesses the string as it was entered', function() { | |
function firstChar(strings) { | |
return strings.raw; | |
} | |
assert.equal(firstChar`\n`, '\\n'); | |
}); | |
it('`raw` can access the backslash of a line-break', function() { | |
function firstCharEntered(strings) { | |
var lineBreak = strings.raw.toString()[0]; | |
return lineBreak; | |
} | |
assert.equal(firstCharEntered`\n`, '\\'); | |
}); | |
describe('`String.raw` as a static function', function(){ | |
it('concats the raw strings', function() { | |
var expected = '\\n'; | |
assert.equal(String.raw`\n`, expected); | |
}); | |
it('two raw-templates-string-backslashes equal two escaped backslashes', function() { | |
const TWO_BACKSLASHES = '\\\\'; | |
assert.equal(String.raw`\\`, TWO_BACKSLASHES); | |
}); | |
it('works on unicodes too', function() { | |
var smilie = '\\u{1F600}'; | |
var actual = String.raw`\u{1F600}`; | |
assert.equal(actual, smilie); | |
}); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment