@@ -437,7 +437,7 @@ The first step
437437expect ( result . levels [ 0 ] . steps [ 0 ] ) . toEqual ( expected . levels [ 0 ] . steps [ 0 ] ) ;
438438} ) ;
439439
440- it ( "should load the full config fora step " , ( ) => {
440+ it ( "should load the full config formultiple levels & steps " , ( ) => {
441441const md = `# Title
442442
443443Description.
@@ -524,12 +524,12 @@ The third step
524524text :md ,
525525 config,
526526commits :{
527- L1S1Q :[ "abcdefg1 " , "123456789" ] ,
528- L1S1A :[ "1gfedcba " , "987654321" ] ,
529- L1S2Q :[ "2abcdefg " ] ,
530- L1S2A :[ "3abcdefg " ] ,
531- L2S1Q :[ "4abcdefg " ] ,
532- L2S1A :[ "5abcdefg " ] ,
527+ L1S1Q :[ "abcdef1 " , "123456789" ] ,
528+ L1S1A :[ "1fedcba " , "987654321" ] ,
529+ L1S2Q :[ "2abcdef " ] ,
530+ L1S2A :[ "3abcdef " ] ,
531+ L2S1Q :[ "4abcdef " ] ,
532+ L2S1A :[ "5abcdef " ] ,
533533} ,
534534} ) ;
535535const expected = {
@@ -547,15 +547,15 @@ The third step
547547id :"L1S1" ,
548548content :"The first step" ,
549549setup :{
550- commits :[ "abcdefg1 " , "123456789" ] ,
550+ commits :[ "abcdef1 " , "123456789" ] ,
551551commands :[ "npm install" ] ,
552552files :[ "someFile.js" ] ,
553553watchers :[ "someFile.js" ] ,
554554filter :"someFilter" ,
555555subtasks :true ,
556556} ,
557557solution :{
558- commits :[ "1gfedcba " , "987654321" ] ,
558+ commits :[ "1fedcba " , "987654321" ] ,
559559commands :[ "npm install" ] ,
560560files :[ "someFile.js" ] ,
561561} ,
@@ -564,15 +564,15 @@ The third step
564564id :"L1S2" ,
565565content :"The second step" ,
566566setup :{
567- commits :[ "2abcdefg " ] ,
567+ commits :[ "2abcdef " ] ,
568568commands :[ "npm install" ] ,
569569files :[ "someFile.js" ] ,
570570watchers :[ "someFile.js" ] ,
571571filter :"someFilter" ,
572572subtasks :true ,
573573} ,
574574solution :{
575- commits :[ "3abcdefg " ] ,
575+ commits :[ "3abcdef " ] ,
576576commands :[ "npm install" ] ,
577577files :[ "someFile.js" ] ,
578578} ,
@@ -589,15 +589,15 @@ The third step
589589id :"L2S1" ,
590590content :"The third step" ,
591591setup :{
592- commits :[ "4abcdefg " ] ,
592+ commits :[ "4abcdef " ] ,
593593commands :[ "npm install" ] ,
594594files :[ "someFile.js" ] ,
595595watchers :[ "someFile.js" ] ,
596596filter :"someFilter" ,
597597subtasks :true ,
598598} ,
599599solution :{
600- commits :[ "5abcdefg " ] ,
600+ commits :[ "5abcdef " ] ,
601601commands :[ "npm install" ] ,
602602files :[ "someFile.js" ] ,
603603} ,
@@ -639,7 +639,7 @@ The first step
639639text :md ,
640640 config,
641641commits :{
642- L1S1Q :[ "abcdefg1 " , "123456789" ] ,
642+ L1S1Q :[ "abcdef1 " , "123456789" ] ,
643643} ,
644644} ) ;
645645const expected = {
@@ -657,7 +657,7 @@ The first step
657657id :"L1S1" ,
658658content :"The first step" ,
659659setup :{
660- commits :[ "abcdefg1 " , "123456789" ] ,
660+ commits :[ "abcdef1 " , "123456789" ] ,
661661} ,
662662} ,
663663] ,
@@ -684,7 +684,6 @@ Description.
684684} ,
685685directory :"coderoad" ,
686686setup :{
687- commits :[ "abcdefg1" ] ,
688687commands :[ ] ,
689688} ,
690689} ,
@@ -721,7 +720,6 @@ Description.
721720} ,
722721directory :"coderoad" ,
723722setup :{
724- commits :[ "abcdefg1" ] ,
725723commands :[ ] ,
726724} ,
727725} ,
@@ -742,4 +740,76 @@ Description.
742740} ;
743741expect ( result . config ) . toEqual ( expected . config ) ;
744742} ) ;
743+
744+ it ( "should parse the tutorial config with INIT commits" , ( ) => {
745+ const md = `# Title
746+
747+ Description.
748+ ` ;
749+
750+ const config = {
751+ config :{
752+ testRunner :{
753+ command :"./node_modules/.bin/mocha" ,
754+ args :{
755+ filter :"--grep" ,
756+ tap :"--reporter=mocha-tap-reporter" ,
757+ } ,
758+ directory :"coderoad" ,
759+ } ,
760+ appVersions :{
761+ vscode :">=0.7.0" ,
762+ } ,
763+ repo :{
764+ uri :"https://path.to/repo" ,
765+ branch :"aBranch" ,
766+ } ,
767+ dependencies :[
768+ {
769+ name :"node" ,
770+ version :">=10" ,
771+ } ,
772+ ] ,
773+ } ,
774+ } ;
775+ const result = parse ( {
776+ text :md ,
777+ config,
778+ commits :{
779+ INIT :[ "abcdef1" , "123456789" ] ,
780+ } ,
781+ } ) ;
782+ const expected = {
783+ summary :{
784+ description :"Description.\n\nSecond description line" ,
785+ } ,
786+ config :{
787+ testRunner :{
788+ command :"./node_modules/.bin/mocha" ,
789+ args :{
790+ filter :"--grep" ,
791+ tap :"--reporter=mocha-tap-reporter" ,
792+ } ,
793+ directory :"coderoad" ,
794+ setup :{
795+ commits :[ "abcdef1" , "123456789" ] ,
796+ } ,
797+ } ,
798+ repo :{
799+ uri :"https://path.to/repo" ,
800+ branch :"aBranch" ,
801+ } ,
802+ dependencies :[
803+ {
804+ name :"node" ,
805+ version :">=10" ,
806+ } ,
807+ ] ,
808+ appVersions :{
809+ vscode :">=0.7.0" ,
810+ } ,
811+ } ,
812+ } ;
813+ expect ( result . config ) . toEqual ( expected . config ) ;
814+ } ) ;
745815} ) ;