OSDN Git Service

Change a return value of the setValues method
authordhrname <dhrname@users.sourceforge.jp>
Fri, 1 May 2015 14:11:57 +0000 (23:11 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Fri, 1 May 2015 14:11:57 +0000 (23:11 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index 96cb377..4ff003e 100644 (file)
@@ -693,7 +693,7 @@ base("$calcMode").up("$attribute").mix( {
   /*引数で指定した要素 ele の属性を解析して、フレームに追加する*/\r
   push: function(/*Element Node*/ ele) {\r
     if (!ele) {\r
-      return;\r
+      return null;\r
     }\r
     this.element = ele.parentNode || null;\r
     if (!( ele.hasAttribute("from") || ele.hasAttribute("to")\r
@@ -705,7 +705,7 @@ base("$calcMode").up("$attribute").mix( {
        *「3.2.2. Animation function values」より引用\r
        *http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues\r
       */\r
-      return;\r
+      return null;\r
     }\r
     /*eleの属性の値を、それぞれオブジェクトに割り当て*/\r
     var $frame = base("$frame"),\r
@@ -729,7 +729,10 @@ base("$calcMode").up("$attribute").mix( {
       } );\r
       $frame.addLine(frame);\r
       this.frame.push(frame);\r
-    }\r
+    }  \r
+    getAttr = begin = ele = void 0;\r
+    return frame;\r
+\r
     /*属性を取得するためのインライン関数*/\r
     function getAttr(name) {\r
       /*DOM Level2やIE11では、getAttributeNSメソッドは空文字を返す。他のブラウザではnullを返すことが多い\r
@@ -738,7 +741,6 @@ base("$calcMode").up("$attribute").mix( {
        * http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-ElGetAttrNS*/\r
       return (ele.getAttributeNS(null, name) || null);\r
     };\r
-    getAttr = begin = ele = void 0;\r
   },\r
   \r
   /*setValuesメソッド\r
index 9844f42..d0e10a1 100644 (file)
@@ -3311,7 +3311,7 @@ describe("SMIL Animation Spec", function() {
     } );\r
   } );\r
   describe("A $attribute object", function() {\r
-    describe("An push method", function() {\r
+    describe("A push method", function() {\r
       var attr, s;\r
       beforeEach( function() {\r
         attr = base("$calcMode").$attribute.up("width");\r
@@ -3323,19 +3323,19 @@ describe("SMIL Animation Spec", function() {
       it("should be this for the value  (limit value analysis)", function() {\r
         expect(attr.frame.length).toEqual(0);\r
         expect(attr.element).toBeNull();\r
-        attr.push();\r
+        expect(attr.push()).toBeNull();\r
         expect(attr.element).toBeNull();\r
         expect(attr.frame.length).toEqual(0);\r
         expect(base("$frame").timelines.length).toEqual(0);\r
         \r
-        attr.push(s);\r
+        expect(attr.push(s)).toBeNull();\r
         expect(attr.element).toBeNull();\r
         expect(attr.frame.length).toEqual(0);\r
         expect(base("$frame").timelines.length).toEqual(0);\r
         \r
         var p = document.createElement("g");\r
         p.appendChild(s);\r
-        attr.push(s);\r
+        expect(attr.push(s)).toBeNull();\r
         expect(attr.element).toBe(p);\r
         expect(attr.frame.length).toEqual(0);\r
         expect(base("$frame").timelines.length).toEqual(0);\r
@@ -3348,13 +3348,14 @@ describe("SMIL Animation Spec", function() {
         function check(attrName, num) {\r
           s.setAttribute(attrName, "1");\r
           expect(s.hasAttributeNS(null, attrName)).toBeTruthy();\r
-          attr.push(s);\r
+          var l = attr.push(s);\r
           expect(attr.element).toBe(p);\r
           var timelines = base("$frame").timelines;\r
           expect(timelines.length).toEqual(num);\r
           var line = timelines[num-1];\r
           expect(line).toBe(attr.frame[attr.frame.length-1]);\r
           expect(line.string).toBe("0");\r
+          expect(line).toBe(l); //タイムラインのオブジェクトを返す\r
           var act = line.$activate;\r
           expect(act.dur).toBeNull();\r
           expect(act.end).toBe(0);\r