93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 1. nested includes in subdirectories
 | |
|  mkdir -p b/c/d ; printf '2010/1/1\n (D)  1\n' >b/c/d/d.journal ; printf '2010/1/1\n (C)  1\n!include d/d.journal\n' >b/c/c.journal ; printf '2010/1/1\n (B)  1\n!include c/c.journal\n' >b/b.journal ; printf '2010/1/1\n (A)  1\n!include b/b.journal\n' >a.journal ; hledger -f a.journal print; rm -rf a.journal b
 | |
| >>>
 | |
| 2010/01/01
 | |
|     (A)               1
 | |
| 
 | |
| 2010/01/01
 | |
|     (B)               1
 | |
| 
 | |
| 2010/01/01
 | |
|     (C)               1
 | |
| 
 | |
| 2010/01/01
 | |
|     (D)               1
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # 2. including other formats
 | |
| hledger -f - print
 | |
| <<<
 | |
| 2016/1/1
 | |
|    (x)  1
 | |
| 
 | |
| include a.timeclock
 | |
| include b.timedot
 | |
| >>>
 | |
| 2016/01/01
 | |
|     (x)            1.00
 | |
| 
 | |
| 2016/01/01 * 12:00-16:00
 | |
|     (a:aa)           4.00h
 | |
| 
 | |
| 2016/01/01 *
 | |
|     (b.bb)            1.00
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # 3. include glob patterns
 | |
|  printf '2018/01/01\n (A)  1\n' >ab.journal; printf '2018/01/01\n  (B)  1' >bb.journal; hledger -f - print; rm -f ab.journal bb.journal
 | |
| <<<
 | |
| include *b.journal
 | |
| >>>
 | |
| 2018/01/01
 | |
|     (A)               1
 | |
| 
 | |
| 2018/01/01
 | |
|     (B)               1
 | |
| 
 | |
| >>>=0
 | |
| 
 | |
| # 4. include invalid glob patterns
 | |
| hledger -f - print
 | |
| <<<
 | |
| include [.journal
 | |
| >>>=1
 | |
| 
 | |
| # 5. include nonexsitant file
 | |
| hledger -f - print
 | |
| <<<
 | |
| include doesnotexist.journal
 | |
| >>>=1
 | |
| 
 | |
| # 6. include relative to home
 | |
|  printf '2018/01/01\n (A)  1\n' >included.journal; HOME="$PWD" hledger -f - print; rm -rf included.journal
 | |
| <<<
 | |
| include ~/included.journal
 | |
| >>>
 | |
| 2018/01/01
 | |
|     (A)               1
 | |
| 
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # The next tests require hard coded file names, so are not concurrent-safe.
 | |
| # They use different file names so a single concurrent shelltest invocation will be fine.
 | |
| 
 | |
| # 7. test that order of include files is maintained
 | |
|  printf 'include _b\n' >_a; touch _b; hledger -f _a stats | grep _ | sed -e 's%.*/%%'; rm -rf _a _b
 | |
| >>>
 | |
| _a
 | |
| _b
 | |
| >>>2
 | |
| >>>=0
 | |
| 
 | |
| # 8. and with --auto code path
 | |
|  printf 'include _d\n=\n' >_c; touch _d; hledger -f _c stats --auto | grep _ | sed -e 's%.*/%%'; rm -rf _c _d
 | |
| >>>
 | |
| _c
 | |
| _d
 | |
| >>>2
 | |
| >>>=0
 |