UNPKG

fluentnode

Version:

Fluent apis for node (based on the concepts used in C#'s FluentSharp

290 lines (285 loc) 11.6 kB
// Generated by CoffeeScript 1.12.7 (function() { var expect; require('../../src/fluentnode'); expect = require('chai').expect; describe('| js-native | String', function() { var value; value = "abc123"; it('append', function() { return using(value, function() { this.append().assert_Is(value); this.append('').assert_Is(value); this.append(null).assert_Is(value); this.append('a').assert_Is(value + 'a'); this.append('abc').assert_Is(value + 'abc'); this.append('abc123').assert_Is(value + 'abc123'); return this.append.assert_Is(this.add); }); }); it('after', function() { value.after.assert_Is_Function(); value.after('3').assert_Is(''); value.after('2').assert_Is('3'); value.after('123').assert_Is(''); value.after('b').assert_Is('c123'); value.after('bc1').assert_Is('23'); value.after('xxx').assert_Is(''); value.after(null).assert_Is(''); value.after('').assert_Is('abc123'); 'abb'.after('b').assert_Is('b'); 'a.b'.after('.').assert_Is('b'); return 'a.b.c'.after('.').assert_Is('b.c'); }); it('after_Last', function() { value.after_Last.assert_Is_Function(); value.after_Last('3').assert_Is(''); value.after_Last('2').assert_Is('3'); value.after_Last('123').assert_Is(''); value.after_Last('b').assert_Is('c123'); value.after_Last('bc1').assert_Is('23'); value.after_Last('xxx').assert_Is(''); value.after_Last(null).assert_Is(''); value.after_Last('').assert_Is(''); 'abb'.after_Last('b').assert_Is(''); 'a.b'.after_Last('.').assert_Is('b'); return 'a.b.c'.after_Last('.').assert_Is('c'); }); it('before', function() { value.before.assert_Is_Function(); value.before('3').assert_Is('abc12'); value.before('2').assert_Is('abc1'); value.before('123').assert_Is('abc'); value.before('b').assert_Is('a'); value.before('bc1').assert_Is('a'); value.before('xxx').assert_Is(''); value.before('').assert_Is(''); value.before(null).assert_Is(''); 'abb'.before('b').assert_Is('a'); 'a.b'.before('.').assert_Is('a'); return 'a.b.c'.before('.').assert_Is('a'); }); it('before_Last', function() { value.before_Last.assert_Is_Function(); value.before_Last('3').assert_Is('abc12'); value.before_Last('2').assert_Is('abc1'); value.before_Last('123').assert_Is('abc'); value.before_Last('b').assert_Is('a'); value.before_Last('bc1').assert_Is('a'); value.before_Last('xxx').assert_Is(''); value.before_Last(null).assert_Is(''); value.before_Last('').assert_Is('abc123'); 'abb'.before_Last('b').assert_Is('ab'); 'a.b'.before_Last('.').assert_Is('a'); return 'a.b.c'.before_Last('.').assert_Is('a.b'); }); it('contains', function() { value.contains.assert_Is_Function(); value.contains('3').assert_Is_True(); value.contains('2').assert_Is_True(); value.contains('123').assert_Is_True(); value.contains(value).assert_Is_True(); value.contains(value + '1').assert_Is_False(); value.contains('1' + value).assert_Is_False(); value.contains(['1']).assert_Is_True(); value.contains(['1', '2']).assert_Is_True(); value.contains(['1', 'abc1']).assert_Is_True(); value.contains(['d', 'abc1']).assert_Is_False(); value.contains(/a.c/).assert_Is_True(); value.contains(/1.3/).assert_Is_True(); value.contains(/a.*3/).assert_Is_True(); value.contains(/ab.1/).assert_Is_True(); return value.contains(/ac.2/).assert_Is_False(); }); it('ends_With', function() { return using(value, function() { this.ends_With.assert_Is_Function(); this.ends_With('3').assert_Is_True(); this.ends_With('2').assert_Is_False(); this.ends_With('123').assert_Is_True(); this.ends_With(value).assert_Is_True(); this.ends_With(value + '1').assert_Is_False(); this.ends_With('1' + value).assert_Is_False(); this.ends_With('').assert_Is_False(); this.ends_With(null).assert_Is_False(); this.ends_With(void 0).assert_Is_False(); return this.assert_Is(value); }); }); it('is', function() { 'a'.is('a').assert_True(); 'a'.is('b').assert_False(); 'b'.is('a').assert_False(); ''.is('').assert_True(); return ''.is('a').assert_False(); }); it('isnt, is_Not', function() { 'a'.is_Not('a').assert_False(); 'a'.is_Not('b').assert_True(); 'b'.is_Not('a').assert_True(); ''.is_Not('').assert_False(); ''.is_Not('a').assert_True(); return ''.is_Not.assert_Is(''.isnt); }); it('line', function() { return "abcdefgf".line().assert_Is(['abcdefgf\n']); }); it('lines', function() { "abcdefgf".lines().assert_Is(['abcdefgf']); "a\nd\ngf".lines().assert_Is(['a', 'd', 'gf']); "a\r\n_gf".lines().assert_Is(['a', '_gf']); "a\n\r_gf".lines().assert_Is(['a', '', '_gf']); "a\u2028f".lines().assert_Is(['a', 'f']); "a\u2029f".lines().assert_Is(['a', 'f']); "".lines().assert_Is(['']); "\r\n\n\r\u2028\u2029".lines().assert_Is(['', '', '', '', '', '']); "1\r\n2\n3\r4\u20285\u20296".lines().assert_Is(['1', '2', '3', '4', '5', '6']); return ''.lines.assert_Is(''.split_Lines); }); it('lower', function() { expect(value.lower).to.be.an('Function'); expect(value.lower()).to.equal(value.toLowerCase()); return expect(value.lower().upper()).to.equal(value.toUpperCase()); }); it('not_Contains', function() { value.not_Contains.assert_Is_Function(); value.not_Contains('3').assert_Is_False(); value.not_Contains('2').assert_Is_False(); value.not_Contains('123').assert_Is_False(); value.not_Contains(value).assert_Is_False(); value.not_Contains(value + '1').assert_Is_True(); return value.not_Contains('1' + value).assert_Is_True(); }); it('not_Starts_With', function() { return using(value, function() { this.not_Starts_With.assert_Is_Function(); this.not_Starts_With('a').assert_Is_False(); this.not_Starts_With('b').assert_Is_True(); this.not_Starts_With('abc').assert_Is_False(); this.not_Starts_With(value).assert_Is_False(); this.not_Starts_With(this + 'a').assert_Is_True(); this.not_Starts_With('a' + this).assert_Is_True(); this.not_Starts_With('').assert_Is_True(); return this.assert_Is(this); }); }); it('only_Letters', function() { 'aaa'.only_Letters().assert_Is('aaa'); 'aAa'.only_Letters().assert_Is('aAa'); 'aaa'.only_Letters().assert_Is_Not('bbb'); 'a 1'.only_Letters().assert_Is('a--'); 'A!"'.only_Letters().assert_Is('A--'); '/<>'.only_Letters().assert_Is('---'); 'abcd-ABCD_1234.<h1>*!@{}[]'.only_Letters().assert_Is('abcd-ABCD-------h---------'); return '!@£$%^&*(){}:"|<>?[];\'\,/'.only_Letters().assert_Is('-'.repeat(24)); }); it('only_Numbers', function() { '1aa'.only_Numbers().assert_Is('1--'); '2Aa'.only_Numbers().assert_Is('2--'); '123'.only_Numbers().assert_Is('123'); 'aaa'.only_Numbers().assert_Is_Not('bbb'); '1 '.only_Numbers().assert_Is('1--'); 'A1"'.only_Numbers().assert_Is('-1-'); '/<>'.only_Numbers().assert_Is('---'); 'abcd-ABCD_1234.<h1>*!@{}[]'.only_Numbers().assert_Is('----------1234---1--------'); return '!@£$%^&*(){}:"|<>?[];\'\,/'.only_Numbers().assert_Is('-'.repeat(24)); }); it('remove', function() { return using(value, function() { this.remove('a').assert_Is('bc123'); this.remove('b').assert_Is('ac123'); this.remove('abc').assert_Is('123'); this.remove('123').assert_Is('abc'); (this + this).remove('a').assert_Is('bc123'.twice()); return (this + this).remove('bc12').assert_Is('a3'.twice()); }); }); it('repeat', function() { 'a'.repeat(0).assert_Is(''); 'a'.repeat(1).assert_Is('a'); 'a'.repeat(2).assert_Is('aa'); 'a'.repeat(5).assert_Is('aaaaa'); 'ab'.repeat(5).assert_Is('ababababab'); ''.repeat(5).assert_Is(''); 'a'.repeat('a').assert_Is(''); return 'a'.repeat(null).assert_Is(''); }); it('size', function() { expect(value.size).to.be.an('Function'); expect(''.size()).to.equal(0); expect(value.size()).to.equal(6); return expect(value.append('abc').size()).to.equal(9); }); it('starts_With', function() { return using(value, function() { this.starts_With.assert_Is_Function(); this.starts_With('a').assert_Is_True(); this.starts_With('b').assert_Is_False(); this.starts_With('abc').assert_Is_True(); this.starts_With(value).assert_Is_True(); this.starts_With(this + 'a').assert_Is_False(); this.starts_With('a' + this).assert_Is_False(); this.starts_With('').assert_Is_False(); return this.assert_Is(this); }); }); it('to_Safe_String', function() { 'aaa'.to_Safe_String().assert_Is('aaa'); 'aaa'.to_Safe_String().assert_Is_Not('bbb'); 'a '.to_Safe_String().assert_Is('a--'); 'a!"'.to_Safe_String().assert_Is('a--'); '/<>'.to_Safe_String().assert_Is('---'); 'abcd-ABCD_1234.<h1>*!@{}[]'.to_Safe_String().assert_Is('abcd-abcd_1234.-h1--------'); return '!@£$%^&*(){}:"|<>?[];\'\,/'.to_Safe_String().assert_Is('-'.repeat(24)); }); it('trim', function() { value.trim.assert_Is_Function(); value.trim().assert_Is(value); 'a 1'.trim().assert_Is('a 1'); 'a1 '.trim().assert_Is('a1'); ' 1 '.trim().assert_Is('1'); ' '.trim().assert_Is(''); 'a1 '.trim().assert_Is_Not('a 1'); ' 1 '.trim().assert_Is_Not('a 1'); return ' '.trim().assert_Is_Not('a 1'); }); it('twice', function() { return using(value, function() { this.twice().assert_Is(this + this); 'a'.twice().assert_Is('aa'); return ''.twice().assert_Is(''); }); }); it('json_Parse', function() { '{ "a" : 42 }'.json_Parse().assert_Is({ a: '42' }); "{}".json_Parse().assert_Is({}); ''.json_Parse().assert_Is({}); 'aaaa'.json_Parse().assert_Is({}); return '{a:12}'.json_Parse().assert_Is({}); }); it('json_Valid', function() { '{ "a" : 42 }'.json_Valid().assert_True; "{}".json_Valid().assert_True; ''.json_Valid().assert_False; 'aaaa'.json_Valid().assert_False; return '{a:12}'.json_Valid().assert_False; }); return it('is_Local_Url', function() { ''.is_Local_Url().assert_Is_False(); '//a/..'.is_Local_Url().assert_Is_False(); '//a'.is_Local_Url().assert_Is_False(); '/\\abc'.is_Local_Url().assert_Is_False(); 'https://foo/bar'.is_Local_Url().assert_Is_False(); 'http://foo/bar'.is_Local_Url().assert_Is_False(); 'foo/bar'.is_Local_Url().assert_Is_False(); 'file:///c:/path/to/the%20f.txt'.is_Local_Url().assert_Is_False(); '////host/share/dir/file.txt'.is_Local_Url().assert_Is_False(); 'null'.is_Local_Url().assert_Is_False(); '%2fAccount%2fChangePassword%2f'.is_Local_Url().assert_Is_True(); '~/foo/bar'.is_Local_Url().assert_Is_True(); return '/foo/bar'.is_Local_Url().assert_Is_True(); }); }); }).call(this);