1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/components/feeds/test/test.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,88 @@ 1.4 +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 1.5 + * This Source Code Form is subject to the terms of the Mozilla Public 1.6 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.8 + 1.9 +var passed = 0; 1.10 +var ran = 0; 1.11 +if(tests.length < 1){ 1.12 + dump("FAILED! tests.length was " + tests.length + "\n"); 1.13 +} 1.14 + 1.15 +function logResult(didPass, testcase, extra) { 1.16 + var start = didPass ? "PASS | " : "FAIL | "; 1.17 + print(start + testcase.path + " | Test was: \"" + 1.18 + testcase.desc + "\" | " + testcase.expect + " |"); 1.19 + if (extra) { 1.20 + print(extra); 1.21 + } 1.22 +} 1.23 + 1.24 + 1.25 +function isIID(a,iid){ 1.26 + var rv = false; 1.27 + try{ 1.28 + a.QueryInterface(iid); 1.29 + rv = true; 1.30 + }catch(e){} 1.31 + return rv; 1.32 +} 1.33 +function TestListener(){} 1.34 + 1.35 +TestListener.prototype = { 1.36 + handleResult: function(result){ 1.37 + var feed = result.doc; 1.38 + // QI to something 1.39 + (isIID(feed, Components.interfaces.nsIFeed)); 1.40 + try { 1.41 + if(!eval(testcase.expect)){ 1.42 + logResult(false, testcase); 1.43 + 1.44 + }else{ 1.45 + logResult(true, testcase); 1.46 + passed += 1; 1.47 + } 1.48 + } 1.49 + catch(e) { 1.50 + logResult(false, testcase, "ex: " + e.message); 1.51 + } 1.52 + 1.53 + ran += 1; 1.54 + result = null; 1.55 + } 1.56 +} 1.57 + 1.58 +var startDate = new Date(); 1.59 + 1.60 +for(var i=0; i<tests.length; i++){ 1.61 + var testcase = tests[i]; 1.62 + var uri; 1.63 + if (testcase.base == null) 1.64 + uri = ioService.newURI('http://example.org/'+testcase.path, null,null); 1.65 + else 1.66 + uri = testcase.base 1.67 + 1.68 + var parser = Components.classes["@mozilla.org/feed-processor;1"] 1.69 + .createInstance(Components.interfaces.nsIFeedProcessor); 1.70 + var stream = Components.classes["@mozilla.org/network/file-input-stream;1"] 1.71 + .createInstance(Components.interfaces.nsIFileInputStream); 1.72 + var listener = new TestListener(); 1.73 + try{ 1.74 + stream.init(testcase.file, 0x01, 0444, 0); 1.75 + parser.listener = listener; 1.76 + parser.parseFromStream(stream, uri); 1.77 + }catch(e){ 1.78 + dump("FAILED! Error parsing file " + testcase.file.leafName + 1.79 + "Error: " + e.message + "\n"); 1.80 + }finally{ 1.81 + stream.close(); 1.82 + } 1.83 + 1.84 +} 1.85 +var endDate = new Date(); 1.86 + 1.87 +print("Start: " + startDate); 1.88 +print("End : " + endDate); 1.89 +print("tests: " + tests.length); 1.90 +print("ran: " + ran); 1.91 +print("passed: " + passed);