| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | # Adapted from https://gist.github.com/jodosha/1560208 | 
					
						
							|  |  |  | MiniTest::Spec.class_eval do | 
					
						
							|  |  |  |   def self.shared_examples | 
					
						
							|  |  |  |     @shared_examples ||= {} | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-24 13:52:43 +02:00
										 |  |  | module MiniTest | 
					
						
							|  |  |  |   class Spec | 
					
						
							|  |  |  |     module SharedExamples | 
					
						
							|  |  |  |       def shared_examples_for(desc, &block) | 
					
						
							|  |  |  |         MiniTest::Spec.shared_examples[desc] = block | 
					
						
							|  |  |  |       end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-24 13:52:43 +02:00
										 |  |  |       def it_behaves_like(desc, *args, &block) | 
					
						
							|  |  |  |         instance_exec(*args, &MiniTest::Spec.shared_examples[desc]) | 
					
						
							|  |  |  |         instance_eval(&block) if block_given? | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2016-08-18 22:11:42 +03:00
										 |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Object.class_eval do | 
					
						
							|  |  |  |   include(MiniTest::Spec::SharedExamples) | 
					
						
							|  |  |  | end |