mirror of https://github.com/Genymobile/scrcpy
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.8 KiB
Java
115 lines
3.8 KiB
Java
package com.genymobile.scrcpy;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.Test;
|
|
|
|
import java.util.List;
|
|
|
|
public class CodecOptionsTest {
|
|
|
|
@Test
|
|
public void testIntegerImplicit() {
|
|
List<CodecOption> codecOptions = CodecOption.parse("some_key=5");
|
|
|
|
Assert.assertEquals(1, codecOptions.size());
|
|
|
|
CodecOption option = codecOptions.get(0);
|
|
Assert.assertEquals("some_key", option.getKey());
|
|
Assert.assertEquals(5, option.getValue());
|
|
}
|
|
|
|
@Test
|
|
public void testInteger() {
|
|
List<CodecOption> codecOptions = CodecOption.parse("some_key:int=5");
|
|
|
|
Assert.assertEquals(1, codecOptions.size());
|
|
|
|
CodecOption option = codecOptions.get(0);
|
|
Assert.assertEquals("some_key", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof Integer);
|
|
Assert.assertEquals(5, option.getValue());
|
|
}
|
|
|
|
@Test
|
|
public void testLong() {
|
|
List<CodecOption> codecOptions = CodecOption.parse("some_key:long=5");
|
|
|
|
Assert.assertEquals(1, codecOptions.size());
|
|
|
|
CodecOption option = codecOptions.get(0);
|
|
Assert.assertEquals("some_key", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof Long);
|
|
Assert.assertEquals(5L, option.getValue());
|
|
}
|
|
|
|
@Test
|
|
public void testFloat() {
|
|
List<CodecOption> codecOptions = CodecOption.parse("some_key:float=4.5");
|
|
|
|
Assert.assertEquals(1, codecOptions.size());
|
|
|
|
CodecOption option = codecOptions.get(0);
|
|
Assert.assertEquals("some_key", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof Float);
|
|
Assert.assertEquals(4.5f, option.getValue());
|
|
}
|
|
|
|
@Test
|
|
public void testString() {
|
|
List<CodecOption> codecOptions = CodecOption.parse("some_key:string=some_value");
|
|
|
|
Assert.assertEquals(1, codecOptions.size());
|
|
|
|
CodecOption option = codecOptions.get(0);
|
|
Assert.assertEquals("some_key", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof String);
|
|
Assert.assertEquals("some_value", option.getValue());
|
|
}
|
|
|
|
@Test
|
|
public void testStringEscaped() {
|
|
List<CodecOption> codecOptions = CodecOption.parse("some_key:string=warning\\,this_is_not=a_new_key");
|
|
|
|
Assert.assertEquals(1, codecOptions.size());
|
|
|
|
CodecOption option = codecOptions.get(0);
|
|
Assert.assertEquals("some_key", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof String);
|
|
Assert.assertEquals("warning,this_is_not=a_new_key", option.getValue());
|
|
}
|
|
|
|
@Test
|
|
public void testList() {
|
|
List<CodecOption> codecOptions = CodecOption.parse("a=1,b:int=2,c:long=3,d:float=4.5,e:string=a\\,b=c");
|
|
|
|
Assert.assertEquals(5, codecOptions.size());
|
|
|
|
CodecOption option;
|
|
|
|
option = codecOptions.get(0);
|
|
Assert.assertEquals("a", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof Integer);
|
|
Assert.assertEquals(1, option.getValue());
|
|
|
|
option = codecOptions.get(1);
|
|
Assert.assertEquals("b", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof Integer);
|
|
Assert.assertEquals(2, option.getValue());
|
|
|
|
option = codecOptions.get(2);
|
|
Assert.assertEquals("c", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof Long);
|
|
Assert.assertEquals(3L, option.getValue());
|
|
|
|
option = codecOptions.get(3);
|
|
Assert.assertEquals("d", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof Float);
|
|
Assert.assertEquals(4.5f, option.getValue());
|
|
|
|
option = codecOptions.get(4);
|
|
Assert.assertEquals("e", option.getKey());
|
|
Assert.assertTrue(option.getValue() instanceof String);
|
|
Assert.assertEquals("a,b=c", option.getValue());
|
|
}
|
|
}
|