			left: win.width() + 200 - 10
		}, "window, scrolled" );
		win.scrollTop( 0 ).scrollLeft( 0 );
	}

	event = $.extend( $.Event( "someEvent" ), { pageX: 200, pageY: 300 } );
	$( "#elx" ).position( {
		my: "left top",
		at: "left top",
		of: event,
		collision: "none"
	} );
	assert.deepEqual( $( "#elx" ).offset(), {
		top: 300,
		left: 200
	}, "event - left top, left top" );

	event = $.extend( $.Event( "someEvent" ), { pageX: 400, pageY: 600 } );
	$( "#elx" ).position( {
		my: "left top",
		at: "right bottom",
		of: event,
		collision: "none"
	} );
	assert.deepEqual( $( "#elx" ).offset(), {
		top: 600,
		left: 400
	}, "event - left top, right bottom" );

	try {
		$( "#elx" ).position( {
			my: "left top",
			at: "right bottom",
			of: "<img onerror='window.globalOf=true' src='/404' />",
			collision: "none"
		} );
	} catch ( e ) {}

	setTimeout( function() {
		assert.equal( window.globalOf, undefined, "of treated as a selector" );
		delete window.globalOf;
		done();
	}, 500 );
} );
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.