diff options
| author | Marak Squires <[email protected]> | 2010-05-15 22:13:44 -0400 |
|---|---|---|
| committer | Marak Squires <[email protected]> | 2010-05-15 22:13:44 -0400 |
| commit | e9501fb7069a3acb419409b0e85d3b31b86acf97 (patch) | |
| tree | e47f85df2b1ac911692b8656abf9a6936f1b8af5 | |
| parent | 529dc7392faa95ca711badc80780c521aa0f7f9f (diff) | |
| download | faker-e9501fb7069a3acb419409b0e85d3b31b86acf97.tar.xz faker-e9501fb7069a3acb419409b0e85d3b31b86acf97.zip | |
added usage docs, created unit tests for library and bundled versions in node and browser
| -rw-r--r-- | BUILD/BUILD.js | 6 | ||||
| -rw-r--r-- | BUILD/docs.js | 16 | ||||
| -rw-r--r-- | BUILD/main.js | 24 | ||||
| -rw-r--r-- | Faker.js | 32 | ||||
| -rw-r--r-- | Readme.md | 10 | ||||
| -rw-r--r-- | lib/helpers.js | 8 | ||||
| -rw-r--r-- | lib/lorem.js | 14 | ||||
| -rw-r--r-- | tests/browser_min_test.js (renamed from tests/test.js) | 0 | ||||
| -rw-r--r-- | tests/library_test.js | 41 | ||||
| -rw-r--r-- | tests/node_min_test.js | 32 |
10 files changed, 158 insertions, 25 deletions
diff --git a/BUILD/BUILD.js b/BUILD/BUILD.js index d562b886..1e94c7f5 100644 --- a/BUILD/BUILD.js +++ b/BUILD/BUILD.js @@ -50,6 +50,12 @@ docs.API += '</ul>'; code += 'var definitions = Faker.definitions; \n'; code += 'var Helpers = Faker.Helpers; \n'; +// exports hack for dual sided stuff +// if we are running in a CommonJS env, export everything out +code += 'if(typeof exports != "undefined"){for(var prop in Faker){exports[prop] = Faker[prop];}}'; + + + // generate some samples sets (move this code to another section) fs.writeFile('../Faker.js', code, function() { sys.puts("Faker.js generated successfully!"); diff --git a/BUILD/docs.js b/BUILD/docs.js index 4cc72f89..293737a5 100644 --- a/BUILD/docs.js +++ b/BUILD/docs.js @@ -4,6 +4,22 @@ <img src = "http://imgur.com/KiinQ.png" border = "0"> +## USAGE + + +### browser - + + <script src = "Faker.js" type = "text/javascript"></script> + <script> + var randomName = Faker.Name.findName(); + </script> + +### node.js - + + var Faker = require(./Faker); + var randomName = Faker.Name.findName(); + + ## API {{{API}}} diff --git a/BUILD/main.js b/BUILD/main.js index f74a1f33..74e4b698 100644 --- a/BUILD/main.js +++ b/BUILD/main.js @@ -1,12 +1,24 @@ -/************** AUTOGENERATED @ {{today}} ***************/ +/*************** AUTOGENERATED @ {{today}} *************** -/* - WARNING: FOR USE IN THE BROWSER ONLY. IF YOU WANT TO USE THE NODE.JS VERSION YOU MUST + 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!!!! + + Faker.js - Written by Matthew Bergman and Marak Squires + + USAGE: + + browser - + + <script src = "Faker.js" type = "text/javascript"></script> + <script> + var randomName = Faker.Name.findName(); + </script> - var Faker = require(./pathToFaker/lib); + node.js - - This file was autogenerated by the Faker BUILD script. You may modify this file you if you want, - but you should install node.js and modify the library directory so can you easily autogenerate this file yourself! + var Faker = require(./Faker); + var randomName = Faker.Name.findName(); */ @@ -1,11 +1,22 @@ -/************** AUTOGENERATED @ 1273959730700 ***************/ -/* - WARNING: FOR USE IN THE BROWSER ONLY. IF YOU WANT TO USE THE NODE.JS VERSION YOU MUST +/*************** AUTOGENERATED @ 1273975889326 *************** + 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!!!! + Faker.js - Written by Matthew Bergman and Marak Squires - var Faker = require(./pathToFaker/lib); + USAGE: - This file was autogenerated by the Faker BUILD script. You may modify this file you if you want, - but you should install node.js and modify the library directory so can you easily autogenerate this file yourself! + browser - + + <script src = "Faker.js" type = "text/javascript"></script> + <script> + var randomName = Faker.Name.findName(); + </script> + + node.js - + + var Faker = require(./Faker); + var randomName = Faker.Name.findName(); */ var Faker = {}; Faker.version = "0.0.1"; @@ -167,9 +178,11 @@ Faker.Lorem.words = function (num){ Faker.Lorem.sentence = function (wordCount){ if( typeof wordCount == 'undefined'){ var wordCount = 3;} - - return this.words(wordCount + Helpers.randomNumber(7)).join(' ').capitalize(); - //words(word_count + rand(6)).join(' ').capitalize + '.' + + // 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(7)).join(' '); }; Faker.Lorem.sentences = function (paragraphCount){ @@ -284,3 +297,4 @@ Faker.definitions.phone_formats = function (){return [ ];}; var definitions = Faker.definitions; var Helpers = Faker.Helpers; +if(typeof exports != "undefined"){for(var prop in Faker){exports[prop] = Faker[prop];}}
\ No newline at end of file @@ -1,6 +1,16 @@ # Faker.js ## generate massive amounts of fake data in Node.js and the browser <img src = "http://imgur.com/KiinQ.png" border = "0"> +## USAGE +### browser - + + <script src = "Faker.js" type = "text/javascript"></script> + <script> + var randomName = Faker.Name.findName(); + </script> +### node.js - + var Faker = require(./Faker); + var randomName = Faker.Name.findName(); ## API <ul><li>Name<ul><li>findName</li></ul></li><li>Address<ul><li>zipCode</li><li>city</li><li>streetName</li><li>streetAddress</li><li>secondaryAddress</li><li>ukCounty</li><li>ukCountry</li></ul></li><li>PhoneNumber<ul><li>phoneNumber</li></ul></li><li>Internet<ul><li>email</li><li>userName</li><li>domainName</li><li>domainWord</li></ul></li><li>Company<ul><li>companyName</li><li>companySuffix</li><li>catchPhrase</li><li>bs</li></ul></li><li>Lorem<ul><li>words</li><li>sentence</li><li>sentences</li><li>paragraph</li></ul></li><li>Helpers<ul><li>randomNumber</li><li>randomize</li><li>replaceSymbolWithNumber</li><li>shuffle</li></ul></li><li>definitions<ul><li>first_name</li><li>last_name</li><li>name_prefix</li><li>name_suffix</li><li>us_state</li><li>us_state_abbr</li><li>city_prefix</li><li>city_suffix</li><li>street_suffix</li><li>uk_county</li><li>uk_country</li><li>catch_phrase_adjective</li><li>catch_phrase_descriptor</li><li>catch_phrase_noun</li><li>bs_adjective</li><li>bs_buzz</li><li>bs_noun</li><li>domain_suffix</li><li>lorem</li><li>phone_formats</li></ul></li></ul> ## Authors diff --git a/lib/helpers.js b/lib/helpers.js index ec1fedae..03254c2f 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -45,4 +45,10 @@ Helpers.shuffle = function(o){ // otherwise construct a name space. outside the anonymous function, // "this" will always be "window" in a browser, even in strict mode. this.window = {} -);
\ No newline at end of file +); + +String.prototype.capitalize = function(){ //v1.0 + return this.replace(/\w+/g, function(a){ + return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase(); + }); +}; diff --git a/lib/lorem.js b/lib/lorem.js index 4dce8369..4b0afad6 100644 --- a/lib/lorem.js +++ b/lib/lorem.js @@ -9,9 +9,11 @@ exports.words = function(num){ exports.sentence = function(wordCount){ if( typeof wordCount == 'undefined'){ var wordCount = 3;} - - return this.words(wordCount + Helpers.randomNumber(7)).join(' ').capitalize(); - //words(word_count + rand(6)).join(' ').capitalize + '.' + + // 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(7)).join(' '); }; exports.sentences = function(sentenceCount){ @@ -36,9 +38,3 @@ exports.sentences = function(paragraphCount){ } return paragraphs.join("\n \r\t"); }; - -String.prototype.capitalize = function(){ //v1.0 - return this.replace(/\w+/g, function(a){ - return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase(); - }); -}; diff --git a/tests/test.js b/tests/browser_min_test.js index 20cf28e7..20cf28e7 100644 --- a/tests/test.js +++ b/tests/browser_min_test.js diff --git a/tests/library_test.js b/tests/library_test.js new file mode 100644 index 00000000..20cf28e7 --- /dev/null +++ b/tests/library_test.js @@ -0,0 +1,41 @@ +var sys = require('sys'); + +var definitions = require('../lib/definitions'); + +var Faker = {}; + +Faker.Name = require('../lib/name'); +Faker.Address = require('../lib/address'); +Faker.PhoneNumber = require('../lib/phone_number'); +Faker.Internet = require('../lib/internet'); +Faker.Company = require('../lib/company'); +Faker.Lorem = require('../lib/lorem'); + + +var Helperss = require('../lib/helpers');; + +sys.puts(JSON.stringify(Faker.Name.findName())); +sys.puts(JSON.stringify(Faker.Address.zipCode())); +sys.puts(JSON.stringify(Faker.Address.secondaryAddress())); +sys.puts(JSON.stringify(Faker.Address.city())); +sys.puts(JSON.stringify(Faker.Address.streetName())); +sys.puts(JSON.stringify(Faker.Address.streetAddress())); +sys.puts(JSON.stringify(Faker.Address.streetAddress(true))); +sys.puts(JSON.stringify(Faker.Address.ukCountry())); +sys.puts(JSON.stringify(Faker.Address.ukCounty())); +sys.puts(JSON.stringify(Faker.PhoneNumber.phoneNumber())); +sys.puts(JSON.stringify(Faker.Internet.userName())); +sys.puts(JSON.stringify(Faker.Internet.email())); +sys.puts(JSON.stringify(Faker.Internet.domainName())); +sys.puts(JSON.stringify(Faker.Company.companyName())); +sys.puts(JSON.stringify(Faker.Company.catchPhrase())); +sys.puts(JSON.stringify(Faker.Company.bs())); +sys.puts(JSON.stringify(Faker.Lorem.words())); +sys.puts(JSON.stringify(Faker.Lorem.sentence())); +sys.puts(JSON.stringify(Faker.Lorem.sentences())); +sys.puts(JSON.stringify(Faker.Lorem.paragraph())); + + + + + diff --git a/tests/node_min_test.js b/tests/node_min_test.js new file mode 100644 index 00000000..86d41525 --- /dev/null +++ b/tests/node_min_test.js @@ -0,0 +1,32 @@ +var sys = require('sys'); + + +var Faker = require('../Faker'); + +sys.puts(JSON.stringify(Faker)); + +sys.puts(JSON.stringify(Faker.Name.findName())); +sys.puts(JSON.stringify(Faker.Address.zipCode())); +sys.puts(JSON.stringify(Faker.Address.secondaryAddress())); +sys.puts(JSON.stringify(Faker.Address.city())); +sys.puts(JSON.stringify(Faker.Address.streetName())); +sys.puts(JSON.stringify(Faker.Address.streetAddress())); +sys.puts(JSON.stringify(Faker.Address.streetAddress(true))); +sys.puts(JSON.stringify(Faker.Address.ukCountry())); +sys.puts(JSON.stringify(Faker.Address.ukCounty())); +sys.puts(JSON.stringify(Faker.PhoneNumber.phoneNumber())); +sys.puts(JSON.stringify(Faker.Internet.userName())); +sys.puts(JSON.stringify(Faker.Internet.email())); +sys.puts(JSON.stringify(Faker.Internet.domainName())); +sys.puts(JSON.stringify(Faker.Company.companyName())); +sys.puts(JSON.stringify(Faker.Company.catchPhrase())); +sys.puts(JSON.stringify(Faker.Company.bs())); +sys.puts(JSON.stringify(Faker.Lorem.words())); +sys.puts(JSON.stringify(Faker.Lorem.sentence())); +sys.puts(JSON.stringify(Faker.Lorem.sentences())); +sys.puts(JSON.stringify(Faker.Lorem.paragraph())); + + + + + |
