OSDN Git Service

Lighten an evnt method in object
authordhrname <dhrname@users.sourceforge.jp>
Sun, 1 Feb 2015 12:20:09 +0000 (21:20 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Sun, 1 Feb 2015 12:20:09 +0000 (21:20 +0900)
org/w3c/dom/smil.js
tool/Spec/spec/SvgDomSpec.js

index 79dd927..79d20e6 100644 (file)
@@ -231,21 +231,20 @@ base("$frame").mix ( {
      * idがない場合や、イベントがない場合は空文字列を該当のプロパティに入れる*/\r
     event: function(str) {\r
       str = str || "";\r
-      var dot = str.indexOf("."),\r
-          id = "",\r
-          event = "";\r
-      if (dot > -1) {\r
+      if (str.indexOf(".") > -1) {\r
         /*ドットが見つかった場合、IDとイベントに分けておく*/\r
         var ide = str.split(".");\r
-        id = ide[0];\r
-        event = ide[1];\r
+        /* エラーが起きて、idが空文字列ならば、evtも空文字列。逆も然り*/\r
+        return {\r
+          id: (ide[1] && ide[0]),\r
+          event: (ide[0] && ide[1])\r
+        };\r
       } else {\r
-        event = str;\r
+        return {\r
+          id: "",\r
+          event: str\r
+        };\r
       }\r
-      return {\r
-        id: id,\r
-        event: event\r
-      };\r
     }\r
   } );\r
 } );\r
index 6763d42..28ee4de 100644 (file)
@@ -2281,15 +2281,40 @@ describe("SMIL Animation Spec", function() {
         var evt = begin.event();\r
         expect(evt.id).toBe("");\r
         expect(evt.event).toBe("");\r
+        evt = begin.event("");\r
+        expect(evt.id).toBe("");\r
+        expect(evt.event).toBe("");\r
+        evt = begin.event(".");\r
+        expect(evt.id).toBe("");\r
+        expect(evt.event).toBe("");\r
+\r
+        evt = begin.event("a");\r
+        expect(evt.id).toBe("");\r
+        expect(evt.event).toBe("a");\r
+        evt = begin.event("a.b");\r
+        expect(evt.id).toBe("a");\r
+        expect(evt.event).toBe("b");\r
       } );\r
       /*同値分割をして、有効同値クラスを調べておく (Equivalence partitioning, the following is the valid partion)*/\r
       it("should be this for the value (the valid partion)", function() {\r
-\r
-\r
+        var evt = begin.event("id.event");\r
+        expect(evt.id).toBe("id");\r
+        expect(evt.event).toBe("event");\r
+        evt = begin.event("event");\r
+        expect(evt.id).toBe("");\r
+        expect(evt.event).toBe("event");\r
       } );\r
       /*無効同値クラスを調べておく (Equivalence partitioning, the following is the invalid partion)*/\r
       it("should be this for the value (the invalid partion)", function() {\r
-      } );\r
+        evt = begin.event("...");\r
+        expect(evt.id).toBe("");\r
+        expect(evt.event).toBe("");\r
+        evt = begin.event(".event");\r
+        expect(evt.id).toBe("");\r
+        expect(evt.event).toBe("");\r
+        evt = begin.event("id.");\r
+        expect(evt.id).toBe("");\r
+        expect(evt.event).toBe("");      } );\r
     } );\r
   } );\r
 } )\r