OSDN Git Service

Modify the removeAttribute method
authordhrname <dhrname@users.sourceforge.jp>
Tue, 12 Apr 2016 13:24:20 +0000 (22:24 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Tue, 12 Apr 2016 13:24:20 +0000 (22:24 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index f271612..12e8d75 100644 (file)
@@ -833,8 +833,8 @@ base("$calcMode").up("$attribute").mix( {
       /*初期段階でターゲットの要素に属性が指定されていない場合は、\r
        * 現在の属性値を削除するだけでよい*/\r
       ele.removeAttributeNS(this.attrNameSpace, this.attrName);\r
-      /*スタイルシートのプロパティも削除しておく*/\r
-      ele.style[this.attrName] = this.defaultValue;\r
+      /*スタイルシートのプロパティも削除しておく。removePropertyでないことに注意*/\r
+      ele.style.setProperty(this.attrName, this.defaultValue, "");\r
     }\r
     value = ele = void 0;\r
   },\r
index 932c516..5e50cb1 100644 (file)
@@ -2331,6 +2331,26 @@ describe("SMIL Animation Spec", function() {
             g(96, "inline");\r
             g(192, "block");\r
             g(300, "block");\r
+            \r
+            frame.timelines.length = 0;\r
+            ele.setAttributeNS(null, "begin", "click");\r
+            ele.setAttributeNS(null, "calcMode", "linear");\r
+            ele.setAttributeNS(null, "attributeName", attrName);\r
+            ele.setAttributeNS(null, "keyTimes", "0;.25;.5;1");\r
+            ele.setAttributeNS(null, "keySplines", "0,0,1,1;0,0,1,1;1,0,0,1");\r
+            ele.setAttributeNS(null, "dur", "8s");\r
+            ele.setAttributeNS(null, "values", "inline;block;inline;block");\r
+            $animate.init(ele);\r
+            var evt = ele.ownerDocument.createEvent("MouseEvents");\r
+            evt.initMouseEvent("click",true, true, window, 0, 0, 0, 0, 0, false, false, false, false,0, p);\r
+            p.dispatchEvent(evt);\r
+            var cur = base("$frame").currentFrame;\r
+            expect($animate.mode).toBe("discrete");\r
+            g(cur+0, "inline");\r
+            g(cur+48, "block");\r
+            g(cur+96, "inline");\r
+            g(cur+192, "block");\r
+            g(cur+300, "block");\r
           } );\r
         } );\r
         /*無効同値クラスを調べておく (Equivalence partitioning, the following is the invalid partion)*/\r