Initial commit 🎉
fbshipit-source-id: b6fc29740c6875d2e78953b8a7123890a67930f2 Co-authored-by: Sebastian McKenzie <sebmck@fb.com> Co-authored-by: John Knox <jknox@fb.com> Co-authored-by: Emil Sjölander <emilsj@fb.com> Co-authored-by: Pritesh Nandgaonkar <prit91@fb.com>
This commit is contained in:
129
android/tests/plugins/inspector/DescriptorMappingTest.java
Normal file
129
android/tests/plugins/inspector/DescriptorMappingTest.java
Normal file
@@ -0,0 +1,129 @@
|
||||
/*
|
||||
* Copyright (c) 2018-present, Facebook, Inc.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the LICENSE
|
||||
* file in the root directory of this source tree.
|
||||
*
|
||||
*/
|
||||
package com.facebook.sonar.plugins.inspector;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
|
||||
import com.facebook.sonar.core.SonarConnection;
|
||||
import com.facebook.sonar.core.SonarDynamic;
|
||||
import com.facebook.sonar.core.SonarObject;
|
||||
import com.facebook.sonar.testing.SonarConnectionMock;
|
||||
import com.facebook.testing.robolectric.v3.WithTestDefaultsRunner;
|
||||
import java.util.List;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(WithTestDefaultsRunner.class)
|
||||
public class DescriptorMappingTest {
|
||||
|
||||
private class TestClass {}
|
||||
|
||||
private class TestSubClass extends TestClass {}
|
||||
|
||||
private class TestDescriptor<T> extends NodeDescriptor<T> {
|
||||
@Override
|
||||
public void init(T node) {}
|
||||
|
||||
@Override
|
||||
public String getId(T node) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName(T node) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChildCount(T node) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public T getChildAt(T node, int index) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Named<SonarObject>> getData(T node) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(T node, String[] path, SonarDynamic value) throws Exception {}
|
||||
|
||||
@Override
|
||||
public List<Named<String>> getAttributes(T node) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHighlighted(T node, boolean selected) {}
|
||||
|
||||
@Override
|
||||
public void hitTest(T node, Touch touch) {}
|
||||
|
||||
@Override
|
||||
public String getDecoration(T obj) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean matches(String query, T obj) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDescriptorForRegisteredClass() {
|
||||
final DescriptorMapping descriptorMapping = new DescriptorMapping();
|
||||
final NodeDescriptor descriptor1 = new TestDescriptor<>();
|
||||
final NodeDescriptor descriptor2 = new TestDescriptor<>();
|
||||
|
||||
descriptorMapping.register(TestClass.class, descriptor1);
|
||||
descriptorMapping.register(TestSubClass.class, descriptor2);
|
||||
|
||||
assertThat(descriptorMapping.descriptorForClass(TestSubClass.class), equalTo(descriptor2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDescriptorForRegisteredSuperClass() {
|
||||
final DescriptorMapping descriptorMapping = new DescriptorMapping();
|
||||
final NodeDescriptor descriptor = new TestDescriptor<>();
|
||||
|
||||
descriptorMapping.register(TestClass.class, descriptor);
|
||||
|
||||
assertThat(descriptorMapping.descriptorForClass(TestSubClass.class), equalTo(descriptor));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnConnect() {
|
||||
final DescriptorMapping descriptorMapping = new DescriptorMapping();
|
||||
final NodeDescriptor descriptor = new TestDescriptor<>();
|
||||
descriptorMapping.register(TestClass.class, descriptor);
|
||||
|
||||
final SonarConnection connection = new SonarConnectionMock();
|
||||
descriptorMapping.onConnect(connection);
|
||||
|
||||
assertThat(descriptor.connected(), equalTo(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOnDisconnect() {
|
||||
final DescriptorMapping descriptorMapping = new DescriptorMapping();
|
||||
final NodeDescriptor descriptor = new TestDescriptor<>();
|
||||
descriptorMapping.register(TestClass.class, descriptor);
|
||||
|
||||
final SonarConnection connection = new SonarConnectionMock();
|
||||
descriptorMapping.onConnect(connection);
|
||||
descriptorMapping.onDisconnect();
|
||||
|
||||
assertThat(descriptor.connected(), equalTo(false));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user