OSDN Git Service

Modify the distance method
authordhrname <dhrname@users.sourceforge.jp>
Sat, 13 May 2017 13:05:52 +0000 (22:05 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Sat, 13 May 2017 13:05:52 +0000 (22:05 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index 51f3fb8..7dd9c4f 100644 (file)
@@ -846,7 +846,7 @@ base("$from").of( {
        return f;\r
      } else if (this.mode === "paced") {\r
        /*keyTimes属性は無視され、ベクトルの距離の割合から計算される*/\r
-       this.keyTime = this.to.distance(this.to.from) / this.norm;\r
+       this.keyTime = this.to.distance(this.to.from__) / this.norm;\r
        return f;\r
      } else if (this.mode === "spline") {\r
        var tk = this.keySplines,\r
index fb25872..43eb570 100644 (file)
@@ -1287,10 +1287,10 @@ describe("SMIL Animation Spec", function() {
       from.up("$to").mix( function() {\r
         this.string = "12cm";\r
         this.call();\r
-        var arr = [];\r
+        var arr = [12];\r
         arr.string = this.string;\r
         expect(this.numList).toEqual(arr);\r
-        expect(this.strList).toBeNull();\r
+        expect(this.strList).toEqual(["", "cm"]);\r
       } );\r
     } );\r
     \r
@@ -1598,6 +1598,7 @@ describe("SMIL Animation Spec", function() {
       calc.to.from__.string = "0s";\r
       calc.to.string = "20s";\r
       calc.to.degit = 1;\r
+      calc.initToEval();\r
       expect(calc.call()(0.1)).toBe("10.0s");\r
       expect(calc.keyTime).toBe(0.2);\r
 \r
@@ -1607,6 +1608,7 @@ describe("SMIL Animation Spec", function() {
       calc.norm = 100;\r
       calc.to.from__.string = "rgb(0, 0, 20)";\r
       calc.to.string = "rgb(0, 0, 0)";\r
+      calc.initToEval();\r
       expect(calc.call()(0.1)).toBe("rgb(0, 0, 10)");\r
       expect(calc.keyTime).toBe(0.2);\r
       \r
@@ -1618,6 +1620,7 @@ describe("SMIL Animation Spec", function() {
       calc.to.degit = 1;\r
       calc.to.string = "1";\r
       calc.to.from__.string = "0.5";\r
+      calc.initToEval();\r
       expect(calc.call()(0.2)).toBe("0.5");\r
       expect(calc.call()(0.3)).toBe("0.5");\r
       /*もう一度確かめる*/\r
@@ -1630,6 +1633,7 @@ describe("SMIL Animation Spec", function() {
       calc.to.degit = 1;\r
       calc.to.string = "block";\r
       calc.to.from__.string = "inline";\r
+      calc.initToEval();\r
       expect(calc.call()(0.2)).toBe("inline");\r
       expect(calc.call()(0.3)).toBe("inline");\r
       \r
@@ -1640,6 +1644,7 @@ describe("SMIL Animation Spec", function() {
       calc.to.degit = 1;\r
       calc.to.string = "1 1";\r
       calc.to.from__.string = "0.0 1";\r
+      calc.initToEval();\r
       expect(calc.call()(0.2)).toBe("0.2 1.0");\r
       expect(calc.call()(0.3)).toBe("0.3 1.0");\r
     } );\r
@@ -1649,11 +1654,14 @@ describe("SMIL Animation Spec", function() {
       expect(calc.call()(1)).toBe(calc.string);\r
       \r
       calc.keyTime = void 0;\r
+      calc.initToEval();\r
       expect(calc.call()(1)).toBe(calc.string);\r
       \r
       calc.keyTime = 1/0;\r
+      calc.initToEval();\r
       expect(calc.call()(1)).toBe(calc.string);\r
 \r
+      calc.initToEval();\r
       expect(calc.call()()).toBe(calc.string);\r
 \r
       calc = base("$calcMode").up();\r