1 | define([ |
---|
2 | "doh/main", |
---|
3 | "dojo/request/handlers", |
---|
4 | "dojo/has", |
---|
5 | "dojo/_base/kernel", |
---|
6 | "dojo/json" |
---|
7 | ], function(doh, handlers, has, kernel, JSON){ |
---|
8 | var tests = [ |
---|
9 | function textContentHandler(t){ |
---|
10 | var response = handlers({ |
---|
11 | text: "foo bar baz ", |
---|
12 | options: {} |
---|
13 | }); |
---|
14 | |
---|
15 | t.is("foo bar baz ", response.data); |
---|
16 | }, |
---|
17 | function jsonContentHandler(t){ |
---|
18 | var jsonObj = { |
---|
19 | foo: "bar", |
---|
20 | baz: [ |
---|
21 | { thonk: "blarg" }, |
---|
22 | "xyzzy!" |
---|
23 | ] |
---|
24 | }; |
---|
25 | var responseData = handlers({ |
---|
26 | text: JSON.stringify(jsonObj), |
---|
27 | options: { |
---|
28 | handleAs: "json" |
---|
29 | } |
---|
30 | }); |
---|
31 | t.is(jsonObj, responseData.data); |
---|
32 | }, |
---|
33 | function jsContentHandler(t){ |
---|
34 | var jsonObj = { |
---|
35 | foo: "bar", |
---|
36 | baz: [ |
---|
37 | { thonk: "blarg" }, |
---|
38 | "xyzzy!" |
---|
39 | ] |
---|
40 | }; |
---|
41 | var responseData = handlers({ |
---|
42 | text: "("+JSON.stringify(jsonObj)+")", |
---|
43 | options: { |
---|
44 | handleAs: "javascript" |
---|
45 | } |
---|
46 | }); |
---|
47 | t.is(jsonObj, responseData.data); |
---|
48 | |
---|
49 | responseData = handlers({ |
---|
50 | text: "true;", |
---|
51 | options: { |
---|
52 | handleAs: "javascript" |
---|
53 | } |
---|
54 | }); |
---|
55 | t.t(responseData.data); |
---|
56 | |
---|
57 | responseData = handlers({ |
---|
58 | text: "false;", |
---|
59 | options: { |
---|
60 | handleAs: "javascript" |
---|
61 | } |
---|
62 | }); |
---|
63 | t.f(responseData.data); |
---|
64 | } |
---|
65 | ]; |
---|
66 | |
---|
67 | if(has("host-browser")){ |
---|
68 | tests.push( |
---|
69 | function xmlContentHandler(t){ |
---|
70 | var responseData = { |
---|
71 | text: "<foo><bar baz='thonk'>blarg</bar></foo>", |
---|
72 | options: { |
---|
73 | handleAs: "xml" |
---|
74 | } |
---|
75 | }; |
---|
76 | if("DOMParser" in kernel.global){ |
---|
77 | var parser = new DOMParser(); |
---|
78 | responseData.data = parser.parseFromString(responseData.text, "text/xml"); |
---|
79 | } |
---|
80 | |
---|
81 | responseData = handlers(responseData); |
---|
82 | t.is("foo", responseData.data.documentElement.tagName); |
---|
83 | } |
---|
84 | ); |
---|
85 | } |
---|
86 | doh.register("tests.request.handlers", tests); |
---|
87 | }); |
---|