github.com/unirita/cuto@v0.9.8-0.20160830082821-aa6652f877b7/servant/job/util_test.go (about)

     1  // Copyright 2015 unirita Inc.
     2  // Created 2015/04/10 shanxia
     3  
     4  package job
     5  
     6  import (
     7  	"testing"
     8  )
     9  
    10  func TestParamSplit_A(t *testing.T) {
    11  	m := "A B \"C D E\" F G \"H I J\" K"
    12  	params := paramSplit(m)
    13  	if params[0] != "A" {
    14  		t.Errorf("Aが返るべきところ、%vが返りました。", m[0])
    15  	}
    16  	if params[1] != "B" {
    17  		t.Errorf("Bが返るべきところ、%vが返りました。", m[1])
    18  	}
    19  	if params[2] != "C D E" {
    20  		t.Errorf("C D Eが返るべきところ、%vが返りました。", m[2])
    21  	}
    22  	if params[3] != "F" {
    23  		t.Errorf("Fが返るべきところ、%vが返りました。", m[3])
    24  	}
    25  	if params[4] != "G" {
    26  		t.Errorf("Gが返るべきところ、%vが返りました。", m[4])
    27  	}
    28  	if params[5] != "H I J" {
    29  		t.Errorf("H I Jが返るべきところ、%vが返りました。", m[5])
    30  	}
    31  	if params[6] != "K" {
    32  		t.Errorf("Kが返るべきところ、%vが返りました。", m[6])
    33  	}
    34  }
    35  
    36  func TestParamSplit_B(t *testing.T) {
    37  	m := "\"A B"
    38  	params := paramSplit(m)
    39  	if params[0] != "\"A" {
    40  		t.Errorf("\"Aが返るべきところ、%vが返りました。", m[0])
    41  	}
    42  	if params[1] != "B" {
    43  		t.Errorf("Bが返るべきところ、%vが返りました。", m[1])
    44  	}
    45  }
    46  
    47  func TestParamSplit_C(t *testing.T) {
    48  	m := "A B\""
    49  	params := paramSplit(m)
    50  	if params[0] != "A" {
    51  		t.Errorf("Aが返るべきところ、%vが返りました。", m[0])
    52  	}
    53  	if params[1] != "B\"" {
    54  		t.Errorf("B\"が返るべきところ、%vが返りました。", m[1])
    55  	}
    56  }
    57  
    58  func TestParamSplit_D(t *testing.T) {
    59  	m := "A B\"C D"
    60  	params := paramSplit(m)
    61  	if params[0] != "A" {
    62  		t.Errorf("Aが返るべきところ、%vが返りました。", m[0])
    63  	}
    64  	if params[1] != "B\"C" {
    65  		t.Errorf("B\"Cが返るべきところ、%vが返りました。", m[1])
    66  	}
    67  	if params[2] != "D" {
    68  		t.Errorf("Dが返るべきところ、%vが返りました。", m[2])
    69  	}
    70  }
    71  
    72  func TestParamSplit_E(t *testing.T) {
    73  	m := "A B\"CD \" "
    74  	params := paramSplit(m)
    75  	if params[0] != "A" {
    76  		t.Errorf("Aが返るべきところ、%vが返りました。", m[0])
    77  	}
    78  	if params[1] != "B\"CD \"" {
    79  		t.Errorf("B\"CD \"が返るべきところ、%vが返りました。", m[1])
    80  	}
    81  }
    82  
    83  func TestParamSplit_F(t *testing.T) {
    84  	m := "A \"B C D\" E F\" G\""
    85  	params := paramSplit(m)
    86  	if params[0] != "A" {
    87  		t.Errorf("Aが返るべきところ、%vが返りました。", m[0])
    88  	}
    89  	if params[1] != "B C D" {
    90  		t.Errorf("B C Dが返るべきところ、%vが返りました。", m[1])
    91  	}
    92  	if params[2] != "E" {
    93  		t.Errorf("Eが返るべきところ、%vが返りました。", m[2])
    94  	}
    95  	if params[3] != "F\" G\"" {
    96  		t.Errorf("F\" G\"が返るべきところ、%vが返りました。", m[3])
    97  	}
    98  }
    99  
   100  func TestShellFormat_Exist(t *testing.T) {
   101  	s := shellFormat("A B C")
   102  	if s != "\"A B C\"" {
   103  		t.Errorf("Invalid Format - %v", s)
   104  	}
   105  }
   106  
   107  func TestShellFormat_NoExist(t *testing.T) {
   108  	s := shellFormat("ABC")
   109  	if s != "ABC" {
   110  		t.Errorf("Invalid Format - %v", s)
   111  	}
   112  }