aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Cast <[email protected]>2013-05-10 10:32:18 -0700
committerChris Cast <[email protected]>2013-05-10 10:32:18 -0700
commitcce5d927e7e847c780e828972c92113d4cb7199f (patch)
tree0c1c239df7547a9835d4cdcbf26342619f270f5a
parent3c2c44dbe66f8006fc6da319fd63a6fb85888bd6 (diff)
downloadfaker-cce5d927e7e847c780e828972c92113d4cb7199f.tar.xz
faker-cce5d927e7e847c780e828972c92113d4cb7199f.zip
Add range param to lorem.sentence
-rw-r--r--Faker.js9
-rw-r--r--MinFaker.js6
-rw-r--r--examples/js/Faker.js9
-rw-r--r--lib/lorem.js7
-rw-r--r--test/lorem.unit.js18
5 files changed, 34 insertions, 15 deletions
diff --git a/Faker.js b/Faker.js
index c34922eb..3ac04b0e 100644
--- a/Faker.js
+++ b/Faker.js
@@ -17,7 +17,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-/*************** AUTOGENERATED @ 1363758276883 ***************
+/*************** AUTOGENERATED @ 1368206971573 ***************
WARNING: THIS FILE WAS AUTOGENERATED BY THE FAKER BUILD SCRIPT
MODIFYING THIS FILE IS FINE, BUT YOU REALLY SHOULD BE MODIFYING
THE LIBRARY DIRECTLY AND REGENERATING THIS FILE USING BUILD.js!!!!
@@ -239,13 +239,14 @@ Faker.Lorem.words = function (num) {
return Helpers.shuffle(definitions.lorem).slice(0, num);
};
-Faker.Lorem.sentence = function (wordCount) {
+Faker.Lorem.sentence = function (wordCount, range) {
if (typeof wordCount == 'undefined') { wordCount = 3; }
+ if (typeof range == 'undefined') { range = 7; }
// strange issue with the node_min_test failing for captialize, please fix and add this back
- //return this.words(wordCount + Helpers.randomNumber(7)).join(' ').capitalize();
+ //return this.words(wordCount + Helpers.randomNumber(range)).join(' ').capitalize();
- return this.words(wordCount + Faker.random.number(7)).join(' ');
+ return this.words(wordCount + Faker.random.number(range)).join(' ');
};
Faker.Lorem.sentences = function (sentenceCount) {
diff --git a/MinFaker.js b/MinFaker.js
index 4bbcd477..04e66fd7 100644
--- a/MinFaker.js
+++ b/MinFaker.js
@@ -5,9 +5,9 @@ a.random.last_name()+" "+a.random.street_suffix();break;case 1:b=a.random.first_
function(){return e.replaceSymbolWithNumber(a.random.phone_formats())};a.PhoneNumber.phoneNumberFormat=function(a){return e.replaceSymbolWithNumber(c.phone_formats[a])};a.Internet={};a.Internet.email=function(){return a.Helpers.slugify(this.userName())+"@"+a.Helpers.slugify(this.domainName())};a.Internet.userName=function(){var b;switch(a.random.number(2)){case 0:b=a.random.first_name();break;case 1:b=a.random.first_name()+a.random.array_element([".","_"])+a.random.last_name()}return b};a.Internet.domainName=
function(){return this.domainWord()+"."+a.random.domain_suffix()};a.Internet.domainWord=function(){return a.random.first_name().toLowerCase()};a.Internet.ip=function(){for(var a=[],d=0;4>d;d++)a[d]=(254*Math.random()+1).toFixed(0);return a.join(".")};a.Company={};a.Company.suffixes=function(){return["Inc","and Sons","LLC","Group","and Daughters"]};a.Company.companyName=function(b){switch(b?b:a.random.number(3)){case 0:return a.Name.lastName()+" "+this.companySuffix();case 1:return a.Name.lastName()+
"-"+a.Name.lastName();case 2:return a.Name.lastName()+", "+a.Name.lastName()+" and "+a.Name.lastName()}};a.Company.companySuffix=function(){return a.random.array_element(this.suffixes())};a.Company.catchPhrase=function(){return a.random.catch_phrase_adjective()+" "+a.random.catch_phrase_descriptor()+" "+a.random.catch_phrase_noun()};a.Company.bs=function(){return a.random.bs_adjective()+" "+a.random.bs_buzz()+" "+a.random.bs_noun()};a.Lorem={};a.Lorem.words=function(a){"undefined"==typeof a&&(a=3);
-return e.shuffle(c.lorem).slice(0,a)};a.Lorem.sentence=function(b){"undefined"==typeof b&&(b=3);return this.words(b+a.random.number(7)).join(" ")};a.Lorem.sentences=function(a){"undefined"==typeof a&&(a=3);var d=[];for(a;0<a;a--)d.push(this.sentence());return d.join("\n")};a.Lorem.paragraph=function(b){"undefined"==typeof b&&(b=3);return this.sentences(b+a.random.number(3))};a.Lorem.paragraphs=function(a){"undefined"==typeof a&&(a=3);var d=[];for(a;0<a;a--)d.push(this.paragraph());return d.join("\n \r\t")};
-a.Helpers={};a.Helpers.randomNumber=function(b){return a.random.number(b)};a.Helpers.randomize=function(b){return a.random.array_element(b)};a.Helpers.slugify=function(a){return a.replace(/ /g,"-").replace(/[^\w\.\-]+/g,"")};a.Helpers.replaceSymbolWithNumber=function(a,d){void 0===d&&(d="#");for(var c="",e=0;e<a.length;e++)c=a[e]==d?c+Math.floor(10*Math.random()):c+a[e];return c};a.Helpers.shuffle=function(a){for(var c,e,f=a.length;f;c=parseInt(Math.random()*f,10),e=a[--f],a[f]=a[c],a[c]=e);return a};
-a.Helpers.createCard=function(){return{name:a.Name.findName(),username:a.Internet.userName(),email:a.Internet.email(),address:{streetA:a.Address.streetName(),streetB:a.Address.streetAddress(),streetC:a.Address.streetAddress(!0),streetD:a.Address.secondaryAddress(),city:a.Address.city(),ukCounty:a.Address.ukCounty(),ukCountry:a.Address.ukCountry(),zipcode:a.Address.zipCode(),geo:{lat:a.Address.latitude(),lng:a.Address.longitude()}},phone:a.PhoneNumber.phoneNumber(),website:a.Internet.domainName(),
+return e.shuffle(c.lorem).slice(0,a)};a.Lorem.sentence=function(b,d){"undefined"==typeof b&&(b=3);"undefined"==typeof d&&(d=7);return this.words(b+a.random.number(d)).join(" ")};a.Lorem.sentences=function(a){"undefined"==typeof a&&(a=3);var d=[];for(a;0<a;a--)d.push(this.sentence());return d.join("\n")};a.Lorem.paragraph=function(b){"undefined"==typeof b&&(b=3);return this.sentences(b+a.random.number(3))};a.Lorem.paragraphs=function(a){"undefined"==typeof a&&(a=3);var d=[];for(a;0<a;a--)d.push(this.paragraph());
+return d.join("\n \r\t")};a.Helpers={};a.Helpers.randomNumber=function(b){return a.random.number(b)};a.Helpers.randomize=function(b){return a.random.array_element(b)};a.Helpers.slugify=function(a){return a.replace(/ /g,"-").replace(/[^\w\.\-]+/g,"")};a.Helpers.replaceSymbolWithNumber=function(a,d){void 0===d&&(d="#");for(var c="",e=0;e<a.length;e++)c=a[e]==d?c+Math.floor(10*Math.random()):c+a[e];return c};a.Helpers.shuffle=function(a){for(var d,c,e=a.length;e;d=parseInt(Math.random()*e,10),c=a[--e],
+a[e]=a[d],a[d]=c);return a};a.Helpers.createCard=function(){return{name:a.Name.findName(),username:a.Internet.userName(),email:a.Internet.email(),address:{streetA:a.Address.streetName(),streetB:a.Address.streetAddress(),streetC:a.Address.streetAddress(!0),streetD:a.Address.secondaryAddress(),city:a.Address.city(),ukCounty:a.Address.ukCounty(),ukCountry:a.Address.ukCountry(),zipcode:a.Address.zipCode(),geo:{lat:a.Address.latitude(),lng:a.Address.longitude()}},phone:a.PhoneNumber.phoneNumber(),website:a.Internet.domainName(),
company:{name:a.Company.companyName(),catchPhrase:a.Company.catchPhrase(),bs:a.Company.bs()},posts:[{words:a.Lorem.words(),sentence:a.Lorem.sentence(),sentences:a.Lorem.sentences(),paragraph:a.Lorem.paragraph()},{words:a.Lorem.words(),sentence:a.Lorem.sentence(),sentences:a.Lorem.sentences(),paragraph:a.Lorem.paragraph()},{words:a.Lorem.words(),sentence:a.Lorem.sentence(),sentences:a.Lorem.sentences(),paragraph:a.Lorem.paragraph()}]}};a.Helpers.userCard=function(){return{name:a.Name.findName(),username:a.Internet.userName(),
email:a.Internet.email(),address:{street:a.Address.streetName(!0),suite:a.Address.secondaryAddress(),city:a.Address.city(),zipcode:a.Address.zipCode(),geo:{lat:a.Address.latitude(),lng:a.Address.longitude()}},phone:a.PhoneNumber.phoneNumber(),website:a.Internet.domainName(),company:{name:a.Company.companyName(),catchPhrase:a.Company.catchPhrase(),bs:a.Company.bs()}}};a.random={};a.random.number=function(a){return Math.floor(Math.random()*a)};a.random.array_element=function(a){var c=Math.floor(Math.random()*
a.length);return a[c]};a.random.city_prefix=function(){return this.array_element(c.city_prefix)};a.random.city_suffix=function(){return this.array_element(c.city_suffix)};a.random.street_suffix=function(){return this.array_element(c.street_suffix)};a.random.br_state=function(){return this.array_element(c.br_state)};a.random.br_state_abbr=function(){return this.array_element(c.br_state_abbr)};a.random.us_state=function(){return this.array_element(c.us_state)};a.random.us_state_abbr=function(){return this.array_element(c.us_state_abbr)};
diff --git a/examples/js/Faker.js b/examples/js/Faker.js
index c34922eb..3ac04b0e 100644
--- a/examples/js/Faker.js
+++ b/examples/js/Faker.js
@@ -17,7 +17,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-/*************** AUTOGENERATED @ 1363758276883 ***************
+/*************** AUTOGENERATED @ 1368206971573 ***************
WARNING: THIS FILE WAS AUTOGENERATED BY THE FAKER BUILD SCRIPT
MODIFYING THIS FILE IS FINE, BUT YOU REALLY SHOULD BE MODIFYING
THE LIBRARY DIRECTLY AND REGENERATING THIS FILE USING BUILD.js!!!!
@@ -239,13 +239,14 @@ Faker.Lorem.words = function (num) {
return Helpers.shuffle(definitions.lorem).slice(0, num);
};
-Faker.Lorem.sentence = function (wordCount) {
+Faker.Lorem.sentence = function (wordCount, range) {
if (typeof wordCount == 'undefined') { wordCount = 3; }
+ if (typeof range == 'undefined') { range = 7; }
// strange issue with the node_min_test failing for captialize, please fix and add this back
- //return this.words(wordCount + Helpers.randomNumber(7)).join(' ').capitalize();
+ //return this.words(wordCount + Helpers.randomNumber(range)).join(' ').capitalize();
- return this.words(wordCount + Faker.random.number(7)).join(' ');
+ return this.words(wordCount + Faker.random.number(range)).join(' ');
};
Faker.Lorem.sentences = function (sentenceCount) {
diff --git a/lib/lorem.js b/lib/lorem.js
index 7010fca9..16a3aec8 100644
--- a/lib/lorem.js
+++ b/lib/lorem.js
@@ -8,13 +8,14 @@ var lorem = {
return Helpers.shuffle(definitions.lorem).slice(0, num);
},
- sentence: function (wordCount) {
+ sentence: function (wordCount, range) {
if (typeof wordCount == 'undefined') { wordCount = 3; }
+ if (typeof range == 'undefined') { range = 7; }
// strange issue with the node_min_test failing for captialize, please fix and add this back
- //return this.words(wordCount + Helpers.randomNumber(7)).join(' ').capitalize();
+ //return this.words(wordCount + Helpers.randomNumber(range)).join(' ').capitalize();
- return this.words(wordCount + Faker.random.number(7)).join(' ');
+ return this.words(wordCount + Faker.random.number(range)).join(' ');
},
sentences: function (sentenceCount) {
diff --git a/test/lorem.unit.js b/test/lorem.unit.js
index de806ddd..d85cce91 100644
--- a/test/lorem.unit.js
+++ b/test/lorem.unit.js
@@ -35,7 +35,7 @@ describe("lorem.js", function () {
});
describe("sentence()", function () {
- context("when no 'wordCount' param passed in", function () {
+ context("when no 'wordCount' or 'range' param passed in", function () {
it("returns a string of at least three words", function () {
sinon.spy(Faker.Lorem, 'words');
sinon.stub(Faker.random, 'number').returns(2);
@@ -66,6 +66,22 @@ describe("lorem.js", function () {
Faker.random.number.restore();
});
});
+
+ context("when 'wordCount' and 'range' params passed in", function () {
+ it("returns a string of at least the requested number of words", function () {
+ sinon.spy(Faker.Lorem, 'words');
+ sinon.stub(Faker.random, 'number').returns(4);
+ var sentence = Faker.Lorem.sentence(10, 4);
+
+ assert.ok(typeof sentence === 'string');
+ var parts = sentence.split(' ');
+ assert.equal(parts.length, 14); // requested 10 plus stubbed 4.
+ assert.ok(Faker.Lorem.words.calledWith(14));
+
+ Faker.Lorem.words.restore();
+ Faker.random.number.restore();
+ });
+ });
});
describe("sentences()", function () {