Mahlon Smith avatar Mahlon Smith committed 1d71e22

Revalidate parameters when using the index operator.

Comments (0)

Files changed (2)

lib/strelka/paramvalidator.rb

 	### Index fetch operator; fetch the validated (and possible parsed) value for
 	### form field +key+.
 	def []( key )
+		self.validate unless self.validated?
 		return @valid[ key.to_sym ]
 	end
 

spec/strelka/paramvalidator_spec.rb

 			@validator.param_names.should include( 'a_field' )
 		end
 
+		it "revalidates parameters when new constraints are added" do
+			@validator.validate( 'blorp' => 'true' )
+			@validator[ :blorp ].should be_nil
+			@validator.add( :blorp, :boolean )
+			@validator[ :blorp ].should be_true
+		end
+
 		it "ignores identical duplicate constraints to be added twice" do
 			@validator.add( :a_field, :string )
 			@validator.add( :a_field, :string )
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.