aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarak Squires <[email protected]>2010-05-15 22:13:44 -0400
committerMarak Squires <[email protected]>2010-05-15 22:13:44 -0400
commite9501fb7069a3acb419409b0e85d3b31b86acf97 (patch)
treee47f85df2b1ac911692b8656abf9a6936f1b8af5
parent529dc7392faa95ca711badc80780c521aa0f7f9f (diff)
downloadfaker-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.js6
-rw-r--r--BUILD/docs.js16
-rw-r--r--BUILD/main.js24
-rw-r--r--Faker.js32
-rw-r--r--Readme.md10
-rw-r--r--lib/helpers.js8
-rw-r--r--lib/lorem.js14
-rw-r--r--tests/browser_min_test.js (renamed from tests/test.js)0
-rw-r--r--tests/library_test.js41
-rw-r--r--tests/node_min_test.js32
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();
*/
diff --git a/Faker.js b/Faker.js
index 24241b35..aebbb32d 100644
--- a/Faker.js
+++ b/Faker.js
@@ -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
diff --git a/Readme.md b/Readme.md
index ba5898e8..874f6511 100644
--- a/Readme.md
+++ b/Readme.md
@@ -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()));
+
+
+
+
+