1
1
'use strict' ;
2
2
3
+ const path = require ( 'path' ) ;
3
4
const tap = require ( 'tap' ) ;
5
+ const fs = require ( 'fs-extra' ) ;
4
6
5
- var loadPattern = require ( '../src/lib/loadPattern' ) ;
6
7
const addPattern = require ( '../src/lib/addPattern' ) ;
7
8
const parseAllLinks = require ( '../src/lib/parseAllLinks' ) ;
8
9
9
- var Pattern = require ( '../src/lib/object_factory' ) . Pattern ;
10
- var PatternGraph = require ( '../src/lib/pattern_graph' ) . PatternGraph ;
10
+ const Pattern = require ( '../src/lib/object_factory' ) . Pattern ;
11
+ const PatternGraph = require ( '../src/lib/pattern_graph' ) . PatternGraph ;
12
+ const da = require ( '../src/lib/data_loader' ) ;
13
+ const dataLoader = new da ( ) ;
11
14
12
- var plMain = require ( '../src/lib/patternlab ' ) ;
13
- var config = require ( './util/patternlab-config.json' ) ;
15
+ const util = require ( './util/test_utils.js ' ) ;
16
+ const patterns_dir = './test/files/_patterns' ;
14
17
15
18
tap . test (
16
19
'parseDataLinks - replaces found link.* data for their expanded links' ,
17
20
function ( test ) {
18
21
//arrange
19
- var patternlab = new plMain ( config ) ;
22
+ const patternlab = util . fakePatternLab ( patterns_dir ) ;
20
23
patternlab . graph = PatternGraph . empty ( ) ;
21
24
22
25
patternlab . patterns = [
@@ -26,7 +29,17 @@ tap.test(
26
29
] ;
27
30
patternlab . data . link = { } ;
28
31
29
- var navPattern = loadPattern ( '00-test/nav.mustache' , patternlab ) ;
32
+ // copies essential logic from loadPattern
33
+ const navPattern = new Pattern ( '00-test/nav.mustache' ) ;
34
+ const patternData = dataLoader . loadDataFromFile (
35
+ path . resolve (
36
+ 'test/files/_patterns' ,
37
+ navPattern . subdir ,
38
+ navPattern . fileName
39
+ ) ,
40
+ fs
41
+ ) ;
42
+ navPattern . jsonFileData = patternData ;
30
43
addPattern ( navPattern , patternlab ) ;
31
44
32
45
//for the sake of the test, also imagining I have the following pages...
@@ -38,8 +51,8 @@ tap.test(
38
51
patternlab . data . dave = { url : 'link.twitter-dave' } ;
39
52
patternlab . data . brian = { url : 'link.twitter-brian' } ;
40
53
41
- var pattern ;
42
- for ( var i = 0 ; i < patternlab . patterns . length ; i ++ ) {
54
+ let pattern ;
55
+ for ( let i = 0 ; i < patternlab . patterns . length ; i ++ ) {
43
56
if ( patternlab . patterns [ i ] . patternPartial === 'test-nav' ) {
44
57
pattern = patternlab . patterns [ i ] ;
45
58
}
0 commit comments