forked from mirrors/gecko-dev
		
	 12288e9042
			
		
	
	
		12288e9042
		
	
	
	
	
		
			
			Automatic update from web-platform-tests
Update URLs to Web IDL
Only two instances of "heycam.github.io" remain now.
interfaces/WebIDL.idl will be updated when webref is updated next time,
as it has already been fixed there:
7c04f47557
resources/webidl2/lib/webidl2.js is third-party code and will be updated
at some point in the future.
--
wpt-commits: 9a88dfd5bf623a8cb326c154b27f1e3494e11022
wpt-pr: 31148
		
	
			
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <meta charset="utf-8">
 | |
| <title>All attributes accessors are unique function objects</title>
 | |
| <link rel="help" href="https://webidl.spec.whatwg.org/#idl-interface-mixins">
 | |
| <script src="/resources/testharness.js"></script>
 | |
| <script src="/resources/testharnessreport.js"></script>
 | |
| <script>
 | |
| "use strict";
 | |
| 
 | |
| test(() => {
 | |
|   const seenPrototypes = new WeakSet([Function.prototype]);
 | |
|   const seenFunctions = new WeakMap();
 | |
| 
 | |
|   for (const windowKey of Object.getOwnPropertyNames(window)) {
 | |
|     const windowValue = window[windowKey];
 | |
|     if (typeof windowValue !== "function") continue;
 | |
| 
 | |
|     const {prototype} = windowValue;
 | |
|     if (!prototype || seenPrototypes.has(prototype)) continue;
 | |
|     seenPrototypes.add(prototype);
 | |
| 
 | |
|     for (const key of Object.getOwnPropertyNames(prototype)) {
 | |
|       const assert_not_seen = (fn, field) => {
 | |
|         const fnInfo = `${windowKey}.${key}.${field}`;
 | |
|         assert_equals(seenFunctions.get(fn), undefined, fnInfo);
 | |
|         seenFunctions.set(fn, fnInfo);
 | |
|       };
 | |
| 
 | |
|       const desc = Object.getOwnPropertyDescriptor(prototype, key);
 | |
|       if (desc.get) assert_not_seen(desc.get, "[[Get]]");
 | |
|       if (desc.set) assert_not_seen(desc.set, "[[Set]]");
 | |
|     }
 | |
|   }
 | |
| }, "For attributes, each copy of the accessor property has distinct built-in function objects for its getters and setters.");
 | |
| </script>
 |