| # Copyright 2016 The Bazel Authors. All rights reserved. | 
 | # | 
 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | # you may not use this file except in compliance with the License. | 
 | # You may obtain a copy of the License at | 
 | # | 
 | #    http://www.apache.org/licenses/LICENSE-2.0 | 
 | # | 
 | # Unless required by applicable law or agreed to in writing, software | 
 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | # See the License for the specific language governing permissions and | 
 | # limitations under the License. | 
 |  | 
 | """Tests for aar_native_libs_zip_creator.""" | 
 |  | 
 | import io | 
 | import unittest | 
 | import zipfile | 
 |  | 
 | from tools.android import aar_native_libs_zip_creator | 
 |  | 
 |  | 
 | class AarNativeLibsZipCreatorTest(unittest.TestCase): | 
 |   """Unit tests for aar_native_libs_zip_creator.py.""" | 
 |  | 
 |   def testAarWithNoLibs(self): | 
 |     aar = zipfile.ZipFile(io.BytesIO(), "w") | 
 |     outzip = zipfile.ZipFile(io.BytesIO(), "w") | 
 |     aar_native_libs_zip_creator.CreateNativeLibsZip(aar, "x86", outzip) | 
 |     self.assertEquals([], outzip.namelist()) | 
 |  | 
 |   def testAarWithMissingLibs(self): | 
 |     aar = zipfile.ZipFile(io.BytesIO(), "w") | 
 |     aar.writestr("jni/armeabi/foo.so", "") | 
 |     outzip = zipfile.ZipFile(io.BytesIO(), "w") | 
 |     self.assertRaises( | 
 |         aar_native_libs_zip_creator.UnsupportedArchitectureException, | 
 |         aar_native_libs_zip_creator.CreateNativeLibsZip, | 
 |         aar, "x86", outzip) | 
 |  | 
 |   def testAarWithAllLibs(self): | 
 |     aar = zipfile.ZipFile(io.BytesIO(), "w") | 
 |     aar.writestr("jni/x86/foo.so", "") | 
 |     aar.writestr("jni/armeabi/foo.so", "") | 
 |     outzip = zipfile.ZipFile(io.BytesIO(), "w") | 
 |     aar_native_libs_zip_creator.CreateNativeLibsZip(aar, "x86", outzip) | 
 |     self.assertIn("lib/x86/foo.so", outzip.namelist()) | 
 |     self.assertNotIn("lib/armeabi/foo.so", outzip.namelist()) | 
 |  | 
 |  | 
 | if __name__ == "__main__": | 
 |   unittest.main() |