11require 'test_helper'
22
33describe Enumerize ::Base do
4- let ( :klass ) do
4+ let ( :kklass ) do
55 Class . new do
66 extend Enumerize
77 end
88 end
99
1010 let ( :subklass ) do
11- Class . new ( klass )
11+ Class . new ( kklass )
1212 end
1313
14- let ( :object ) { klass . new }
14+ let ( :object ) { kklass . new }
1515
1616 it 'returns nil when not set' do
17- klass . enumerize ( :foo , :in => [ :a , :b ] )
17+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
1818 object . foo . must_be_nil
1919 end
2020
2121 it 'returns value that was set' do
22- klass . enumerize ( :foo , :in => [ :a , :b ] )
22+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
2323 object . foo = :a
2424 object . foo . must_equal 'a'
2525 end
2626
2727 it 'returns translation' do
2828 store_translations ( :en , :enumerize => { :foo => { :a => 'a text' } } ) do
29- klass . enumerize ( :foo , :in => [ :a , :b ] )
29+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
3030 object . foo = :a
3131 object . foo . text . must_equal 'a text'
3232 object . foo_text . must_equal 'a text'
3636
3737 it 'returns nil as translation when value is nil' do
3838 store_translations ( :en , :enumerize => { :foo => { :a => 'a text' } } ) do
39- klass . enumerize ( :foo , :in => [ :a , :b ] )
39+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
4040 object . foo_text . must_be_nil
4141 end
4242 end
4343
4444 it 'scopes translation by i18n key' do
45- def klass . model_name
45+ def kklass . model_name
4646 name = "ExampleClass"
4747 def name . i18n_key
4848 'example_class'
@@ -52,7 +52,7 @@ def name.i18n_key
5252 end
5353
5454 store_translations ( :en , :enumerize => { :example_class => { :foo => { :a => 'a text scoped' } } } ) do
55- klass . enumerize ( :foo , :in => [ :a , :b ] )
55+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
5656 object . foo = :a
5757 object . foo . text . must_equal 'a text scoped'
5858 object . foo_text . must_equal 'a text scoped'
@@ -61,88 +61,88 @@ def name.i18n_key
6161
6262 it 'returns humanized value if there are no translations' do
6363 store_translations ( :en , :enumerize => { } ) do
64- klass . enumerize ( :foo , :in => [ :a , :b ] )
64+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
6565 object . foo = :a
6666 object . foo_text . must_equal 'A'
6767 end
6868 end
6969
7070 it 'stores value as string' do
71- klass . enumerize ( :foo , :in => [ :a , :b ] )
71+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
7272 object . foo = :a
7373 object . instance_variable_get ( :@foo ) . must_be_instance_of String
7474 end
7575
7676 it 'handles default value' do
77- klass . enumerize ( :foo , :in => [ :a , :b ] , :default => :b )
77+ kklass . enumerize ( :foo , :in => [ :a , :b ] , :default => :b )
7878 object . foo . must_equal 'b'
7979 end
8080
8181 it 'handles default value with lambda' do
82- klass . enumerize ( :foo , :in => [ :a , :b ] , :default => lambda { :b } )
82+ kklass . enumerize ( :foo , :in => [ :a , :b ] , :default => lambda { :b } )
8383 object . foo . must_equal 'b'
8484 end
8585
8686 it 'injects object instance into lamda default value' do
87- klass . enumerize ( :foo , :in => [ :a , :b ] , :default => lambda { |obj | :b if obj . is_a? klass } )
87+ kklass . enumerize ( :foo , :in => [ :a , :b ] , :default => lambda { |obj | :b if obj . is_a? kklass } )
8888 object . foo . must_equal 'b'
8989 end
9090
9191 it 'raises exception on invalid default value' do
9292 proc {
93- klass . enumerize ( :foo , :in => [ :a , :b ] , :default => :c )
93+ kklass . enumerize ( :foo , :in => [ :a , :b ] , :default => :c )
9494 } . must_raise ArgumentError
9595 end
9696
9797 it 'has enumerized attributes' do
98- klass . enumerized_attributes . must_be_empty
99- klass . enumerize ( :foo , :in => %w[ a b ] )
100- klass . enumerized_attributes [ :foo ] . must_be_instance_of Enumerize ::Attribute
98+ kklass . enumerized_attributes . must_be_empty
99+ kklass . enumerize ( :foo , :in => %w[ a b ] )
100+ kklass . enumerized_attributes [ :foo ] . must_be_instance_of Enumerize ::Attribute
101101 end
102102
103103 it "doesn't override existing method" do
104- method = klass . method ( :name )
105- klass . enumerize ( :name , :in => %w[ a b ] , :default => 'a' )
106- klass . method ( :name ) . must_equal method
104+ method = kklass . method ( :name )
105+ kklass . enumerize ( :name , :in => %w[ a b ] , :default => 'a' )
106+ kklass . method ( :name ) . must_equal method
107107 end
108108
109109 it "inherits enumerized attributes from a parent class" do
110- klass . enumerize ( :foo , :in => %w[ a b ] )
110+ kklass . enumerize ( :foo , :in => %w[ a b ] )
111111 subklass . enumerized_attributes [ :foo ] . must_be_instance_of Enumerize ::Attribute
112112 end
113113
114114 it "inherits enumerized attributes from a grandparent class" do
115- klass . enumerize ( :foo , :in => %w[ a b ] )
115+ kklass . enumerize ( :foo , :in => %w[ a b ] )
116116 Class . new ( subklass ) . enumerized_attributes [ :foo ] . must_be_instance_of Enumerize ::Attribute
117117 end
118118
119119 it "doesn't add enumerized attributes to parent class" do
120- klass . enumerize ( :foo , :in => %w[ a b ] )
120+ kklass . enumerize ( :foo , :in => %w[ a b ] )
121121 subklass . enumerize ( :bar , :in => %w[ c d ] )
122122
123- klass . enumerized_attributes [ :bar ] . must_be_nil
123+ kklass . enumerized_attributes [ :bar ] . must_be_nil
124124 end
125125
126126 it 'adds new parent class attributes to subclass' do
127- subklass = Class . new ( klass )
128- klass . enumerize :foo , :in => %w[ a b ]
127+ subklass = Class . new ( kklass )
128+ kklass . enumerize :foo , :in => %w[ a b ]
129129 subklass . enumerized_attributes [ :foo ] . must_be_instance_of Enumerize ::Attribute
130130 end
131131
132132 it 'stores nil value' do
133- klass . enumerize ( :foo , :in => [ :a , :b ] )
133+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
134134 object . foo = nil
135135 object . instance_variable_get ( :@foo ) . must_be_nil
136136 end
137137
138138 it 'casts value to string for validation' do
139- klass . enumerize ( :foo , :in => [ :a , :b ] )
139+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
140140 object . foo = :c
141141 object . read_attribute_for_validation ( :foo ) . must_equal 'c'
142142 end
143143
144144 it "doesn't cast nil to string for validation" do
145- klass . enumerize ( :foo , :in => [ :a , :b ] )
145+ kklass . enumerize ( :foo , :in => [ :a , :b ] )
146146 object . foo = nil
147147 object . read_attribute_for_validation ( :foo ) . must_be_nil
148148 end
@@ -179,7 +179,7 @@ def foo=(v)
179179 end
180180
181181 it 'stores hash values' do
182- klass . enumerize ( :foo , :in => { :a => 1 , :b => 2 } )
182+ kklass . enumerize ( :foo , :in => { :a => 1 , :b => 2 } )
183183
184184 object . foo = :a
185185 object . instance_variable_get ( :@foo ) . must_equal 1
@@ -191,7 +191,7 @@ def foo=(v)
191191 end
192192
193193 it 'returns custom value' do
194- klass . enumerize ( :foo , :in => { :a => 1 , :b => 2 } )
194+ kklass . enumerize ( :foo , :in => { :a => 1 , :b => 2 } )
195195
196196 object . foo = :a
197197 object . foo_value . must_equal 1
0 commit comments