Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

<html>
<head>
<title>Test Service</title>
<script type="text/javascript" src="../../../../dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>
<script type="text/javascript">
dojo.provide("dojox.wire.ml.tests.markup.Service");

dojo.require("dojo.parser");
dojo.require("doh.runner");
dojo.require("dojox.wire.ml.Service");
dojo.require("dojox.wire.ml.Invocation");
dojo.require("dojox.wire.ml.Transfer");

dojox.wire.ml.tests.markup.Service = {
        query: {name: "a"}
};

dojo.addOnLoad(function(){
        doh.register("dojox.wire.ml.tests.markup.Service", [

                function test_Service_url(t){
                        var d = new doh.Deferred();
                        dojo.connect(dijit.byId("Invocation1"), "onComplete", function(result){
                                t.assertEqual("a", dojox.wire.ml.tests.markup.Service.target.a);
                                var o = result.toObject();
                                t.assertEqual("a", o.item.name); // test XmlElement.toObject()
                                t.assertEqual("b", o.item.data); // test XmlElement.toObject()

                                d.callback(true);
                        });
                        dojo.connect(dijit.byId("Invocation1"), "onError", function(error){
                                d.errback(error);
                        });
                        dojo.publish("invokeGetXml");
                        return d;
                },

                function test_Service_serviceUrl(t){
                        var d = new doh.Deferred();
                        dojo.connect(dijit.byId("Invocation2"), "onComplete", function(){
                                t.assertEqual("a", dojox.wire.ml.tests.markup.Service.result.item.name);
                                d.callback(true);
                        });
                        dojo.connect(dijit.byId("Invocation2"), "onError", function(error){
                                d.errback(error);
                        });
                        dojo.publish("invokeGetJson");
                        return d;
                }

        ]);
        doh.run();
});
</script>
</head>
<body>
<div dojoType="dojox.wire.ml.Service"
        id="Service1"
        url="Service/XML.smd"></div>
<div dojoType="dojox.wire.ml.Invocation"
        id="Invocation1"
        triggerTopic="invokeGetXml"
        object="Service1"
        method="get"
        parameters="dojox.wire.ml.tests.markup.Service.query">
</div>
<div dojoType="dojox.wire.ml.Transfer"
        trigger="Invocation1"
        triggerEvent="onComplete"
        source="arguments[0].item.name"
        target="dojox.wire.ml.tests.markup.Service.target.a"></div>
<div dojoType="dojox.wire.ml.Service"
        id="Service2"
        serviceType="JSON"
        serviceUrl="Service/{name}.json"></div>
<div dojoType="dojox.wire.ml.Invocation"
        id="Invocation2"
        triggerTopic="invokeGetJson"
        object="Service2"
        method="get"
        parameters="dojox.wire.ml.tests.markup.Service.query"
        result="dojox.wire.ml.tests.markup.Service.result"></div>
</body>
</html>