You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							76 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							76 lines
						
					
					
						
							1.7 KiB
						
					
					
				| 'use strict'
 | |
| 
 | |
| const test = require('tap').test
 | |
| const boot = require('..')
 | |
| 
 | |
| test('pretty print', t => {
 | |
|   t.plan(19)
 | |
| 
 | |
|   const app = boot()
 | |
|   app
 | |
|     .use(first)
 | |
|     .use(duplicate, { count: 3 })
 | |
|     .use(second).after(afterUse).after(after)
 | |
|     .use(duplicate, { count: 2 })
 | |
|     .use(third).after(after)
 | |
|     .use(duplicate, { count: 1 })
 | |
| 
 | |
|   const linesExpected = [/bound root \d+ ms/,
 | |
|     /├── first \d+ ms/,
 | |
|     /├─┬ duplicate \d+ ms/,
 | |
|     /│ └─┬ duplicate \d+ ms/,
 | |
|     /│ {3}└─┬ duplicate \d+ ms/,
 | |
|     /│ {5}└── duplicate \d+ ms/,
 | |
|     /├── second \d+ ms/,
 | |
|     /├─┬ bound _after \d+ ms/,
 | |
|     /│ └── afterInsider \d+ ms/,
 | |
|     /├── bound _after \d+ ms/,
 | |
|     /├─┬ duplicate \d+ ms/,
 | |
|     /│ └─┬ duplicate \d+ ms/,
 | |
|     /│ {3}└── duplicate \d+ ms/,
 | |
|     /├── third \d+ ms/,
 | |
|     /├── bound _after \d+ ms/,
 | |
|     /└─┬ duplicate \d+ ms/,
 | |
|     / {2}└── duplicate \d+ ms/,
 | |
|     ''
 | |
|   ]
 | |
| 
 | |
|   app.on('preReady', function show () {
 | |
|     const print = app.prettyPrint()
 | |
|     const lines = print.split('\n')
 | |
| 
 | |
|     t.equal(lines.length, linesExpected.length)
 | |
|     lines.forEach((l, i) => {
 | |
|       t.match(l, linesExpected[i])
 | |
|     })
 | |
|   })
 | |
| 
 | |
|   function first (s, opts, done) {
 | |
|     done()
 | |
|   }
 | |
|   function second (s, opts, done) {
 | |
|     done()
 | |
|   }
 | |
|   function third (s, opts, done) {
 | |
|     done()
 | |
|   }
 | |
|   function after (err, cb) {
 | |
|     cb(err)
 | |
|   }
 | |
|   function afterUse (err, cb) {
 | |
|     app.use(afterInsider)
 | |
|     cb(err)
 | |
|   }
 | |
| 
 | |
|   function afterInsider (s, opts, done) {
 | |
|     done()
 | |
|   }
 | |
| 
 | |
|   function duplicate (instance, opts, cb) {
 | |
|     if (opts.count > 0) {
 | |
|       instance.use(duplicate, { count: opts.count - 1 })
 | |
|     }
 | |
|     setTimeout(cb, 20)
 | |
|   }
 | |
| })
 |