|  | @ -27,7 +27,7 @@ func TestDispenser_Val_Next(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 			  dir1 arg1 |  |  | 			  dir1 arg1 | 
			
		
	
		
		
			
				
					|  |  | 			  dir2 arg2 arg3 |  |  | 			  dir2 arg2 arg3 | 
			
		
	
		
		
			
				
					|  |  | 			  dir3` |  |  | 			  dir3` | 
			
		
	
		
		
			
				
					
					|  |  | 	d := newTestDispenser(input) |  |  | 	d := NewTestDispenser(input) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 	if val := d.Val(); val != "" { |  |  | 	if val := d.Val(); val != "" { | 
			
		
	
		
		
			
				
					|  |  | 		t.Fatalf("Val(): Should return empty string when no token loaded; got '%s'", val) |  |  | 		t.Fatalf("Val(): Should return empty string when no token loaded; got '%s'", val) | 
			
		
	
	
		
		
			
				
					|  | @ -65,7 +65,7 @@ func TestDispenser_NextArg(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 	input := `dir1 arg1 |  |  | 	input := `dir1 arg1 | 
			
		
	
		
		
			
				
					|  |  | 			  dir2 arg2 arg3 |  |  | 			  dir2 arg2 arg3 | 
			
		
	
		
		
			
				
					|  |  | 			  dir3` |  |  | 			  dir3` | 
			
		
	
		
		
			
				
					
					|  |  | 	d := newTestDispenser(input) |  |  | 	d := NewTestDispenser(input) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 	assertNext := func(shouldLoad bool, expectedVal string, expectedCursor int) { |  |  | 	assertNext := func(shouldLoad bool, expectedVal string, expectedCursor int) { | 
			
		
	
		
		
			
				
					|  |  | 		if d.Next() != shouldLoad { |  |  | 		if d.Next() != shouldLoad { | 
			
		
	
	
		
		
			
				
					|  | @ -112,7 +112,7 @@ func TestDispenser_NextLine(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 	input := `host:port |  |  | 	input := `host:port | 
			
		
	
		
		
			
				
					|  |  | 			  dir1 arg1 |  |  | 			  dir1 arg1 | 
			
		
	
		
		
			
				
					|  |  | 			  dir2 arg2 arg3` |  |  | 			  dir2 arg2 arg3` | 
			
		
	
		
		
			
				
					
					|  |  | 	d := newTestDispenser(input) |  |  | 	d := NewTestDispenser(input) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 	assertNextLine := func(shouldLoad bool, expectedVal string, expectedCursor int) { |  |  | 	assertNextLine := func(shouldLoad bool, expectedVal string, expectedCursor int) { | 
			
		
	
		
		
			
				
					|  |  | 		if d.NextLine() != shouldLoad { |  |  | 		if d.NextLine() != shouldLoad { | 
			
		
	
	
		
		
			
				
					|  | @ -145,7 +145,7 @@ func TestDispenser_NextBlock(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 			  } |  |  | 			  } | 
			
		
	
		
		
			
				
					|  |  | 			  foobar2 { |  |  | 			  foobar2 { | 
			
		
	
		
		
			
				
					|  |  | 			  }` |  |  | 			  }` | 
			
		
	
		
		
			
				
					
					|  |  | 	d := newTestDispenser(input) |  |  | 	d := NewTestDispenser(input) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 	assertNextBlock := func(shouldLoad bool, expectedCursor, expectedNesting int) { |  |  | 	assertNextBlock := func(shouldLoad bool, expectedCursor, expectedNesting int) { | 
			
		
	
		
		
			
				
					|  |  | 		if loaded := d.NextBlock(0); loaded != shouldLoad { |  |  | 		if loaded := d.NextBlock(0); loaded != shouldLoad { | 
			
		
	
	
		
		
			
				
					|  | @ -175,7 +175,7 @@ func TestDispenser_Args(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 			  dir2 arg4 arg5 |  |  | 			  dir2 arg4 arg5 | 
			
		
	
		
		
			
				
					|  |  | 			  dir3 arg6 arg7 |  |  | 			  dir3 arg6 arg7 | 
			
		
	
		
		
			
				
					|  |  | 			  dir4` |  |  | 			  dir4` | 
			
		
	
		
		
			
				
					
					|  |  | 	d := newTestDispenser(input) |  |  | 	d := NewTestDispenser(input) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 	d.Next() // dir1
 |  |  | 	d.Next() // dir1
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -242,7 +242,7 @@ func TestDispenser_RemainingArgs(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 			  dir2 arg4 arg5 |  |  | 			  dir2 arg4 arg5 | 
			
		
	
		
		
			
				
					|  |  | 			  dir3 arg6 { arg7 |  |  | 			  dir3 arg6 { arg7 | 
			
		
	
		
		
			
				
					|  |  | 			  dir4` |  |  | 			  dir4` | 
			
		
	
		
		
			
				
					
					|  |  | 	d := newTestDispenser(input) |  |  | 	d := NewTestDispenser(input) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 	d.Next() // dir1
 |  |  | 	d.Next() // dir1
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -279,7 +279,7 @@ func TestDispenser_ArgErr_Err(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 	input := `dir1 { |  |  | 	input := `dir1 { | 
			
		
	
		
		
			
				
					|  |  | 			  } |  |  | 			  } | 
			
		
	
		
		
			
				
					|  |  | 			  dir2 arg1 arg2` |  |  | 			  dir2 arg1 arg2` | 
			
		
	
		
		
			
				
					
					|  |  | 	d := newTestDispenser(input) |  |  | 	d := NewTestDispenser(input) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 	d.cursor = 1 // {
 |  |  | 	d.cursor = 1 // {
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -307,7 +307,9 @@ func TestDispenser_ArgErr_Err(t *testing.T) { | 
			
		
	
		
		
			
				
					|  |  | 	} |  |  | 	} | 
			
		
	
		
		
			
				
					|  |  | } |  |  | } | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  | func newTestDispenser(input string) *Dispenser { |  |  | // NewTestDispenser parses input into tokens and creates a new
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  | // Disenser for test purposes only; any errors are fatal.
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | func NewTestDispenser(input string) *Dispenser { | 
			
		
	
		
		
			
				
					|  |  | 	tokens, err := allTokens("Testfile", []byte(input)) |  |  | 	tokens, err := allTokens("Testfile", []byte(input)) | 
			
		
	
		
		
			
				
					|  |  | 	if err != nil && err != io.EOF { |  |  | 	if err != nil && err != io.EOF { | 
			
		
	
		
		
			
				
					|  |  | 		log.Fatalf("getting all tokens from input: %v", err) |  |  | 		log.Fatalf("getting all tokens from input: %v", err) | 
			
		
	
	
		
		
			
				
					|  | 
 |