source: Dev/trunk/src/client/dojox/rpc/tests/FriendFeed.js @ 532

Last change on this file since 532 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 3.0 KB
Line 
1dojo.provide('dojox.rpc.tests.FriendFeed');
2
3dojo.require('dojo.io.script');
4dojo.require('dojox.rpc.Service');
5
6(function() {
7
8// simple class to help write tests...
9dojo.declare("dojox.rpc.tests.FFTest",null, {
10    name: "",
11    timeout: 8000,
12
13    constructor: function(name, method, parameters, fn) {
14        var props = { name: name,
15                      _method: method,
16                      _parameters: parameters,
17                      _test: fn
18        };
19        dojo.mixin( this, props );
20        return this;
21    },
22    setUp: function() {
23        this.service = new dojox.rpc.Service(
24                     dojo.moduleUrl("dojox.rpc.SMDLibrary", "friendfeed.smd"));
25    },
26    runTest: function( t ) {
27        var d = new doh.Deferred();
28        var ff = this.service[ this._method ]( this._parameters );
29        ff.addCallback( this, function( results ) {
30            if ( results.errorCode ) {
31                d.errback( new Error("Test failed", results ) );
32            } else {
33                if ( this._test( results ) )  {
34                    d.callback( true );
35                } else {
36                    d.errback( new Error("Test failed ", results ) );
37                }
38            }
39            return d;
40        });
41    },
42    tearDown: function() {
43        this.service = undefined;
44    }
45});
46
47// test the methods and parameters of the SMD file
48doh.register('dojox.rpc.tests.friendfeed',
49    [
50    new dojox.rpc.tests.FFTest("#1 Users",
51        "users",
52        { nickname: "paul" },
53        function( results ) {
54            return results.entries;
55        }
56    ),
57    new dojox.rpc.tests.FFTest("#2 Search",
58        "search",
59        { q: "dojo" },
60        function ( results ) {
61            return results.entries;
62        }
63    ),
64    new dojox.rpc.tests.FFTest("#3 Domain",
65        "entry",
66        { entry_id: "245da66c-d6dd-8a4b-1719-b5bfb1f9d5eb" },
67        function ( results ) {
68          return results.entries && results.entries.length == 1;
69          // ???: check user info too?
70        }
71    ),
72    new dojox.rpc.tests.FFTest("#4 URL",
73        "url",
74        { url: "http://blog.medryx.org/tag/doh/"  },
75        function( results ) {
76            return results.entries && results.entries.length >= 1;
77        }
78    ),
79    new dojox.rpc.tests.FFTest("#5 Domain",
80        "domain",
81        { domain: "dojotoolkit.org" },
82        function ( results ) {
83            return results.entries && results.entries.length >=1;
84        }
85    ),
86    new dojox.rpc.tests.FFTest("#6 Parameter - service",
87        "users",
88        { nickname: "paul", service: "twitter" },
89        function ( results ) {
90            var ent  = dojo.filter( results.entries, function( entry ) {
91                return entry.service.id != 'twitter';
92            });
93            return ent.length == 0;
94        }
95    ),
96    new dojox.rpc.tests.FFTest("#7 Parameter - num",
97        "users",
98        { nickname: "paul", num: 42 },
99        function ( results ) {
100            return results.length == 42;
101        }
102    )
103]);
104 })();
Note: See TracBrowser for help on using the repository browser.