diff options
| author | Chris Cast <[email protected]> | 2013-05-10 10:32:18 -0700 |
|---|---|---|
| committer | Chris Cast <[email protected]> | 2013-05-10 10:32:18 -0700 |
| commit | cce5d927e7e847c780e828972c92113d4cb7199f (patch) | |
| tree | 0c1c239df7547a9835d4cdcbf26342619f270f5a | |
| parent | 3c2c44dbe66f8006fc6da319fd63a6fb85888bd6 (diff) | |
| download | faker-cce5d927e7e847c780e828972c92113d4cb7199f.tar.xz faker-cce5d927e7e847c780e828972c92113d4cb7199f.zip | |
Add range param to lorem.sentence
| -rw-r--r-- | Faker.js | 9 | ||||
| -rw-r--r-- | MinFaker.js | 6 | ||||
| -rw-r--r-- | examples/js/Faker.js | 9 | ||||
| -rw-r--r-- | lib/lorem.js | 7 | ||||
| -rw-r--r-- | test/lorem.unit.js | 18 |
5 files changed, 34 insertions, 15 deletions
@@ -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 () { |
