@@ -6,58 +6,46 @@ import * as _ from "https://raw.githubusercontent.com/lodash/lodash/4.17.21-es/l
66describe ( "external" , ( ) => {
77 it ( "can represent any arbitrary javascript value" , async ( ) => {
88 let obj = { unqiue : "object" } ;
9- let ps = createPlatformScript ( ( ) =>
10- map ( {
11- "extern" : external ( obj ) ,
12- } )
13- ) ;
14- expect ( ( await ps . eval ( parse ( "$extern" ) ) ) . value ) . toBe ( obj ) ;
9+ let binding = map ( {
10+ "extern" : external ( obj ) ,
11+ } ) ;
12+
13+ let ps = createPlatformScript ( ) ;
14+ expect ( ( await ps . eval ( parse ( "$extern" ) , binding ) ) . value ) . toBe ( obj ) ;
1515 } ) ;
1616
1717 it ( "can define new PS values from the external value" , async ( ) => {
1818 let obj = { I : { contain : { the : { number : number ( 5 ) } } } } ;
19- let ps = createPlatformScript ( ( ) =>
20- map ( {
21- "truly" : external ( obj , ( path , o ) => _ . get ( o , path ) ) ,
22- } )
23- ) ;
19+ let binding = map ( {
20+ "truly" : external ( obj , ( path , o ) => _ . get ( o , path ) ) ,
21+ } ) ;
22+ let ps = createPlatformScript ( ) ;
2423
2524 let program = parse ( "$truly.I.contain.the.number" ) ;
26- expect ( ( await ps . eval ( program ) ) . value ) . toEqual ( 5 ) ;
25+ expect ( ( await ps . eval ( program , binding ) ) . value ) . toEqual ( 5 ) ;
2726 } ) ;
2827 it ( "errors if a dereference is undefined" , async ( ) => {
29- let ps = createPlatformScript ( ( ) =>
30- map ( {
31- "oops" : external ( { } , ( ) => void 0 ) ,
32- } )
33- ) ;
34- try {
35- await ps . eval ( parse ( "$oops.i.did.it.again" ) ) ;
36- throw new Error ( "expected block to throw, but it did not" ) ;
37- } catch ( error ) {
38- expect ( error . name ) . toEqual ( "ReferenceError" ) ;
39- }
28+ let binding = map ( {
29+ "oops" : external ( { } , ( ) => void 0 ) ,
30+ } ) ;
31+ let ps = createPlatformScript ( ) ;
32+
33+ await expect ( ps . eval ( parse ( "$oops.i.did.it.again" ) , binding ) ) . rejects
34+ . toHaveProperty ( "name" , "ReferenceError" ) ;
4035 } ) ;
4136 it ( "errors if a derefenence does not return a PSValue" , async ( ) => {
42- let ps = createPlatformScript ( ( ) =>
43- map ( {
44- "oops" : external (
45- { wrong : "type" } ,
46- //@ts -expect-error situation could happen if you are using JavaScript...
47- ( ) => ( { type : "WAT!!" , value : "hi" } ) ,
48- ) ,
49- } )
37+ let binding = map ( {
38+ "oops" : external (
39+ { wrong : "type" } ,
40+ //@ts -expect-error situation could happen if you are using JavaScript...
41+ ( ) => ( { type : "WAT!!" , value : "hi" } ) ,
42+ ) ,
43+ } ) ;
44+ let ps = createPlatformScript ( ) ;
45+ await expect ( ps . eval ( parse ( "$oops.wrong" ) , binding ) ) . rejects . toHaveProperty (
46+ "name" ,
47+ "TypeError" ,
5048 ) ;
51-
52- try {
53- await ps . eval ( parse ( "$oops.wrong" ) ) ;
54- throw new Error ( "expected block to throw, but it did not" ) ;
55- } catch ( error ) {
56- expect ( error . message ) . toMatch (
57- / d i d n o t r e s o l v e t o a p l a t f o r m s c r i p t v a l u e / ,
58- ) ;
59- expect ( error . name ) . toEqual ( "TypeError" ) ;
60- }
6149 } ) ;
6250 // it("can handle an exception that happens during dereference");
6351} ) ;
0 commit comments