OSDN Git Service

t#31085:raise err when input invalid encoding string
[pettanr/pettanr.git] / spec / models / picture_spec.rb
index 0d4b88c..5ce8081 100644 (file)
@@ -201,6 +201,49 @@ describe Picture do
     end
   end
   
+  describe '文字コード検証に於いて' do
+    before do
+      @p = FactoryGirl.build :picture, :original_picture_id => @op.id, :license_id => @license.id, :artist_id => @artist.id
+    end
+    
+    context 'artist_nameを検証するとき' do
+      it 'Shift JISなら失敗する' do
+        @p.artist_name = "\x83G\x83r\x83]\x83D"
+        lambda{
+          @p.valid_encode
+        }.should raise_error(Pettanr::BadRequest)
+      end
+    end
+    
+    context 'classnameを検証するとき' do
+      it 'Shift JISなら失敗する' do
+        @p.classname = "\x83G\x83r\x83]\x83D"
+        lambda{
+          @p.valid_encode
+        }.should raise_error(Pettanr::BadRequest)
+      end
+    end
+    
+    context 'creditを検証するとき' do
+      it 'Shift JISなら失敗する' do
+        @p.credit = "\x83G\x83r\x83]\x83D"
+        lambda{
+          @p.valid_encode
+        }.should raise_error(Pettanr::BadRequest)
+      end
+    end
+    
+    context 'settingsを検証するとき' do
+      it 'Shift JISなら失敗する' do
+        @p.settings = "\x83G\x83r\x83]\x83D"
+        lambda{
+          @p.valid_encode
+        }.should raise_error(Pettanr::BadRequest)
+      end
+    end
+    
+  end
+  
   describe 'デフォルト値補充に於いて' do
     it 'defined' do
       @p = FactoryGirl.build :picture, :original_picture_id => @op.id, :license_id => @license.id, :artist_id => @artist.id