OSDN Git Service

Add the initilize method to the object
authordhrname <dhrname@users.sourceforge.jp>
Tue, 31 Jan 2017 13:34:39 +0000 (22:34 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Tue, 31 Jan 2017 13:34:39 +0000 (22:34 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index 8814088..5542e26 100644 (file)
@@ -1390,6 +1390,22 @@ base("$calcMode").up("$attribute").mix( {
   /*to属性の値、文字列*/\r
   to: "",\r
   \r
+  \r
+  /*後述のinitilizeメソッドで使う要素リスト\r
+   * getElementsByTagNameNSメソッドの返り値の入力を想定*/\r
+  elementList: [],\r
+  \r
+  /*initilize メソッド\r
+   * 要素リストを初期化させる\r
+   * 初期化処理を分散させるために使う*/\r
+  initilize: function() {\r
+    var eles = this.elementList;\r
+    for (var i=0;i<eles.length;++i) {\r
+      this.up().init(eles.item(i));\r
+    }\r
+    eles = void 0;\r
+  },\r
+   \r
   /*initメソッドで使われるアニメーション関数*/\r
   _setFrame: function ($list) {\r
     this.setAttribute(this.to);\r
index 17c2a3b..de0043c 100644 (file)
@@ -41,6 +41,7 @@ describe("SMIL Animation Spec", function() {
       expect(frame.isBegin).toBeFalsy();\r
       expect(frame.startAnimation()).toBeUndefined();\r
       expect(frame.begin).toBe(-Number.MAX_VALUE);\r
+\r
       frame.setFrame();\r
       frame.setFrame(0);\r
       /*負の値も許される*/\r
@@ -2146,6 +2147,11 @@ describe("SMIL Animation Spec", function() {
         expect($set.isDefault).toBeFalsy();\r
         expect($set.attrNameSpace).toBeNull();\r
         expect($set.timeline).toBe(frame.$begin);\r
+        \r
+        expect($set.elementList.length).toBe(0);\r
+        $set.initilize();\r
+        $set.elementList = null;\r
+        expect( function() {$set.initilize()}).toThrow();\r
       } );\r
       /*同値分割をして、有効同値クラスを調べておく (Equivalence partitioning, the following is the valid partion)*/\r
       it("should be this for the value (the valid partion  )", function() {\r
@@ -2180,6 +2186,12 @@ describe("SMIL Animation Spec", function() {
         ele.parentNode.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "undef");\r
         $set.init(ele);\r
         expect($set.attrNameSpace).toBe("http://www.w3.org/1999/xlink");\r
+        \r
+        document.documentElement.appendChild(ele);\r
+        $set.elementList = document.getElementsByTagNameNS("http://www.w3.org/2000/svg", "set");\r
+        frame.timelines.length = 0;\r
+        $set.initilize();\r
+        expect(frame.timelines.length).toBe($set.elementList.length);\r
       } );\r
       /*無効同値クラスを調べておく (Equivalence partitioning, the following is the invalid partion)*/\r
       it("should be this for the value (the invalid partion on a spline mode )", function() {\r