faker 0.9.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
2
 
3
3
  class TestFakerName < Test::Unit::TestCase
4
4
 
@@ -0,0 +1,38 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ class TestFakerStreet < Test::Unit::TestCase
4
+ def setup
5
+ shire = {
6
+ :faker => {
7
+ :address => {
8
+ :street_name => ['#{street_prefix} #{street_root} #{street_suffix}'],
9
+ :street_prefix => ["Wide"],
10
+ :street_root => ["Cheerful"],
11
+ :street_suffix => ["Path"],
12
+ :secondary_address => ["(Green Door)"],
13
+ :street_address => ['#{street_name} #{building_number}'],
14
+ :building_number => ["#"],
15
+ }
16
+ }
17
+ }
18
+ I18n.backend.store_translations(:shire, shire)
19
+ end
20
+
21
+ def test_street_name_supports_flexible_formats
22
+ I18n.with_locale(:shire) do
23
+ assert_equal "Wide Cheerful Path", Faker::Address.street_name
24
+ end
25
+ end
26
+
27
+ def test_street_address_supports_flexible_formats
28
+ I18n.with_locale(:shire) do
29
+ assert_match(/Wide Cheerful Path \d/, Faker::Address.street_address)
30
+ end
31
+ end
32
+
33
+ def test_street_address_optionally_provides_secondary_address
34
+ I18n.with_locale(:shire) do
35
+ assert_match(/Wide Cheerful Path \d \(Green Door\)/, Faker::Address.street_address(:include_secondary))
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,56 @@
1
+ require File.dirname(__FILE__) + '/test_helper.rb'
2
+
3
+ module Faker
4
+ class Foodie < Base
5
+ flexible :chow
6
+ end
7
+ end
8
+
9
+ class TestFlexible < Test::Unit::TestCase
10
+
11
+ def setup
12
+ I18n.backend.store_translations(:xx, :faker => {:chow => {:yummie => [:fudge, :chocolate, :caramel], :taste => "delicious"}})
13
+ I18n.backend.store_translations(:home, :faker => {:address => {:birthplace => [:bed, :hospital, :airplane]}})
14
+ I18n.backend.store_translations(:kindergarden, :faker => {:name => {:girls_name => [:alice, :cheryl, :tatiana]}})
15
+ I18n.backend.store_translations(:work, :faker => {:company => {:do_stuff => [:work, :work, :work]}})
16
+ end
17
+
18
+ def test_flexible_multiple_values
19
+ I18n.with_locale(:xx) do
20
+ actual = Faker::Foodie.yummie
21
+ assert [:fudge, :chocolate, :caramel].include? actual
22
+ end
23
+ end
24
+
25
+ def test_flexible_single_value
26
+ I18n.with_locale(:xx) do
27
+ assert_equal "delicious", Faker::Foodie.taste
28
+ end
29
+ end
30
+
31
+ def test_raises_no_method_error
32
+ I18n.with_locale(:xx) do
33
+ assert_raise(NoMethodError) do
34
+ Faker::Foodie.eeew
35
+ end
36
+ end
37
+ end
38
+
39
+ def test_address_is_flexible
40
+ I18n.with_locale(:home) do
41
+ assert [:bed, :hospital, :airplane].include? Faker::Address.birthplace
42
+ end
43
+ end
44
+
45
+ def test_name_is_flexible
46
+ I18n.with_locale(:kindergarden) do
47
+ assert [:alice, :cheryl, :tatiana].include? Faker::Name.girls_name
48
+ end
49
+ end
50
+
51
+ def test_company_is_flexible
52
+ I18n.with_locale(:work) do
53
+ assert Faker::Company.do_stuff == :work
54
+ end
55
+ end
56
+ end
@@ -1,3 +1,3 @@
1
1
  require 'test/unit'
2
2
  require 'rubygems'
