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

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

Change-Id: I93b8d28be82e2781f07f7bf7f546b5d6e56cc63d
This commit is contained in:
TreeHugger Robot
2020-06-18 11:36:43 +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());