File: test.js

package info (click to toggle)
node-pascalcase 1.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 112 kB
  • sloc: javascript: 60; makefile: 2
file content (55 lines) | stat: -rw-r--r-- 2,034 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
'use strict';

require('mocha');
const assert = require('assert').strict;
const pascalcase = require('.');

describe('pascalcase', () => {
  it('should uppercase a single character string', () => {
    assert.equal(pascalcase('a'), 'A');
    assert.equal(pascalcase('Z'), 'Z');
  });

  it('should work with spaces', () => {
    assert.equal(pascalcase('foo bar baz'), 'FooBarBaz');
    assert.equal(pascalcase('foo     baz'), 'FooBaz');
    assert.equal(pascalcase('  foo  bar   baz  '), 'FooBarBaz');
  });

  it('should work with numbers', () => {
    assert.equal(pascalcase(3), '3');
    assert.equal(pascalcase('foo2bar5baz'), 'Foo2bar5baz');
    assert.equal(pascalcase('foo 2 bar 5 baz'), 'Foo2Bar5Baz');
  });

  it('should not lowercase existing camelcasing', () => {
    assert.equal(pascalcase('fooBarBaz'), 'FooBarBaz');
    assert.equal(pascalcase('FooBarBaz'), 'FooBarBaz');
    assert.equal(pascalcase(' FooBarBaz'), 'FooBarBaz');
    assert.equal(pascalcase(' fooBarBaz'), 'FooBarBaz');
  });

  it('should remove non-word-characters', () => {
    assert.equal(pascalcase('foo_bar-baz'), 'FooBarBaz');
    assert.equal(pascalcase('foo.bar.baz'), 'FooBarBaz');
    assert.equal(pascalcase('foo/bar/baz'), 'FooBarBaz');
    assert.equal(pascalcase('foo[bar)baz'), 'FooBarBaz');
    assert.equal(pascalcase('#foo+bar*baz'), 'FooBarBaz');
    assert.equal(pascalcase('$foo~bar`baz'), 'FooBarBaz');
    assert.equal(pascalcase('_foo_bar-baz-'), 'FooBarBaz');
    assert.equal(pascalcase('_A_B_c-'), 'ABC');
  });

  it('should return empty string when value null or undefined', () => {
    assert.equal(pascalcase(null), '');
    assert.equal(pascalcase(), '');
  });

  it('should call .toString() when value is not a primitive', () => {
    assert.equal(pascalcase(['one', 'two', 'three']), 'OneTwoThree');
    assert.equal(pascalcase([]), '');
    assert.equal(pascalcase(function foo_bar() {}), 'FunctionFooBar');
    assert.equal(pascalcase({}), 'ObjectObject');
    assert.equal(pascalcase(/foo/), 'Foo');
  });
});