3
- require File.dirname(__FILE__) + '/../lib/faker'
3
+ require File.expand_path(File.dirname(__FILE__) + '/../lib/faker')
@@ -0,0 +1,35 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb')
2
+
3
+ LoadedYaml = ['en', 'en-bork'].inject({}) do |h, locale|
4
+ h[locale] = YAML.load_file(File.expand_path(File.dirname(__FILE__) + "/../lib/locales/#{locale}.yml"))[locale]['faker']
5
+ h
6
+ end
7
+
8
+ class TestLocale < Test::Unit::TestCase
9
+ def teardown
10
+ Faker::Config.locale = nil
11
+ end
12
+
13
+ def test_locale_separate_from_i18n
14
+ I18n.locale = :en
15
+ Faker::Config.locale = :de
16
+ assert Faker::PhoneNumber.phone_number.match(/\(0\d+\) \d+|\+49-\d+-\d+/)
17
+ assert Faker::Address.street_name.match(//)
18
+ end
19
+
20
+ def test_configured_locale_translation
21
+ Faker::Config.locale = 'en-bork'
22
+ assert_equal Faker::Base.translate('faker.lorem.words').first, LoadedYaml['en-bork']['lorem']['words'].first
23
+ end
24
+
25
+ def test_locale_override_when_calling_translate
26
+ Faker::Config.locale = 'en-bork'
27
+ assert_equal Faker::Base.translate('faker.lorem.words', :locale => :en).first, LoadedYaml['en']['lorem']['words'].first
28
+ end
29
+
30
+ def test_translation_fallback
31
+ Faker::Config.locale = 'en-bork'
32
+ assert_nil LoadedYaml['en-bork']['name']
33
+ assert_equal Faker::Base.translate('faker.name.first_name').first, LoadedYaml['en']['name']['first_name'].first
34
+ end
35
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faker
3
3
  version: !ruby/object:Gem::Version
4
- hash: 49
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
+ - 1
8
+ - 0
7
9
  - 0
8
- - 9
9
- - 5
10
- version: 0.9.5
10
+ version: 1.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Benjamin Curtis
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-27 00:00:00 -08:00
18
+ date: 2011-09-08 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -53,16 +53,28 @@ files:
53
53
  - lib/faker/phone_number.rb
54
54
  - lib/faker/version.rb
55
55
  - lib/locales/de-ch.yml
56
+ - lib/locales/de.yml
57
+ - lib/locales/en-au.yml
58
+ - lib/locales/en-bork.yml
59
+ - lib/locales/en-ca.yml
56
60
  - lib/locales/en-gb.yml
57
61
  - lib/locales/en-us.yml
58
62
  - lib/locales/en.yml
63
+ - lib/locales/nl.yml
64
+ - lib/locales/no-nb.yml
65
+ - lib/locales/pt-br.yml
59
66
  - History.txt
60
67
  - License.txt
61
68
  - README.md
62
69
  - test/test_faker.rb
70
+ - test/test_faker_city.rb
63
71
  - test/test_faker_internet.rb
72
+ - test/test_faker_lorem.rb
64
73
  - test/test_faker_name.rb
74
+ - test/test_faker_street.rb
75
+ - test/test_flexible.rb
65
76
  - test/test_helper.rb
77
+ - test/test_locale.rb
66
78
  has_rdoc: true
67
79
  homepage: http://faker.rubyforge.org
68
80
  licenses: []
@@ -93,12 +105,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
105
  requirements: []
94
106
 
95
107
  rubyforge_project: faker
96
- rubygems_version: 1.3.7
108
+ rubygems_version: 1.4.2
97
109
  signing_key:
98
110
  specification_version: 3
99
111
  summary: Easily generate fake data
100
112
  test_files:
101
113
  - test/test_faker.rb
114
+ - test/test_faker_city.rb
102
115
  - test/test_faker_internet.rb
116
+ - test/test_faker_lorem.rb
103
117
  - test/test_faker_name.rb
118
+ - test/test_faker_street.rb
119
+ - test/test_flexible.rb
104
120
  - test/test_helper.rb
121
+ - test/test_locale.rb