Skip to content

Commit 44d4420

Browse files
committed
Backed out changeset 14d7b6dbe0fb (bug 1314827) to be able to back out something else
MozReview-Commit-ID: 39mFOtrNixM --HG-- rename : dom/base/test/gtest/TestNativeXMLHttpRequest.cpp => dom/base/test/TestNativeXMLHttpRequest.cpp rename : dom/base/test/gtest/TestPlainTextSerializer.cpp => dom/base/test/TestPlainTextSerializer.cpp
1 parent 0091966 commit 44d4420

File tree

7 files changed

+330
-99
lines changed

7 files changed

+330
-99
lines changed

dom/base/test/TestGetURL.cpp

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2+
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3+
/* This Source Code Form is subject to the terms of the Mozilla Public
4+
* License, v. 2.0. If a copy of the MPL was not distributed with this
5+
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6+
7+
#include "TestHarness.h"
8+
9+
#include "nsIPrincipal.h"
10+
#include "nsIScriptSecurityManager.h"
11+
#include "nsIXMLHttpRequest.h"
12+
13+
14+
#define TEST_ENSURE_BASE(_test, _msg) \
15+
PR_BEGIN_MACRO \
16+
if (_test) { \
17+
fail(_msg); \
18+
return NS_ERROR_FAILURE; \
19+
} \
20+
PR_END_MACRO
21+
22+
#define TEST_ENSURE_SUCCESS(_rv, _msg) \
23+
TEST_ENSURE_BASE(NS_FAILED(_rv), _msg)
24+
25+
#define TEST_ENSURE_FAILED(_rv, _msg) \
26+
TEST_ENSURE_BASE(NS_SUCCEEDED(_rv), _msg)
27+
28+
nsresult TestGetURL(const nsCString& aURL)
29+
{
30+
nsresult rv;
31+
32+
nsCOMPtr<nsIXMLHttpRequest> xhr =
33+
do_CreateInstance(NS_XMLHTTPREQUEST_CONTRACTID, &rv);
34+
TEST_ENSURE_SUCCESS(rv, "Couldn't create nsIXMLHttpRequest instance!");
35+
36+
NS_NAMED_LITERAL_CSTRING(getString, "GET");
37+
const nsAString& empty = EmptyString();
38+
39+
nsCOMPtr<nsIScriptSecurityManager> secman =
40+
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv);
41+
TEST_ENSURE_SUCCESS(rv, "Couldn't get script security manager!");
42+
43+
nsCOMPtr<nsIPrincipal> systemPrincipal;
44+
rv = secman->GetSystemPrincipal(getter_AddRefs(systemPrincipal));
45+
TEST_ENSURE_SUCCESS(rv, "Couldn't get system principal!");
46+
47+
rv = xhr->Init(systemPrincipal, nullptr, nullptr, nullptr);
48+
TEST_ENSURE_SUCCESS(rv, "Couldn't initialize the XHR!");
49+
50+
rv = xhr->Open(getString, aURL, false, empty, empty);
51+
TEST_ENSURE_SUCCESS(rv, "OpenRequest failed!");
52+
53+
rv = xhr->Send(nullptr);
54+
TEST_ENSURE_SUCCESS(rv, "Send failed!");
55+
56+
nsAutoString response;
57+
rv = xhr->GetResponseText(response);
58+
TEST_ENSURE_SUCCESS(rv, "GetResponse failed!");
59+
60+
nsAutoCString responseUTF8 = NS_ConvertUTF16toUTF8(response);
61+
printf("#BEGIN\n");
62+
printf("%s", responseUTF8.get());
63+
printf("\n#EOF\n");
64+
65+
return NS_OK;
66+
}
67+
68+
int main(int argc, char** argv)
69+
{
70+
if (argc < 2) {
71+
printf("Usage: TestGetURL <url>\n");
72+
exit(0);
73+
}
74+
75+
ScopedXPCOM xpcom("XMLHttpRequest");
76+
if (xpcom.failed())
77+
return 1;
78+
79+
nsAutoCString targetURL(argv[1]);
80+
81+
int retval = 0;
82+
if (NS_FAILED(TestGetURL(targetURL))) {
83+
retval = 1;
84+
}
85+
86+
return retval;
87+
}
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2+
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3+
/* This Source Code Form is subject to the terms of the Mozilla Public
4+
* License, v. 2.0. If a copy of the MPL was not distributed with this
5+
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6+
7+
#include "TestHarness.h"
8+
9+
#include "nsIDOMDocument.h"
10+
#include "nsIPrincipal.h"
11+
#include "nsIScriptSecurityManager.h"
12+
#include "nsIXMLHttpRequest.h"
13+
14+
15+
#define TEST_ENSURE_BASE(_test, _msg) \
16+
PR_BEGIN_MACRO \
17+
if (_test) { \
18+
fail(_msg); \
19+
return NS_ERROR_FAILURE; \
20+
} \
21+
PR_END_MACRO
22+
23+
#define TEST_ENSURE_SUCCESS(_rv, _msg) \
24+
TEST_ENSURE_BASE(NS_FAILED(_rv), _msg)
25+
26+
#define TEST_ENSURE_FAILED(_rv, _msg) \
27+
TEST_ENSURE_BASE(NS_SUCCEEDED(_rv), _msg)
28+
29+
#define TEST_URL_PREFIX \
30+
"data:text/xml,"
31+
#define TEST_URL_CONTENT \
32+
"<foo><bar></bar></foo>"
33+
34+
#define TEST_URL \
35+
TEST_URL_PREFIX TEST_URL_CONTENT
36+
37+
nsresult TestNativeXMLHttpRequest()
38+
{
39+
nsresult rv;
40+
41+
nsCOMPtr<nsIXMLHttpRequest> xhr =
42+
do_CreateInstance(NS_XMLHTTPREQUEST_CONTRACTID, &rv);
43+
TEST_ENSURE_SUCCESS(rv, "Couldn't create nsIXMLHttpRequest instance!");
44+
45+
NS_NAMED_LITERAL_CSTRING(getString, "GET");
46+
NS_NAMED_LITERAL_CSTRING(testURL, TEST_URL);
47+
const nsAString& empty = EmptyString();
48+
49+
nsCOMPtr<nsIScriptSecurityManager> secman =
50+
do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv);
51+
TEST_ENSURE_SUCCESS(rv, "Couldn't get script security manager!");
52+
53+
nsCOMPtr<nsIPrincipal> systemPrincipal;
54+
rv = secman->GetSystemPrincipal(getter_AddRefs(systemPrincipal));
55+
TEST_ENSURE_SUCCESS(rv, "Couldn't get system principal!");
56+
57+
rv = xhr->Init(systemPrincipal, nullptr, nullptr, nullptr);
58+
TEST_ENSURE_SUCCESS(rv, "Couldn't initialize the XHR!");
59+
60+
rv = xhr->Open(getString, testURL, false, empty, empty);
61+
TEST_ENSURE_SUCCESS(rv, "Open failed!");
62+
63+
rv = xhr->Send(nullptr);
64+
TEST_ENSURE_SUCCESS(rv, "Send failed!");
65+
66+
nsAutoString response;
67+
rv = xhr->GetResponseText(response);
68+
TEST_ENSURE_SUCCESS(rv, "GetResponse failed!");
69+
70+
if (!response.EqualsLiteral(TEST_URL_CONTENT)) {
71+
fail("Response text does not match!");
72+
return NS_ERROR_FAILURE;
73+
}
74+
75+
nsCOMPtr<nsIDOMDocument> dom;
76+
rv = xhr->GetResponseXML(getter_AddRefs(dom));
77+
TEST_ENSURE_SUCCESS(rv, "GetResponseXML failed!");
78+
79+
if (!dom) {
80+
fail("No DOM document constructed!");
81+
return NS_ERROR_FAILURE;
82+
}
83+
84+
passed("Native XMLHttpRequest");
85+
return NS_OK;
86+
}
87+
88+
int main(int argc, char** argv)
89+
{
90+
ScopedXPCOM xpcom("XMLHttpRequest");
91+
if (xpcom.failed())
92+
return 1;
93+
94+
int retval = 0;
95+
if (NS_FAILED(TestNativeXMLHttpRequest())) {
96+
retval = 1;
97+
}
98+
99+
return retval;
100+
}

0 commit comments

Comments
 (0)