test_symbolactor.js (1265B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 const { 7 SymbolActor, 8 } = require("resource://devtools/server/actors/object/symbol.js"); 9 10 function run_test() { 11 test_SA_destroy(); 12 test_SA_form(); 13 test_SA_raw(); 14 } 15 16 const SYMBOL_NAME = "abc"; 17 const TEST_SYMBOL = Symbol(SYMBOL_NAME); 18 19 function makeMockSymbolActor() { 20 const symbol = TEST_SYMBOL; 21 const mockThreadActor = { conn: null }; 22 const actor = new SymbolActor(mockThreadActor, symbol); 23 actor.actorID = "symbol1"; 24 const parentPool = { 25 symbolActors: { 26 [symbol]: actor, 27 }, 28 unmanage: () => {}, 29 }; 30 actor.getParent = () => parentPool; 31 return actor; 32 } 33 34 function test_SA_destroy() { 35 const actor = makeMockSymbolActor(); 36 strictEqual(actor.getParent().symbolActors[TEST_SYMBOL], actor); 37 38 actor.destroy(); 39 strictEqual(TEST_SYMBOL in actor.getParent().symbolActors, false); 40 } 41 42 function test_SA_form() { 43 const actor = makeMockSymbolActor(); 44 const form = actor.form(); 45 strictEqual(form.type, "symbol"); 46 strictEqual(form.actor, actor.actorID); 47 strictEqual(form.name, SYMBOL_NAME); 48 } 49 50 function test_SA_raw() { 51 const actor = makeMockSymbolActor(); 52 strictEqual(actor.rawObj, TEST_SYMBOL); 53 }