@@ -151,7 +151,7 @@ describe('SCXML to XState conversion', () => {
151151 // SCXML events get .* suffix for prefix matching
152152 const transition = json . states ! . a . on ! [ 'GO.*' ] ;
153153 expect ( transition ) . toBeDefined ( ) ;
154- expect ( ( transition as any ) . target ) . toEqual ( [ 'b' ] ) ;
154+ expect ( ( transition as any ) . target ) . toEqual ( [ '# b' ] ) ;
155155 } ) ;
156156
157157 it ( 'should convert guarded transitions' , ( ) => {
@@ -302,7 +302,7 @@ describe('SCXML to XState conversion', () => {
302302 expect ( json . states ! . a . always ) . toBeDefined ( ) ;
303303 const always = json . states ! . a . always as any [ ] ;
304304 expect ( always ) . toHaveLength ( 1 ) ;
305- expect ( always [ 0 ] . target ) . toEqual ( [ 'b' ] ) ;
305+ expect ( always [ 0 ] . target ) . toEqual ( [ '# b' ] ) ;
306306 } ) ;
307307 } ) ;
308308
@@ -413,7 +413,7 @@ describe('SCXML to XState conversion', () => {
413413 expect ( json . states ! . parent . states ! . hist ) . toMatchObject ( {
414414 type : 'history' ,
415415 history : 'shallow' ,
416- target : 'child1'
416+ target : '# child1'
417417 } ) ;
418418 } ) ;
419419
@@ -508,7 +508,7 @@ describe('SCXML to XState conversion', () => {
508508 expect ( json . states ! [ 'state$two' ] ) . toBeDefined ( ) ;
509509
510510 const transition = json . states ! [ 'state$one' ] . on ! [ 'GO.*' ] as any ;
511- expect ( transition . target ) . toEqual ( [ 'state$two' ] ) ;
511+ expect ( transition . target ) . toEqual ( [ '# state$two' ] ) ;
512512 } ) ;
513513
514514 it ( 'should sanitize nested state IDs with dots (foo.bar.baz → foo$bar$baz)' , ( ) => {
@@ -696,180 +696,4 @@ describe('createMachineFromConfig', () => {
696696 expect ( nextState3 . value ) . toEqual ( 'c' ) ;
697697 expect ( nextState3 . context ) . toEqual ( { count : 42 } ) ;
698698 } ) ;
699-
700- it . only ( 'test' , ( ) => {
701- const scxml = `
702- <scxml
703- datamodel="ecmascript"
704- xmlns="http://www.w3.org/2005/07/scxml"
705- version="1.0">
706-
707- <datamodel>
708- <data id="i"/>
709- </datamodel>
710-
711- <state id="a">
712- <transition target="b" event="t">
713- <assign location="i" expr="0"/>
714- </transition>
715- </state>
716-
717- <state id="A">
718-
719- <state id="b">
720- <transition target="c" cond="i < 100">
721- <assign location="i" expr="i + 1"/>
722- </transition>
723- </state>
724-
725- <state id="c">
726- <transition target="b" cond="i < 100">
727- <assign location="i" expr="i + 1"/>
728- </transition>
729- </state>
730-
731- <transition target="d" cond="i === 100">
732- <assign location="i" expr="i * 2"/>
733- </transition>
734- </state>
735-
736-
737- <state id="d">
738- <transition target="e" cond="i === 200"/>
739- <transition target="f"/>
740- </state>
741-
742- <state id="e"/>
743-
744- <state id="f"/>
745-
746- </scxml>
747- ` ;
748- // const machine = toMachine(scxml);
749- const machine = createMachineFromConfig ( {
750- id : '(machine)' ,
751- initial : 'a' ,
752- states : {
753- a : {
754- id : 'a' ,
755- on : {
756- 't.*' : {
757- target : [ '#b' ] ,
758- actions : [
759- {
760- type : 'scxml.assign' ,
761- location : 'i' ,
762- expr : '0'
763- }
764- ] ,
765- reenter : true
766- }
767- }
768- } ,
769- A : {
770- id : 'A' ,
771- initial : 'b' ,
772- states : {
773- b : {
774- id : 'b' ,
775- always : [
776- {
777- target : [ '#c' ] ,
778- actions : [
779- {
780- type : 'scxml.assign' ,
781- location : 'i' ,
782- expr : 'i + 1'
783- }
784- ] ,
785- guard : {
786- type : 'scxml.cond' ,
787- params : {
788- expr : 'i < 100'
789- }
790- } ,
791- reenter : true
792- }
793- ]
794- } ,
795- c : {
796- id : 'c' ,
797- always : [
798- {
799- target : [ '#b' ] ,
800- actions : [
801- {
802- type : 'scxml.assign' ,
803- location : 'i' ,
804- expr : 'i + 1'
805- }
806- ] ,
807- guard : {
808- type : 'scxml.cond' ,
809- params : {
810- expr : 'i < 100'
811- }
812- } ,
813- reenter : true
814- }
815- ]
816- }
817- } ,
818- always : [
819- {
820- target : [ '#d' ] ,
821- actions : [
822- {
823- type : 'scxml.assign' ,
824- location : 'i' ,
825- expr : 'i * 2'
826- }
827- ] ,
828- guard : {
829- type : 'scxml.cond' ,
830- params : {
831- expr : 'i === 100'
832- }
833- } ,
834- reenter : true
835- }
836- ]
837- } ,
838- d : {
839- id : 'd' ,
840- always : [
841- {
842- target : [ '#e' ] ,
843- guard : {
844- type : 'scxml.cond' ,
845- params : {
846- expr : 'i === 200'
847- }
848- } ,
849- reenter : true
850- } ,
851- {
852- target : [ '#f' ] ,
853- reenter : true
854- }
855- ]
856- } ,
857- e : {
858- id : 'e'
859- } ,
860- f : {
861- id : 'f'
862- }
863- } ,
864- context : {
865- i : undefined
866- }
867- } ) ;
868-
869- let [ state ] = initialTransition ( machine ) ;
870- expect ( state . value ) . toEqual ( 'a' ) ;
871- [ state ] = transition ( machine , state , { type : 't' } ) ;
872- expect ( state . context ) . toEqual ( { i : 100 } ) ;
873- expect ( state . value ) . toEqual ( 'e' ) ;
874- } ) ;
875699} ) ;
0 commit comments