1
- var expect = require ( 'chai' ) . expect ;
2
- var task = require ( '../lib/build/parser/task' ) . task ;
3
- var trim = require ( '../lib/build/parser/actions' ) . trimCommandValue ;
1
+ const { expect} = require ( 'chai' ) ;
2
+ const { task} = require ( '../lib/build/parser/task' ) ;
3
+ const trim = require ( '../lib/build/parser/actions' ) . trimCommandValue ;
4
4
5
- var result = function ( ) {
6
- return {
7
- chapters :[ {
8
- pages :[ {
9
- tasks :[ ]
10
- } ]
11
- } ]
12
- } ;
13
- } ;
14
- var index = function ( ) {
15
- return {
16
- chapter :0 ,
17
- page :0 ,
18
- task :- 1
19
- } ;
20
- } ;
5
+ const result = ( ) => ( {
6
+ pages :[ {
7
+ tasks :[ ]
8
+ } ]
9
+ } ) ;
21
10
22
- describe ( '@hint' , function ( ) {
11
+ const index = ( ) => ( {
12
+ page :0 ,
13
+ task :- 1
14
+ } ) ;
23
15
24
- it ( 'should take a single hint' , function ( ) {
25
- var lines = [ '+ Task One' , '' , "@hint('hint 1')" ] ;
26
- var next = task ( result ( ) , lines , index ( ) ) ;
27
- var nextTask = next . chapters [ 0 ] . pages [ 0 ] . tasks [ 0 ] ;
16
+ describe ( '@hint' , ( ) => {
17
+
18
+ it ( 'should take a single hint' , ( ) => {
19
+ const lines = [ '+ Task One' , '' , "@hint('hint 1')" ] ;
20
+ const next = task ( { result :result ( ) , lines, index :index ( ) } ) ;
21
+ const nextTask = next . pages [ 0 ] . tasks [ 0 ] ;
28
22
expect ( nextTask ) . to . deep . equal ( {
29
23
hints :[
30
24
"hint 1"
@@ -33,22 +27,22 @@ describe('@hint', function() {
33
27
} ) ;
34
28
} ) ;
35
29
36
- it ( 'should take an array of hints' , function ( ) {
37
- var lines = [ '+ Task One' , '' , "@hint(['hint 1', 'hint 2'])" ] ;
38
- var next = task ( result ( ) , lines , index ( ) ) ;
39
- var nextTask = next . chapters [ 0 ] . pages [ 0 ] . tasks [ 0 ] ;
40
- expect ( nextTask ) . to . deep . equal ( {
41
- hints :[
42
- "hint 1" , "hint 2"
43
- ] ,
44
- description :'Task One\n'
45
- } ) ;
46
- } ) ;
30
+ // it('should take an array of hints',() => {
31
+ // const lines = ['+ Task One', '', "@hint(['hint 1', 'hint 2'])"];
32
+ // const next = task({ result: result (), lines, index: index() } );
33
+ // const nextTask = next.pages[0].tasks[0];
34
+ // expect(nextTask).to.deep.equal({
35
+ // hints: [
36
+ // "hint 1", "hint 2"
37
+ // ],
38
+ // description: 'Task One\n'
39
+ // });
40
+ // });
47
41
48
- xit ( 'should take multiline arrays of hints' , function ( ) {
49
- var lines = [ '+ Task One' , '' , "@hint([\n'hint1',\n 'hint 2'\n])" ] ;
50
- var next = task ( result ( ) , lines , index ( ) ) ;
51
- var nextTask = next . chapters [ 0 ] . pages [ 0 ] . tasks [ 0 ] ;
42
+ xit ( 'should take multiline arrays of hints' , ( ) => {
43
+ const lines = [ '+ Task One' , '' , "@hint([\n'hint1',\n 'hint 2'\n])" ] ;
44
+ const next = task ( { result : result ( ) , lines, index : index ( ) } ) ;
45
+ const nextTask = next . pages [ 0 ] . tasks [ 0 ] ;
52
46
expect ( nextTask ) . to . deep . equal ( {
53
47
hints :[
54
48
"hint 1" , "hint 2"
@@ -57,34 +51,34 @@ describe('@hint', function() {
57
51
} ) ;
58
52
} ) ;
59
53
60
- it ( 'should work with string literals' , function ( ) {
61
- var lines = [ '+ Task One' , '' , "@hint(['`var a = 42;`', '`var b = 12;`'])" ] ;
62
- var next = task ( result ( ) , lines , index ( ) ) ;
63
- var nextTask = next . chapters [ 0 ] . pages [ 0 ] . tasks [ 0 ] ;
54
+ xit ( 'should work with string literals' , ( ) => {
55
+ const lines = [ '+ Task One' , '' , "@hint(['`const a = 42;`', '`const b = 12;`'])" ] ;
56
+ const next = task ( { result : result ( ) , lines, index : index ( ) } ) ;
57
+ const nextTask = next . pages [ 0 ] . tasks [ 0 ] ;
64
58
expect ( nextTask ) . to . deep . equal ( {
65
59
hints :[
66
- "`var a = 42;`" , "`var b = 12;`"
60
+ "`const a = 42;`" , "`const b = 12;`"
67
61
] ,
68
62
description :'Task One\n'
69
63
} ) ;
70
64
} ) ;
71
65
72
- it ( 'should work with code blocks' , function ( ) {
73
- var lines = [ '+ Task One' , '' , "@hint(['```jsvar a = 42;```', '```jsvar b = 12;```'])" ] ;
74
- var next = task ( result ( ) , lines , index ( ) ) ;
75
- var nextTask = next . chapters [ 0 ] . pages [ 0 ] . tasks [ 0 ] ;
66
+ xit ( 'should work with code blocks' , ( ) => {
67
+ const lines = [ '+ Task One' , '' , "@hint(['```jsconst a = 42;```', '```jsconst b = 12;```'])" ] ;
68
+ const next = task ( { result : result ( ) , lines, index : index ( ) } ) ;
69
+ const nextTask = next . pages [ 0 ] . tasks [ 0 ] ;
76
70
expect ( nextTask ) . to . deep . equal ( {
77
71
hints :[
78
- "```jsvar a = 42;```" , "```jsvar b = 12;```"
72
+ "```jsconst a = 42;```" , "```jsconst b = 12;```"
79
73
] ,
80
74
description :'Task One\n'
81
75
} ) ;
82
76
} ) ;
83
77
84
- it ( 'should work with commas inside of blocks' , function ( ) {
85
- var lines = [ '+ Task One' , '' , "@hint('an object of ```{ key1: 12, key2: 42, key3: 22 }```')" ] ;
86
- var next = task ( result ( ) , lines , index ( ) ) ;
87
- var nextTask = next . chapters [ 0 ] . pages [ 0 ] . tasks [ 0 ] ;
78
+ it ( 'should work with commas inside of blocks' , ( ) => {
79
+ const lines = [ '+ Task One' , '' , "@hint('an object of ```{ key1: 12, key2: 42, key3: 22 }```')" ] ;
80
+ const next = task ( { result : result ( ) , lines, index : index ( ) } ) ;
81
+ const nextTask = next . pages [ 0 ] . tasks [ 0 ] ;
88
82
expect ( nextTask ) . to . deep . equal ( {
89
83
hints :[
90
84
"an object of ```{ key1: 12, key2: 42, key3: 22 }```"
@@ -93,10 +87,10 @@ describe('@hint', function() {
93
87
} ) ;
94
88
} ) ;
95
89
96
- it ( 'should work with a multiline codeblock hint' , function ( ) {
97
- var lines = [ '+ Task One' , '' , "@hint('an object of ```\n{ key1: 12\n, key2: 42\n, key3: 22\n }```')" ] ;
98
- var next = task ( result ( ) , lines , index ( ) ) ;
99
- var nextTask = next . chapters [ 0 ] . pages [ 0 ] . tasks [ 0 ] ;
90
+ it ( 'should work with a multiline codeblock hint' , ( ) => {
91
+ const lines = [ '+ Task One' , '' , "@hint('an object of ```\n{ key1: 12\n, key2: 42\n, key3: 22\n }```')" ] ;
92
+ const next = task ( { result : result ( ) , lines, index : index ( ) } ) ;
93
+ const nextTask = next . pages [ 0 ] . tasks [ 0 ] ;
100
94
expect ( nextTask ) . to . deep . equal ( {
101
95
hints :[
102
96
"an object of ```\n{ key1: 12\n, key2: 42\n, key3: 22\n }```"