fluentnode
Version:
Fluent apis for node (based on the concepts used in C#'s FluentSharp
102 lines (99 loc) • 4.44 kB
JavaScript
// Generated by CoffeeScript 1.12.7
(function() {
require('../../src/fluentnode');
describe('| node-native | crypo', function() {
var value;
value = "abc123";
it('add_Random_Chars', function() {
return using(value, function() {
this.add_Random_Chars(1).size().assert_Is(value.size().add(1));
this.add_Random_Chars().size().assert_Above(value.size().add(5));
return this.add_Random_Chars(100).size().assert_Above(value.size().add(80));
});
});
it('add_Random_String', function() {
return using(value, function() {
this.add_Random_String().size().assert_Is(value.size().add(10));
this.add_Random_String(1).size().assert_Is(value.size().add(1));
return this.add_Random_String(100).size().assert_Is(value.size().add(100));
});
});
it('add_Random_Letters', function() {
var char, charSet_Letters, charSet_Numbers, j, len, randomLetters, results;
value.add_Random_Letters(5).size().assert_Is(value.size().add(5));
randomLetters = "".add_Random_Letters(5);
charSet_Numbers = '0123456789';
charSet_Letters = 'abcdefghijklmnopqrstuvwxyz';
results = [];
for (j = 0, len = randomLetters.length; j < len; j++) {
char = randomLetters[j];
(function() {
return charSet_Numbers.assert_Contains(char);
}).assert_Throws();
results.push((function() {
return charSet_Letters.assert_Contains(char);
}).assert_Not_Throws());
}
return results;
});
it('add_5_Random_Letters', function() {
value.add_5_Random_Letters().size().assert_Is(value.size().add(5));
value.add_5_Letters().size().assert_Is(value.size().add(5));
return ''.add_5_Random_Letters.assert_Is(''.add_5_Letters);
});
it('add_Random_Numbers', function() {
var char, charSet_Letters, charSet_Numbers, j, len, randomNumbers, results;
value.add_Random_Numbers(5).size().assert_Is(value.size() + 5);
"".add_Random_Numbers(500).size().assert_Is(500);
randomNumbers = "".add_Random_Numbers(5);
charSet_Numbers = '0123456789';
charSet_Letters = 'abcdefghijklmnopqrstuvwxyz';
results = [];
for (j = 0, len = randomNumbers.length; j < len; j++) {
char = randomNumbers[j];
(function() {
return charSet_Numbers.assert_Contains(char);
}).assert_Not_Throws();
results.push((function() {
return charSet_Letters.assert_Contains(char);
}).assert_Throws());
}
return results;
});
it('checksum', function() {
'1234'.checksum().assert_Is_Not('12345'.checksum());
'1234'.checksum().assert_Is('81dc9bdb52d04dc20036dbd8313ed055');
'admin'.checksum().assert_Is('21232f297a57a5a743894a0e4a801fc3');
'1234'.checksum('sha1').assert_Is('7110eda4d09e062aa5e4a390b0a572ac0d2c0220');
'admin'.checksum('sha1').assert_Is('d033e22ae348aeb5660fc2140aec35850c4da997');
'1234'.checksum('sha256').assert_Is('03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4');
'admin'.checksum('sha256').assert_Is('8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918');
'1234'.checksum('sha512').assert_Is('d404559f602eab6fd602ac7680dacbfaadd13630335e951f097af3900e9de176b6db28512f2e000b9d04fba5133e8b1c6e8df59db3a8ab9d60be4b97cc9e81db');
'admin'.checksum('sha512').assert_Is('c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec');
return (function() {
return 'admin'.checksum('aaa');
}).assert_Throws(function(error) {
return error.message.assert_Is('Digest method not supported');
});
});
it('random_Chars', function() {
var chars, count, i, j, ref, size;
size = 10;
chars = size.random_Chars();
count = 0;
for (i = j = 0, ref = size; 0 <= ref ? j < ref : j > ref; i = 0 <= ref ? ++j : --j) {
chars.charCodeAt(i + 5);
count++;
}
return count.assert_Is(size);
});
it('random_String', function() {
0..random_String().size().assert_Is_Equal_To(10);
1..random_String().size().assert_Is_Equal_To(1);
return 1..random_String().assert_Size_Is(1);
});
return it('random_Letters', function() {
return 10..random_Letters().size().assert_Is_Equal_To(10);
});
});
}).call(this);