diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/testing/net/xhrio_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/testing/net/xhrio_test.html | 384 |
1 files changed, 0 insertions, 384 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/testing/net/xhrio_test.html b/contexts/data/lib/closure-library/closure/goog/testing/net/xhrio_test.html deleted file mode 100644 index 109a4d5..0000000 --- a/contexts/data/lib/closure-library/closure/goog/testing/net/xhrio_test.html +++ /dev/null @@ -1,384 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -Copyright 2008 The Closure Library Authors. All Rights Reserved. - -Use of this source code is governed by the Apache License, Version 2.0. -See the COPYING file for details. ---> -<head> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<title>Closure Unit Tests - goog.testing.net.XhrIo</title> -<script src="../../base.js"></script> -<script> - goog.require('goog.dom.xml'); - goog.require('goog.events'); - goog.require('goog.events.Event'); - goog.require('goog.net.EventType'); - goog.require('goog.testing.asserts'); - goog.require('goog.testing.jsunit'); - goog.require('goog.testing.net.XhrIo'); - goog.require('goog.testing.mockmatchers.InstanceOf'); - goog.require('goog.testing.MockControl'); -</script> -</head> -<body> -<script> - -var mockControl; - -function setUp() { - mockControl = new goog.testing.MockControl(); -} - -function testStaticSend() { - sendInstances = goog.testing.net.XhrIo.getSendInstances(); - goog.testing.net.XhrIo.send('url'); - assertEquals('sendInstances_ after send', - 1, sendInstances.length); - xhr = sendInstances[sendInstances.length - 1]; - assertTrue('isActive after request', xhr.isActive()); - assertEquals('readyState after request', - goog.net.XmlHttp.ReadyState.LOADING, - xhr.getReadyState()); - - xhr.simulateResponse(200, ''); - assertFalse('isActive after response', xhr.isActive()); - assertEquals('readyState after response', - goog.net.XmlHttp.ReadyState.COMPLETE, - xhr.getReadyState()); - - xhr.simulateReady(); - assertEquals('sendInstances_ after READY', - 0, sendInstances.length); -} - -function testStaticSendWithException() { - goog.testing.net.XhrIo.send('url', function() { - if (!this.isSuccess()) { - throw Error('The xhr did not complete successfully!'); - } - }); - var sendInstances = goog.testing.net.XhrIo.getSendInstances(); - var xhr = sendInstances[sendInstances.length - 1]; - try { - xhr.simulateResponse(400, ''); - } catch(e) { - // Do nothing with the exception; we just want to make sure - // the class cleans itself up properly when an exception is - // thrown. - } - assertEquals('Send instance array not cleaned up properly!', - 0, sendInstances.length); -} - -function testMultipleSend() { - var xhr = new goog.testing.net.XhrIo(); - assertFalse('isActive before first request', xhr.isActive()); - assertEquals('readyState before first request', - goog.net.XmlHttp.ReadyState.UNINITIALIZED, - xhr.getReadyState()); - - xhr.send('url'); - assertTrue('isActive after first request', xhr.isActive()); - assertEquals('readyState after first request', - goog.net.XmlHttp.ReadyState.LOADING, - xhr.getReadyState()); - - xhr.simulateResponse(200, ''); - assertFalse('isActive after first response', xhr.isActive()); - assertEquals('readyState after first response', - goog.net.XmlHttp.ReadyState.COMPLETE, - xhr.getReadyState()); - - xhr.send('url'); - assertTrue('isActive after second request', xhr.isActive()); - assertEquals('readyState after second request', - goog.net.XmlHttp.ReadyState.LOADING, - xhr.getReadyState()); -} - -function testGetLastUri() { - var xhr = new goog.testing.net.XhrIo(); - assertEquals('nothing sent yet, empty URI', '', xhr.getLastUri()); - - var requestUrl = 'http://www.example.com/'; - xhr.send(requestUrl); - assertEquals('message sent, URI saved', requestUrl, xhr.getLastUri()); -} - -function testGetLastMethod() { - var xhr = new goog.testing.net.XhrIo(); - assertUndefined('nothing sent yet, empty method', xhr.getLastMethod()); - - var method = 'POKE'; - xhr.send('http://www.example.com/', method); - assertEquals('message sent, method saved', method, xhr.getLastMethod()); - xhr.simulateResponse(200, ''); - - xhr.send('http://www.example.com/'); - assertEquals('message sent, method saved', 'GET', xhr.getLastMethod()); -} - -function testGetLastContent() { - var xhr = new goog.testing.net.XhrIo(); - assertUndefined('nothing sent yet, empty content', xhr.getLastContent()); - - var postContent = 'var=value&var2=value2'; - xhr.send('http://www.example.com/', undefined, postContent); - assertEquals('POST message sent, content saved', - postContent, xhr.getLastContent()); - xhr.simulateResponse(200, ''); - - xhr.send('http://www.example.com/'); - assertUndefined('GET message sent, content cleaned', xhr.getLastContent()); -} - -function testGetLastRequestHeaders() { - var xhr = new goog.testing.net.XhrIo(); - assertUndefined('nothing sent yet, empty headers', - xhr.getLastRequestHeaders()); - - xhr.send('http://www.example.com/', undefined, undefined, - {'From': 'page@google.com'}); - assertObjectEquals('Request sent with extra headers, headers saved', - {'From': 'page@google.com'}, - xhr.getLastRequestHeaders()); - xhr.simulateResponse(200, ''); - - xhr.send('http://www.example.com'); - assertUndefined('New request sent without extra headers', - xhr.getLastRequestHeaders()); -} - -function testGetResponseText() { - // Text response came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - assertEquals('text', e.target.getResponseText()); - }); - xhr.simulateResponse(200, 'text'); - assertTrue(called); - - // XML response came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - var xml = goog.dom.xml.createDocument(); - xml.appendChild(xml.createElement('root')); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - var text = e.target.getResponseText(); - assertTrue(/<root ?\/>/.test(text)); - }); - xhr.simulateResponse(200, xml); - assertTrue(called); -} - -function testGetResponseJson() { - // Valid JSON response came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - assertArrayEquals([0, 1], e.target.getResponseJson()); - }); - xhr.simulateResponse(200, '[0, 1]'); - assertTrue(called); - - // Valid JSON response with XSSI prefix encoded came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - assertArrayEquals([0, 1], e.target.getResponseJson(')]}\', \n')); - }); - xhr.simulateResponse(200, ')]}\', \n[0, 1]'); - assertTrue(called); - - // Invalid JSON response came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - assertThrows(e.target.getResponseJson); - }); - xhr.simulateResponse(200, '[0, 1'); - assertTrue(called); - - // XML response came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - var xml = goog.dom.xml.createDocument(); - xml.appendChild(xml.createElement('root')); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - assertThrows(e.target.getResponseJson); - }); - xhr.simulateResponse(200, xml); - assertTrue(called); -} - -function testGetResponseXml() { - // Text response came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - assertNull(e.target.getResponseXml()); - }); - xhr.simulateResponse(200, 'text'); - assertTrue(called); - - // XML response came. - var called = false; - var xhr = new goog.testing.net.XhrIo(); - var xml = goog.dom.xml.createDocument(); - xml.appendChild(xml.createElement('root')); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, function(e) { - called = true; - assertEquals(xml, e.target.getResponseXml()); - }); - xhr.simulateResponse(200, xml); - assertTrue(called); -} - -function testGetResponseHeaders_noHeadersPresent() { - var xhr = new goog.testing.net.XhrIo(); - var mockListener = mockControl.createFunctionMock(); - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertTrue(e.type == goog.net.EventType.SUCCESS); - assertUndefined(e.target.getResponseHeader('XHR')); - }); - mockControl.$replayAll(); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, mockListener); - xhr.simulateResponse(200, ''); - - mockControl.$verifyAll(); - mockControl.$resetAll(); -} - -function testGetResponseHeaders_headersPresent() { - var xhr = new goog.testing.net.XhrIo(); - var mockListener = mockControl.createFunctionMock(); - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertTrue(e.type == goog.net.EventType.SUCCESS); - assertUndefined(e.target.getResponseHeader('XHR')); - assertEquals(e.target.getResponseHeader('Pragma'), 'no-cache'); - }); - mockControl.$replayAll(); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, mockListener); - xhr.simulateResponse(200, '', {'Pragma': 'no-cache'}); - - mockControl.$verifyAll(); - mockControl.$resetAll(); -} - -function testAbort_WhenNoPendingSentRequests() { - var xhr = new goog.testing.net.XhrIo(); - var eventListener = mockControl.createFunctionMock(); - mockControl.$replayAll(); - - goog.events.listen(xhr, goog.net.EventType.COMPLETE, eventListener); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, eventListener); - goog.events.listen(xhr, goog.net.EventType.ABORT, eventListener); - goog.events.listen(xhr, goog.net.EventType.ERROR, eventListener); - goog.events.listen(xhr, goog.net.EventType.READY, eventListener); - - xhr.abort(); - - mockControl.$verifyAll(); - mockControl.$resetAll(); -} - -function testAbort_PendingSentRequest() { - var xhr = new goog.testing.net.XhrIo(); - var mockListener = mockControl.createFunctionMock(); - - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertTrue(e.type == goog.net.EventType.COMPLETE); - assertObjectEquals(e.target, xhr); - assertEquals(e.target.getLastErrorCode(), goog.net.ErrorCode.ABORT); - assertTrue(e.target.isActive()); - }); - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertTrue(e.type == goog.net.EventType.ABORT); - assertObjectEquals(e.target, xhr); - assertTrue(e.target.isActive()); - }); - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertTrue(e.type == goog.net.EventType.READY); - assertObjectEquals(e.target, xhr); - assertFalse(e.target.isActive()); - }); - mockControl.$replayAll(); - - goog.events.listen(xhr, goog.net.EventType.COMPLETE, mockListener); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, mockListener); - goog.events.listen(xhr, goog.net.EventType.ABORT, mockListener); - goog.events.listen(xhr, goog.net.EventType.ERROR, mockListener); - goog.events.listen(xhr, goog.net.EventType.READY, mockListener); - xhr.send('dummyurl'); - xhr.abort(); - - mockControl.$verifyAll(); - mockControl.$resetAll(); -} - -function testEvents_Success() { - var xhr = new goog.testing.net.XhrIo(); - var mockListener = mockControl.createFunctionMock(); - - var readyState = goog.net.XmlHttp.ReadyState.UNINITIALIZED; - function readyStateListener(e) { - assertEquals(e.type, goog.net.EventType.READY_STATE_CHANGE); - assertObjectEquals(e.target, xhr); - readyState++; - assertEquals(e.target.getReadyState(), readyState); - assertTrue(e.target.isActive()); - } - - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertEquals(e.type, goog.net.EventType.COMPLETE); - assertObjectEquals(e.target, xhr); - assertEquals(e.target.getLastErrorCode(), goog.net.ErrorCode.NO_ERROR); - assertTrue(e.target.isActive()); - }); - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertEquals(e.type, goog.net.EventType.SUCCESS); - assertObjectEquals(e.target, xhr); - assertTrue(e.target.isActive()); - }); - mockListener(new goog.testing.mockmatchers.InstanceOf(goog.events.Event)) - .$does(function(e) { - assertEquals(e.type, goog.net.EventType.READY); - assertObjectEquals(e.target, xhr); - assertFalse(e.target.isActive()); - }); - mockControl.$replayAll(); - - goog.events.listen(xhr, goog.net.EventType.READY_STATE_CHANGE, - readyStateListener); - goog.events.listen(xhr, goog.net.EventType.COMPLETE, mockListener); - goog.events.listen(xhr, goog.net.EventType.SUCCESS, mockListener); - goog.events.listen(xhr, goog.net.EventType.ABORT, mockListener); - goog.events.listen(xhr, goog.net.EventType.ERROR, mockListener); - goog.events.listen(xhr, goog.net.EventType.READY, mockListener); - xhr.send('dummyurl'); - xhr.simulateResponse(200, null); - - mockControl.$verifyAll(); - mockControl.$resetAll(); -} - -</script> -</body> -</html> |