mirror of https://github.com/alibaba/arthas.git
commit
97518b3d60
@ -0,0 +1,126 @@
|
||||
package com.taobao.arthas.core.util;
|
||||
|
||||
import com.taobao.arthas.core.shell.cli.CliToken;
|
||||
import com.taobao.arthas.core.shell.cli.impl.CliTokenImpl;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author earayu
|
||||
*/
|
||||
public class TokenUtilsTest {
|
||||
|
||||
private List<CliToken> newCliTokenList(CliToken ... tokens){
|
||||
List<CliToken> cliTokens = new ArrayList<CliToken>();
|
||||
if(tokens!=null) {
|
||||
Collections.addAll(cliTokens, tokens);
|
||||
}
|
||||
return cliTokens;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFindFirstTextToken(){
|
||||
CliToken textCliToken = new CliTokenImpl(true,"textCliToken");
|
||||
CliToken nonTextCliToken = new CliTokenImpl(false,"nonTextCliToken");
|
||||
|
||||
//null list
|
||||
Assert.assertEquals(null, TokenUtils.findFirstTextToken(null));
|
||||
|
||||
//empty list
|
||||
Assert.assertEquals(null, TokenUtils.findFirstTextToken(new ArrayList<CliToken>()));
|
||||
|
||||
//list with null value
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findFirstTextToken(newCliTokenList(new CliToken[]{null})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findFirstTextToken(newCliTokenList(new CliToken[]{null, textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findFirstTextToken(newCliTokenList(new CliToken[]{null, nonTextCliToken, textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findFirstTextToken(newCliTokenList(new CliToken[]{nonTextCliToken, null, textCliToken})));
|
||||
|
||||
//list with normal inputs
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findFirstTextToken(newCliTokenList(new CliToken[]{textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findFirstTextToken(newCliTokenList(new CliToken[]{nonTextCliToken, textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findFirstTextToken(newCliTokenList(new CliToken[]{textCliToken, nonTextCliToken})));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testFindLastTextToken(){
|
||||
CliToken textCliToken = new CliTokenImpl(true,"textCliToken");
|
||||
CliToken nonTextCliToken = new CliTokenImpl(false,"nonTextCliToken");
|
||||
|
||||
//null list
|
||||
Assert.assertEquals(null, TokenUtils.findLastTextToken(null));
|
||||
|
||||
//empty list
|
||||
Assert.assertEquals(null, TokenUtils.findLastTextToken(new ArrayList<CliToken>()));
|
||||
|
||||
//list with null value
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{null})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{null, textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{null, nonTextCliToken, textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{nonTextCliToken, null, textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{textCliToken, null, nonTextCliToken})));
|
||||
|
||||
//list with normal inputs
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{textCliToken})));
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{nonTextCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{nonTextCliToken, textCliToken})));
|
||||
Assert.assertEquals(textCliToken,
|
||||
TokenUtils.findLastTextToken(newCliTokenList(new CliToken[]{textCliToken, nonTextCliToken})));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testFindSecondTextToken(){
|
||||
CliToken textCliToken = new CliTokenImpl(true,"textCliToken");
|
||||
CliToken nonTextCliToken = new CliTokenImpl(false,"nonTextCliToken");
|
||||
|
||||
//null list
|
||||
Assert.assertEquals(null, TokenUtils.findSecondTokenText(null));
|
||||
|
||||
//empty list
|
||||
Assert.assertEquals(null, TokenUtils.findSecondTokenText(new ArrayList<CliToken>()));
|
||||
|
||||
//list with null value
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{null})));
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{null, textCliToken})));
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{null, nonTextCliToken, textCliToken})));
|
||||
Assert.assertEquals(textCliToken.value(),
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{null, nonTextCliToken, textCliToken, textCliToken})));
|
||||
|
||||
//list with normal inputs
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{textCliToken})));
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{nonTextCliToken})));
|
||||
Assert.assertEquals(null,
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{nonTextCliToken, textCliToken})));
|
||||
Assert.assertEquals(textCliToken.value(),
|
||||
TokenUtils.findSecondTokenText(newCliTokenList(new CliToken[]{textCliToken, nonTextCliToken, textCliToken})));
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue