forked from mirrors/gecko-dev
		
	 461170519e
			
		
	
	
		461170519e
		
	
	
	
	
		
			
			In this patch, creates a test to confirm whether the AnonymousContent.setStyle() works correctly. Differential Revision: https://phabricator.services.mozilla.com/D41928 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE HTML>
 | |
| <html>
 | |
| <!--
 | |
| https://bugzilla.mozilla.org/show_bug.cgi?id=1020244
 | |
| -->
 | |
| <head>
 | |
|   <meta charset="utf-8">
 | |
|   <title>Test for Bug 1020244 - Test the chrome-only AnonymousContent API</title>
 | |
|   <script src="/tests/SimpleTest/SimpleTest.js"></script>
 | |
|   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
 | |
| </head>
 | |
| <body>
 | |
| <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1020244">Mozilla Bug 1020244</a>
 | |
|   <script type="application/javascript">
 | |
| 
 | |
|   // Testing the presence of the chrome-only API
 | |
|   ok(!document.insertAnonymousContent,
 | |
|     "Content document shouldn't have access to insertAnonymousContent");
 | |
|   ok(!document.removeAnonymousContent,
 | |
|     "Content document shouldn't have access to removeAnonymousContent");
 | |
| 
 | |
|   let chromeDocument = SpecialPowers.wrap(document);
 | |
|   ok(chromeDocument.insertAnonymousContent,
 | |
|     "Chrome document should have access to insertAnonymousContent");
 | |
|   ok(chromeDocument.removeAnonymousContent,
 | |
|     "Chrome document should have access to removeAnonymousContent");
 | |
| 
 | |
|   // Testing invalid inputs
 | |
|   let invalidNodes = [null, undefined, false, 1, "string"];
 | |
|   for (let node of invalidNodes) {
 | |
|     let didThrow = false;
 | |
|     try {
 | |
|       chromeDocument.insertAnonymousContent(node);
 | |
|     } catch (e) {
 | |
|       didThrow = true;
 | |
|     }
 | |
|     ok(didThrow, "Passing an invalid node to insertAnonymousContent should throw");
 | |
|   }
 | |
| 
 | |
|   // Testing the API of the returned object
 | |
|   let div = document.createElement("div");
 | |
|   div.textContent = "this is a test element";
 | |
|   let anonymousContent = chromeDocument.insertAnonymousContent(div);
 | |
|   ok(anonymousContent, "AnonymousContent object returned");
 | |
| 
 | |
|   let members = ["getTextContentForElement", "setTextContentForElement",
 | |
|                  "getAttributeForElement", "setAttributeForElement",
 | |
|                  "removeAttributeForElement", "getCanvasContext",
 | |
|                  "setAnimationForElement", "setStyle"];
 | |
|   for (let member of members) {
 | |
|     ok(member in anonymousContent, "AnonymousContent object defines " + member);
 | |
|   }
 | |
|   chromeDocument.removeAnonymousContent(anonymousContent);
 | |
|   </script>
 | |
| </body>
 | |
| </html>
 |