Merge "include unit test for enhanced error handling" into rvc-dev am: 42472cb3a0

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11844551

Change-Id: I93e0b441034327dedf54d303742d84d8c2d58203
This commit is contained in:
TreeHugger Robot
2020-06-18 11:18:36 +00:00
committed by Automerger Merge Worker

View File

@@ -227,6 +227,23 @@ public class SliceClientPermissionsTest extends UiServiceTestCase {
assertEquivalent(client, deser); assertEquivalent(client, deser);
} }
@Test(expected = XmlPullParserException.class)
public void testReadEmptyFile_ThrowException() throws XmlPullParserException, IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
XmlSerializer serializer = XmlPullParserFactory.newInstance().newSerializer();
serializer.setOutput(output, Encoding.UTF_8.name());
// create empty xml document
serializer.startDocument(null, true);
serializer.endDocument();
serializer.flush();
ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray());
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(input, Encoding.UTF_8.name());
SliceClientPermissions.createFrom(parser, mock(DirtyTracker.class));
// Should throw exception since the xml is empty
}
private void assertEquivalent(SliceClientPermissions o1, SliceClientPermissions o2) { private void assertEquivalent(SliceClientPermissions o1, SliceClientPermissions o2) {
assertEquals(o1.getPkg(), o2.getPkg()); assertEquals(o1.getPkg(), o2.getPkg());
ArrayList<SliceAuthority> a1 = new ArrayList<>(o1.getAuthorities()); ArrayList<SliceAuthority> a1 = new ArrayList<>(o1.getAuthorities());