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
 |