@@ -6,6 +6,7 @@ import { compileScript, compileScriptCode } from "../utils";
66import type { Message } from "@Packages/message/types" ;
77import { encodeRValue } from "@App/pkg/utils/message_value" ;
88import { v4 as uuidv4 } from "uuid" ;
9+ import { getStorageName } from "@App/pkg/utils/utils" ;
910const nilFn : ScriptFunc = ( ) => { } ;
1011
1112const scriptRes = {
@@ -123,10 +124,14 @@ describe.concurrent("GM Api", () => {
123124 script . value = { test : "ok" } ;
124125 script . metadata . grant = [ "GM.getValue" ] ;
125126 script . code = `return GM.getValue("test").then(v=>v+"!");` ;
126- // @ts -ignore
127- const exec = new ExecScript ( script , undefined , undefined , nilFn , envInfo ) ;
127+ const mockSendMessage = vi . fn ( ) . mockResolvedValue ( { code : 0 } ) ;
128+ const mockMessage = {
129+ sendMessage : mockSendMessage ,
130+ } as unknown as Message ;
131+ const exec = new ExecScript ( script , "content" , mockMessage , nilFn , envInfo ) ;
128132 exec . scriptFunc = compileScript ( compileScriptCode ( script ) ) ;
129- const ret = await exec . exec ( ) ;
133+ const retPromise = exec . exec ( ) ;
134+ const ret = await retPromise ;
130135 expect ( ret ) . toEqual ( "ok!" ) ;
131136 } ) ;
132137
@@ -135,10 +140,14 @@ describe.concurrent("GM Api", () => {
135140 script . value = { test1 : "23" , test2 : "45" , test3 : "67" } ;
136141 script . metadata . grant = [ "GM_listValues" ] ;
137142 script . code = `return GM_listValues().join("-");` ;
138- // @ts -ignore
139- const exec = new ExecScript ( script , undefined , undefined , nilFn , envInfo ) ;
143+ const mockSendMessage = vi . fn ( ) . mockResolvedValue ( { code : 0 } ) ;
144+ const mockMessage = {
145+ sendMessage : mockSendMessage ,
146+ } as unknown as Message ;
147+ const exec = new ExecScript ( script , "content" , mockMessage , nilFn , envInfo ) ;
140148 exec . scriptFunc = compileScript ( compileScriptCode ( script ) ) ;
141- const ret = await exec . exec ( ) ;
149+ const retPromise = exec . exec ( ) ;
150+ const ret = await retPromise ;
142151 expect ( ret ) . toEqual ( "test1-test2-test3" ) ;
143152 } ) ;
144153
@@ -151,22 +160,30 @@ describe.concurrent("GM Api", () => {
151160 script . value . test1 = "40" ;
152161 script . metadata . grant = [ "GM_listValues" ] ;
153162 script . code = `return GM_listValues().join("-");` ;
154- // @ts -ignore
155- const exec = new ExecScript ( script , undefined , undefined , nilFn , envInfo ) ;
163+ const mockSendMessage = vi . fn ( ) . mockResolvedValue ( { code : 0 } ) ;
164+ const mockMessage = {
165+ sendMessage : mockSendMessage ,
166+ } as unknown as Message ;
167+ const exec = new ExecScript ( script , "content" , mockMessage , nilFn , envInfo ) ;
156168 exec . scriptFunc = compileScript ( compileScriptCode ( script ) ) ;
157- const ret = await exec . exec ( ) ;
158- expect ( ret ) . toEqual ( "test5-test2-test3-test1" ) ; // TM也沒有sort
169+ const retPromise = exec . exec ( ) ;
170+ const ret = await retPromise ;
171+ expect ( ret ) . toEqual ( "test5-test2-test3-test1" ) ; // TM也没有sort
159172 } ) ;
160173
161174 it . concurrent ( "GM.listValues" , async ( ) => {
162175 const script = Object . assign ( { } , scriptRes ) as ScriptLoadInfo ;
163176 script . value = { test1 : "23" , test2 : "45" , test3 : "67" } ;
164177 script . metadata . grant = [ "GM.listValues" ] ;
165178 script . code = `return GM.listValues().then(v=>v.join("-"));` ;
166- // @ts -ignore
167- const exec = new ExecScript ( script , undefined , undefined , nilFn , envInfo ) ;
179+ const mockSendMessage = vi . fn ( ) . mockResolvedValue ( { code : 0 } ) ;
180+ const mockMessage = {
181+ sendMessage : mockSendMessage ,
182+ } as unknown as Message ;
183+ const exec = new ExecScript ( script , "content" , mockMessage , nilFn , envInfo ) ;
168184 exec . scriptFunc = compileScript ( compileScriptCode ( script ) ) ;
169- const ret = await exec . exec ( ) ;
185+ const retPromise = exec . exec ( ) ;
186+ const ret = await retPromise ;
170187 expect ( ret ) . toEqual ( "test1-test2-test3" ) ;
171188 } ) ;
172189
@@ -179,11 +196,15 @@ describe.concurrent("GM Api", () => {
179196 script . value . test1 = "40" ;
180197 script . metadata . grant = [ "GM.listValues" ] ;
181198 script . code = `return GM.listValues().then(v=>v.join("-"));` ;
182- // @ts -ignore
183- const exec = new ExecScript ( script , undefined , undefined , nilFn , envInfo ) ;
199+ const mockSendMessage = vi . fn ( ) . mockResolvedValue ( { code : 0 } ) ;
200+ const mockMessage = {
201+ sendMessage : mockSendMessage ,
202+ } as unknown as Message ;
203+ const exec = new ExecScript ( script , "content" , mockMessage , nilFn , envInfo ) ;
184204 exec . scriptFunc = compileScript ( compileScriptCode ( script ) ) ;
185- const ret = await exec . exec ( ) ;
186- expect ( ret ) . toEqual ( "test5-test2-test3-test1" ) ; // TM也沒有sort
205+ const retPromise = exec . exec ( ) ;
206+ const ret = await retPromise ;
207+ expect ( ret ) . toEqual ( "test5-test2-test3-test1" ) ; // TM也没有sort
187208 } ) ;
188209
189210 it . concurrent ( "GM_getValues" , async ( ) => {
@@ -212,10 +233,14 @@ describe.concurrent("GM Api", () => {
212233 script . value = { test1 : "23" , test2 : 45 , test3 : "67" } ;
213234 script . metadata . grant = [ "GM.getValues" ] ;
214235 script . code = `return GM.getValues(["test2", "test3", "test1"]).then(v=>v);` ;
215- // @ts -ignore
216- const exec = new ExecScript ( script , undefined , undefined , nilFn , envInfo ) ;
236+ const mockSendMessage = vi . fn ( ) . mockResolvedValue ( { code : 0 } ) ;
237+ const mockMessage = {
238+ sendMessage : mockSendMessage ,
239+ } as unknown as Message ;
240+ const exec = new ExecScript ( script , "content" , mockMessage , nilFn , envInfo ) ;
217241 exec . scriptFunc = compileScript ( compileScriptCode ( script ) ) ;
218- const ret = await exec . exec ( ) ;
242+ const retPromise = exec . exec ( ) ;
243+ const ret = await retPromise ;
219244 expect ( ret . test1 ) . toEqual ( "23" ) ;
220245 expect ( ret . test2 ) . toEqual ( 45 ) ;
221246 expect ( ret . test3 ) . toEqual ( "67" ) ;
@@ -499,7 +524,7 @@ describe.concurrent("GM_value", () => {
499524 api : "GM_setValues" ,
500525 params : [
501526 // event id
502- expect . stringMatching ( / ^ .+ : : \d $ / ) ,
527+ expect . stringMatching ( / ^ .+ : : \d + $ / ) ,
503528 // the object payload
504529 keyValuePairs1 ,
505530 ] ,
@@ -523,7 +548,7 @@ describe.concurrent("GM_value", () => {
523548 api : "GM_setValues" ,
524549 params : [
525550 // event id
526- expect . stringMatching ( / ^ .+ : : \d $ / ) ,
551+ expect . stringMatching ( / ^ .+ : : \d + $ / ) ,
527552 // the object payload
528553 keyValuePairs2 ,
529554 ] ,
@@ -573,7 +598,7 @@ describe.concurrent("GM_value", () => {
573598 api : "GM_setValues" ,
574599 params : [
575600 // event id
576- expect . stringMatching ( / ^ .+ : : \d $ / ) ,
601+ expect . stringMatching ( / ^ .+ : : \d + $ / ) ,
577602 // the object payload
578603 keyValuePairs1 ,
579604 ] ,
@@ -592,7 +617,7 @@ describe.concurrent("GM_value", () => {
592617 api : "GM_setValue" ,
593618 params : [
594619 // event id
595- expect . stringMatching ( / ^ .+ : : \d $ / ) ,
620+ expect . stringMatching ( / ^ .+ : : \d + $ / ) ,
596621 // the string payload
597622 "b" ,
598623 ] ,
@@ -643,7 +668,7 @@ describe.concurrent("GM_value", () => {
643668 api : "GM_setValues" ,
644669 params : [
645670 // event id
646- expect . stringMatching ( / ^ .+ : : \d $ / ) ,
671+ expect . stringMatching ( / ^ .+ : : \d + $ / ) ,
647672 // the object payload
648673 keyValuePairs1 ,
649674 ] ,
@@ -667,7 +692,7 @@ describe.concurrent("GM_value", () => {
667692 api : "GM_setValues" ,
668693 params : [
669694 // event id
670- expect . stringMatching ( / ^ .+ : : \d $ / ) ,
695+ expect . stringMatching ( / ^ .+ : : \d + $ / ) ,
671696 // the string payload
672697 keyValuePairs2 ,
673698 ] ,
@@ -702,14 +727,16 @@ describe.concurrent("GM_value", () => {
702727 const retPromise = exec . exec ( ) ;
703728 expect ( mockSendMessage ) . toHaveBeenCalledTimes ( 1 ) ;
704729 // 模拟值变化
705- exec . valueUpdate ( {
706- id : "id-1" ,
707- entries : [ [ "param1" , encodeRValue ( 123 ) , encodeRValue ( undefined ) ] ] ,
708- uuid : script . uuid ,
709- storageName : script . uuid ,
710- sender : { runFlag : exec . sandboxContext ! . runFlag , tabId : - 2 } ,
711- valueUpdated : true ,
712- } ) ;
730+ exec . valueUpdate ( getStorageName ( script ) , script . uuid , [
731+ {
732+ id : "id-1" ,
733+ valueChanges : [ [ "param1" , encodeRValue ( 123 ) , encodeRValue ( undefined ) ] ] ,
734+ uuid : script . uuid ,
735+ storageName : script . uuid ,
736+ sender : { runFlag : exec . sandboxContext ! . runFlag , tabId : - 2 } ,
737+ updatetime : Date . now ( ) ,
738+ } ,
739+ ] ) ;
713740 const ret = await retPromise ;
714741 expect ( ret ) . toEqual ( { name : "param1" , oldValue : undefined , newValue : 123 , remote : false } ) ;
715742 } ) ;
@@ -737,14 +764,16 @@ describe.concurrent("GM_value", () => {
737764 const retPromise = exec . exec ( ) ;
738765 expect ( mockSendMessage ) . toHaveBeenCalledTimes ( 1 ) ;
739766 // 模拟值变化
740- exec . valueUpdate ( {
741- id : "id-2" ,
742- entries : [ [ "param2" , encodeRValue ( 456 ) , encodeRValue ( undefined ) ] ] ,
743- uuid : script . uuid ,
744- storageName : "testStorage" ,
745- sender : { runFlag : "user" , tabId : - 2 } ,
746- valueUpdated : true ,
747- } ) ;
767+ exec . valueUpdate ( getStorageName ( script ) , script . uuid , [
768+ {
769+ id : "id-2" ,
770+ valueChanges : [ [ "param2" , encodeRValue ( 456 ) , encodeRValue ( undefined ) ] ] ,
771+ uuid : script . uuid ,
772+ storageName : "testStorage" ,
773+ sender : { runFlag : "user" , tabId : - 2 } ,
774+ updatetime : Date . now ( ) ,
775+ } ,
776+ ] ) ;
748777 const ret2 = await retPromise ;
749778 expect ( ret2 ) . toEqual ( { name : "param2" , oldValue : undefined , newValue : 456 , remote : true } ) ;
750779 } ) ;
@@ -772,14 +801,16 @@ describe.concurrent("GM_value", () => {
772801 expect ( id ) . toBeTypeOf ( "string" ) ;
773802 expect ( id . length ) . greaterThan ( 0 ) ;
774803 // 触发valueUpdate
775- exec . valueUpdate ( {
776- id : id ,
777- entries : [ [ "a" , encodeRValue ( 123 ) , encodeRValue ( undefined ) ] ] ,
778- uuid : script . uuid ,
779- storageName : script . uuid ,
780- sender : { runFlag : exec . sandboxContext ! . runFlag , tabId : - 2 } ,
781- valueUpdated : true ,
782- } ) ;
804+ exec . valueUpdate ( getStorageName ( script ) , script . uuid , [
805+ {
806+ id : id ,
807+ valueChanges : [ [ "a" , encodeRValue ( 123 ) , encodeRValue ( undefined ) ] ] ,
808+ uuid : script . uuid ,
809+ storageName : script . uuid ,
810+ sender : { runFlag : exec . sandboxContext ! . runFlag , tabId : - 2 } ,
811+ updatetime : Date . now ( ) ,
812+ } ,
813+ ] ) ;
783814
784815 const ret = await retPromise ;
785816 expect ( ret ) . toEqual ( 123 ) ;
0 commit comments