Merge pull request #613 from commenthol/pad

[FEATURE] pad - string padding
This commit is contained in:
Angelos Chalaris
2018-02-26 13:53:09 +02:00
committed by GitHub
4 changed files with 34 additions and 0 deletions

17
snippets/pad.md Normal file
View File

@ -0,0 +1,17 @@
### pad
Pads a string on both sides with the specified character, if it's shorter than the specified length.
Use `String.padStart()` and `String.padEnd()` to pad both sides of the given string.
Omit the third argument, `char`, to use the whitespace character as the default padding character.
```js
const pad = (str, length, char = ' ') =>
str.padStart((str.length + length) / 2, char).padEnd(length, char);
```
```js
pad('cat', 8); // ' cat '
pad(String(42), 6, '0'); // '004200'
pad('foobar', 3); // 'foobar'
```

View File

@ -178,6 +178,7 @@ onUserInputChange:browser,event,advanced
orderBy:object,array
over:adapter,function
overArgs:adapter,function
pad:string
palindrome:string
parseCookie:utility,string
partial:function

3
test/pad/pad.js Normal file
View File

@ -0,0 +1,3 @@
const pad = (string, length = 8, char = ' ') =>
string.padStart((string.length + length) / 2, char).padEnd(length, char);
module.exports = pad;

13
test/pad/pad.test.js Normal file
View File

@ -0,0 +1,13 @@
const test = require('tape');
const pad = require('./pad.js');
test('Testing pad', (t) => {
//For more information on all the methods supported by tape
//Please go to https://github.com/substack/tape
t.true(typeof pad === 'function', 'pad is a Function');
t.equal(pad('cat'), ' cat ', 'cat is padded on both sides');
t.equal(pad('cat').length, 8, 'length of string is 8');
t.equal(pad(String(42), 6, '0'), '004200', 'pads 42 with "0"');
t.equal(pad('foobar', 3), 'foobar', 'does not truncates if string exceeds length');
t.end();
});