OSDN Git Service

Modify a call method in the object
authordhrname <dhrname@users.sourceforge.jp>
Mon, 9 Feb 2015 13:15:17 +0000 (22:15 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Mon, 9 Feb 2015 13:15:17 +0000 (22:15 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index 0629980..2c694fd 100644 (file)
@@ -336,6 +336,9 @@ base("$frame").mix ( {
       if (!isIndefDur && !isIndefRepeatCount && this.repeatCount) {\r
         actList.push( this.offset(this.dur) * this.repeatCount );\r
       }\r
+      if (!isIndefRepeatDur && this.repeatDur) {\r
+        actList.push( this.offset(this.repeatDur) );\r
+      }\r
       if (!isIndefDur && !this.repeatCount && !this.repeatDur) {\r
         /*repeatCountやrepeatDur属性が指定されていない場合*/\r
         actList.push( this.offset(this.dur) );\r
@@ -345,9 +348,9 @@ base("$frame").mix ( {
        * indef関数は活動持続時間が不定かどうか、もし、不定なら真を返す*/\r
       function indef(obj) {\r
         if(isIndefEnd) {\r
-          return false;\r
-        } else if (obj.end) {\r
           return true;\r
+        } else if (obj.end) {\r
+          return false;\r
         }\r
         return !!( (isIndefDur && !obj.repeatDur)\r
                    || (isIndefRepeatCount && !obj.repeatDur)\r
index 74ec36d..600eca7 100644 (file)
@@ -2443,6 +2443,7 @@ describe("SMIL Animation Spec", function() {
       act.begin = 0;\r
       act.repeatCount = null;\r
       act.repeatDur = null;\r
+      act.end = act.$begin.$end\r
     } );\r
     /*境界条件を調べておく (limit value analysis)*/\r
     it("should be this for the value  (limit value analysis)", function() {\r
@@ -2471,10 +2472,16 @@ describe("SMIL Animation Spec", function() {
       act.dur = "10";\r
       expect(act.$c.call()).toEqual(Math.floor(10000*act.fpms));\r
       \r
+      act.end.string = null;\r
       act.$c.end = act.end;\r
       act.$c.repeatCount = "2";\r
       expect(act.$c.call()).toEqual(Math.floor(2*10000*act.fpms));\r
       \r
+      act.$c.end = act.end;\r
+      act.$c.repeatCount = null;\r
+      act.$c.repeatDur = "12";\r
+      expect(act.$c.call()).toEqual(Math.floor(12000*act.fpms));\r
+      \r
     } );\r
     /*無効同値クラスを調べておく (Equivalence partitioning, the following is the invalid partion)*/\r
     it("should be this for the value (the invalid partion)", function() {\r