unittests/tests/serializers/JSONSerializer.js
changeset 944 8a6c9e3d0158
parent 907 27b248a13355
parent 943 a882cc0c936f
child 945 7d9f6fd6f904
--- a/unittests/tests/serializers/JSONSerializer.js	Thu May 24 15:05:47 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-function test_JSONSerializer() {
-  module("JSON Serializer tests", 
-    { setup: function() {      
-      this.dt = new IriSP.DataLoader();
-      }
-    }
-    );    
-    
-    test("should return the correct JSON", function() {
-      var arr = ["ab", {"de" : "fg"}, "lp"];
-      var serializer = new IriSP.JSONSerializer(this.dt);
-
-      equal(serializer.serialize(arr), JSON.stringify(arr), "assert that the outputted json is correct");
-    });
-    
-    test("sync()", function() {
-      this.xhr = this.sandbox.useFakeXMLHttpRequest();
-      this.requests = [];
-      this.xhr.onCreate = function (request) {
-        this.requests.push(request);
-      };
-      
-      var response_array = { media: 12, content: "Hey there", 
-                             annotations: [{"begin": "32", "end" : 64}, {"begin": "08", "end" : 27},{"begin": "02", "end" : 61}]  };
-
-      /* sorted array is our comparision array */
-      var sorted_array = IriSP.jQuery.extend({}, response_array);
-      sorted_array.annotations.sort(function(a, b) 
-          { var a_begin = +a.begin;
-            var b_begin = +b.begin;
-            return a_begin - b_begin;
-          });
-          
-      var response_string = JSON.stringify(response_array);
-  
-      var spy_callback = this.spy();
-      var ser = new IriSP.JSONSerializer(this.dt, "/url");
-      
-      ser.sync(spy_callback);
-      
-      equals(this.xhr.requests.length, 1, "the mock ajax object should have received the request");
-      equals(this.xhr.requests[0].url, "/url", "the requested url is correct");
-
-      this.xhr.requests[0].respond(200, { "Content-Type": "application/json" },
-                             response_string);
-        
-      ok(spy_callback.calledOnce, "callback called");
-      ok(spy_callback.calledWith(response_array), "callback called with correct value");
-      deepEqual(ser._data, response_array, "the internal variable is initialized to the correct value");
-      
-      var order_preserved = true;
-      
-      var i = 0;
-      for(i = 0; i < ser._data.length - 1; i++) {
-        if (ser._data.annotations[i].begin > ser._data.annotations[i+1].begin) {
-            order_preserved = false;
-            break;
-        }
-      }
-      
-      ok(order_preserved, "the annotation sub-array is sorted by begin time");
-    });
-
-    test("currentMedia should return the current media", function() {
-      var ser = new IriSP.JSONSerializer(this.dt, "/url");
-
-      ser._data = {}
-      ser._data.medias = [0];
-      equal(ser.currentMedia(), 0, "currentMedia() returns the correct value");
-    });
-
-    test("test annotation search", function() {
-      var ser = new IriSP.JSONSerializer(this.dt, "../test/test.json");
-            
-      ser._data = { annotations : [
-      {"content": {        
-        "description": "professeur", 
-        "title": "garrigou"
-        }},
-      { "content": {        
-        "description": "interview", 
-        "title": "Revue de presse - Hervé Gardette"
-      }},
-      {"content": {        
-        "description": "concept", 
-        "title": "idée"
-      }},
-      { "content": {        
-        "description": "", 
-        "title": "sans titre"
-      }}
-      ]};
-      
-      equal(ser.searchAnnotations("GarriGOU", "", "").length, 1, "requesting on title works");
-      equal(ser.searchAnnotations("", "IntErView", "").length, 1, "requesting on description works");      
-      equal(ser.searchAnnotations("", "", "").length, 4, "empty request works");
-      equal(ser.searchAnnotations("idée", "concept", "").length, 1, "specific request works");
-      
-      
-    });
-    
-    test("test occurence count", function() {
-    var ser = new IriSP.JSONSerializer(this.dt, "../test/test.json");
-            
-      ser._data = { annotations : [
-      {"content": {        
-        "description": "professeur", 
-        "title": "garrigou"
-        }, "id" : 1 },
-      { "content": {        
-        "description": "interview", 
-        "title": "Revue de presse - Hervé Gardette"
-      }, "id" : 2},
-      {"content": {        
-        "description": "concept", 
-        "title": "idée"
-      }, "id" : 3},
-      { "content": {        
-        "description": "", 
-        "title": "sans titre"
-      }, "id" : 4}
-      ]};
-      
-      // a function to get the number of fields in a dict.
-      function countOccurences(queryString) {
-        var count = 0;
-        for (var i in ser.searchOccurences(queryString)) {
-          count++;
-        };
-        
-        return count;
-      };
-      
-      equal(countOccurences("garrigou"), 1, "first request works");
-      deepEqual(ser.searchOccurences("garrigou"), {1 : 1}, "returned object is correctly defined");
-          
-      equal(countOccurences("garrigou interview"), 2, "second request works");
-      equal(countOccurences("garrigou idée interview"), 3, "third request works");
-    });
-    
-    test("test current annotation search", function() {
-      var ser = new IriSP.JSONSerializer(this.dt, "../test/test.json");      
-
-      ser._data = { 
-      "views": [
-          {
-            "id": "0", 
-            "contents": [
-              "franceculture_retourdudimanche20100620"
-            ], 
-            "annotation_types": [
-              "c_1F07824B-F512-78A9-49DB-6FB51DAB9560"
-            ]
-          }
-        ], 
-          annotations : [
-      {"begin": 1234, "end" : 578900,
-       "content": {        
-        "description": "professeur", 
-        "title": "garrigou"
-        }, 
-      "id" : 1,
-      "meta": {
-        "dc:contributor": "perso", 
-        "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", 
-        "dc:created": "2011-10-20T13:36:18.286693", 
-        "dc:modified": "2011-10-20T13:36:18.286693", 
-        "dc:creator": "perso"
-        } 
-      }, 
-      {"begin": 1234, "end" : 578900,
-       "content": {        
-        "description": "interview", 
-        "title": "Revue de presse - Hervé Gardette"
-        }, 
-       "id" : 2, 
-       "meta": {
-        "dc:contributor": "perso", 
-        "id-ref": "c_1F07824B-F512-78A9-49DB-6FB51DAB9560", 
-        "dc:created": "2011-10-20T13:36:18.286693", 
-        "dc:modified": "2011-10-20T13:36:18.286693", 
-        "dc:creator": "perso"
-        } 
-      },
-      {"begin": 1234, "end" : 578900,
-       "content": {        
-        "description": "interview", 
-        "title": "lolol"
-        }, 
-       "id" : 2, 
-       "meta": {
-        "dc:contributor": "perso", 
-        "id-ref": "c_dfdfdfdf", 
-        "dc:created": "2011-10-20T13:36:18.286693", 
-        "dc:modified": "2011-10-20T13:36:18.286693", 
-        "dc:creator": "perso"
-        } 
-      }
- 
-      ]};
-
-      var ret = ser.currentAnnotations(234);  
-      equal(ret.length, 2, "the correct number of elements is returned");
-      ok(ret[0].begin < 234 * 1000 && ret[0].end > 234 * 1000 && 
-         ret[0].meta["id-ref"] == "c_1F07824B-F512-78A9-49DB-6FB51DAB9560",
-         "the first element is correctly configured");
-
-    });
- 
-};