OSDN Git Service

t#29672:fix sbt for properties
authoryasushiito <yas@pen-chan.jp>
Wed, 26 Sep 2012 10:23:45 +0000 (19:23 +0900)
committeryasushiito <yas@pen-chan.jp>
Wed, 26 Sep 2012 10:23:45 +0000 (19:23 +0900)
app/models/speech_balloon_template.rb
db/speech_balloon_templates.json
spec/models/speech_balloon_template_spec.rb

index 9690219..2e907aa 100644 (file)
@@ -12,7 +12,7 @@ class SpeechBalloonTemplate < ActiveRecord::Base
   end
   
   def overwrite
-    self.t = SpeechBalloonTemplate.count.to_i
+    self.t = SpeechBalloonTemplate.count.to_i if self.new_record?
   end
   
   def visible? author
@@ -54,6 +54,7 @@ class SpeechBalloonTemplate < ActiveRecord::Base
     #templatesのballoonがフキダシ画像を持っているはずなので置換しておく
     #templates => {hoge => {balloon => system_picture}}
     (attr["templates"] || {}).each do |n, v|
+      next if n == 'speech_balloon'
       res = replace_system_picture(v["balloon"] || {})
       return nil if res == false #置換なしでnil 失敗でfalse
     end
index 2e1ce87..154a6ac 100644 (file)
@@ -2,9 +2,11 @@
   "square@pettan.com": {\r
     "classname": "Square",\r
     "caption": "長方形",\r
-    "default_width": 150,\r
-    "default_height": 150,\r
     "templates": {\r
+      "speech_balloon": {\r
+        "default_width": 150,\r
+        "default_height": 150\r
+      },\r
       "all": {\r
         "balloon": {\r
           "system_picture": "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"\r
   "square with size@pettan.com": {\r
     "classname": "SquareWithSize",\r
     "caption": "長方形改",\r
-    "default_width": 150,\r
-    "default_height": 100,\r
-    "size_count": 3,\r
-    "width_offset": 0,\r
-    "height_offset": 0,\r
-    "width_step": 100,\r
-    "height_step": 100,\r
     "templates": {\r
+      "speech_balloon": {\r
+        "default_width": 150,\r
+        "default_height": 100,\r
+        "size_count": 3,\r
+        "width_offset": 0,\r
+        "height_offset": 0,\r
+        "width_step": 100,\r
+        "height_step": 100\r
+      },\r
       "small": {\r
         "balloon": {\r
           "size": 0,\r
index 18b4352..0c40e52 100644 (file)
@@ -126,6 +126,15 @@ describe SpeechBalloonTemplate do
       @st.overwrite
       @st.t.should eq 2
     end
+    context 'つつがなく終わるとき' do\r
+      before do
+        @st = FactoryGirl.create :speech_balloon_template, :t => 0
+      end
+      it '更新のときは補充しない' do
+        @st.overwrite
+        @st.t.should eq 0
+      end
+    end
   end
   
   describe '閲覧許可に於いて' do
@@ -226,9 +235,11 @@ describe SpeechBalloonTemplate do
       @sp = FactoryGirl.create :system_picture
       @st = FactoryGirl.build :speech_balloon_template
       @templates = {
+        "speech_balloon" => {"default" => 1}, 
         "one" => {"balloon" => {"system_picture" => 'BASE64'}}
       }
       @sp_replaced_templates = {
+        "speech_balloon" => {"default" => 1}, 
         "one" => {"balloon" => {"system_picture_id" => @sp.id}}
       }
       @attr = {"classname" => 'store', "caption" => 'store test',
@@ -275,6 +286,7 @@ describe SpeechBalloonTemplate do
     context 'templateにballoonがないとき' do
       before do
         @templates = {
+          "speech_balloon" => {"default" => 1}, 
           "one" => {}
         }
         @attr = {"classname" => 'store', "caption" => 'store test',
@@ -295,6 +307,7 @@ describe SpeechBalloonTemplate do
       @sp = FactoryGirl.create :system_picture
       @st = FactoryGirl.create :speech_balloon_template
       @templates = {
+        "speech_balloon" => {"default" => 1}, 
         "one" => {"balloon" => {"system_picture_id" => @sp.id}}
       }
       @attr = {"classname" => 'store', "caption" => 'store test',
@@ -308,7 +321,7 @@ describe SpeechBalloonTemplate do
         SpeechBalloonTemplate.any_instance.stub(:overwrite).with(any_args).and_return(true)
         SpeechBalloonTemplate.any_instance.stub(:save).with(any_args).and_return(true)
       end
-      it 'テンプレート拡張データ置換に問い合わせている' do
+      it 'テンプレート置換に問い合わせている' do
         SpeechBalloonTemplate.should_receive(:templates_json_from).exactly(1)
         r = SpeechBalloonTemplate.store 'circle_v01', @attr
       end