YUI().use('node', 'node-event-simulate', function (Y) {
	describe("AniJS Advanced", function() {

		//Aqui se pueden poner variables para tener acceso globalmente
		

		//Funcion que se ejecuta antes de empezar
		beforeEach(function() {

		});

		afterEach(function() {

		});

	    //---------------------------------------------------------------------
	    // Change the root DOM scope.
	    //---------------------------------------------------------------------
		describe("Change the root DOM scope.", function() {
			beforeEach(function() {
	            //Aqui creo el nodo
	            var htmlNode = '<div class="test">Test</div>';
	            Y.one('#testzone').appendChild(htmlNode);
			});

			afterEach(function() {
				Y.one('#testzone .test').remove();
			});

			it("dont existed DOM Scope", function() {
				AniJS.setDOMRootTravelScope('.dontExisted');
				console.log(AniJS.rootDOMTravelScope );
				expect(AniJS.rootDOMTravelScope == document).toBeTruthy();
			});

			//TODO: 
			it("//TODO", function() {

			});
		});

	    //---------------------------------------------------------------------
	    // Running AniJS repeatedly.
	    //---------------------------------------------------------------------
		describe("Running AniJS repeatedly.", function() {
			beforeEach(function() {
	            //Aqui creo el nodo
	            var htmlNode = '<div class="test">Test</div>';
	            Y.one('#testzone').appendChild(htmlNode);
			});

			afterEach(function() {
				Y.one('#testzone .test').remove();
			});
			//TODO: 
			it("//TODO", function() {

			});
		});

	    //---------------------------------------------------------------------
	    // animationEnd and transitionEnd normalization.
	    //---------------------------------------------------------------------
		describe("animationEnd and transitionEnd normalization", function() {
			beforeEach(function() {
	            //Aqui creo el nodo
	            var htmlNode = '<div class="test">Test</div>';
	            Y.one('#testzone').appendChild(htmlNode);
			});

			afterEach(function() {
				Y.one('#testzone .test').remove();
			});
			//TODO: 
			it("//TODO", function() {

			});
		});

	    //---------------------------------------------------------------------
	    // Attach events from window and document objects
	    //---------------------------------------------------------------------
		describe("Attach events from window and document objects", function() {
			beforeEach(function() {
	            //Aqui creo el nodo
	            var htmlNode = '<div class="test">Test</div>';
	            Y.one('#testzone').appendChild(htmlNode);
			});

			afterEach(function() {
				Y.one('#testzone .test').remove();
			});
			//TODO: 
			it("//TODO", function() {

			}); 
		});
	});








		// describe("when song has been paused", function() {
		// 	beforeEach(function() {
		// 		player.play(song);
		// 		player.pause();
		// 	});

		// 	it("should indicate that the song is currently paused", function() {
		// 		expect(player.isPlaying).toBeFalsy();

		// 		// demonstrates use of 'not' with a custom matcher
		// 		expect(player).not.toBePlaying(song);
		// 	});

		// 	it("should be possible to resume", function() {
		// 		player.resume();
		// 		expect(player.isPlaying).toBeTruthy();
		// 		expect(player.currentlyPlayingSong).toEqual(song);
		// 	});
		// });

		// // demonstrates use of spies to intercept and test method calls
		// it("tells the current song if the user has made it a favorite", function() {
		// 	spyOn(song, 'persistFavoriteStatus');

		// 	player.play(song);
		// 	player.makeFavorite();

		// 	expect(song.persistFavoriteStatus).toHaveBeenCalledWith(true);
		// });

		// //demonstrates use of expected exceptions
		// describe("#resume", function() {
		// 	it("should throw an exception if song is already playing", function() {
		// 		player.play(song);
		// 		expect(function() {
		// 			player.resume();
		// 			}).toThrowError("song is already playing");
		// 		});
		// 	});
		// });
});





@@ -872,52 +872,8 @@
 %09%09%09%09
-console.log(AniJS.rootDOMTravelScope );%0A%09%09%09%09
 expe
@@ -920,24 +920,805 @@
 .toBeTruthy(
+);%0A%09%09%09%7D);%0A%0A%09%09%09it(%22empty DOM selector Scope%22, function() %7B%0A%09%09%09%09AniJS.setDOMRootTravelScope('');%0A%09%09%09%09expect(AniJS.rootDOMTravelScope == document).toBeTruthy();%0A%09%09%09%7D);%0A%0A%09%09%09it(%22new DOM selector Scope%22, function() %7B%0A%09%09%09%09AniJS.setDOMRootTravelScope('.test');%0A%09%09%09%09expect(AniJS.rootDOMTravelScope == document).toBeFalsy();%0A%0A%09%09%09%09Y.one('body').appendChild('%3Cdiv class=%22outsideselector%22%3EOutside Selector%3C/div%3E');%0A%09%09%09%09var dataAnijJS = 'do: bounce, to: body',%0A%09            %09targetNode;%0A%0A%09            targetNode = Y.one('.outsideselector');%0A%09            targetNode.setAttribute('data-anijs', dataAnijJS);%0A%0A%09           %09targetNode.on('click', function(e)%7B%0A%09                expect(Y.one('body').hasClass('bounce')).toBeFalsy();%0A%09            %7D,this, true);%0A%0A%09            targetNode.simulate(%22click%22
 );%0A%09%09%09%7D);%0A%0A%09

Change the root DOM scope