AssetManagerTest.java revision a6ff2c2b15018092af3a28697b521d1ca5e789f0
1114296321cba71f8133713306049ce3b411e8563Gonçalo Silvapackage com.xtremelabs.robolectric.shadows; 2114296321cba71f8133713306049ce3b411e8563Gonçalo Silva 324f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport android.app.Activity; 424f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport android.content.res.AssetManager; 524f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport com.xtremelabs.robolectric.Robolectric; 624f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport com.xtremelabs.robolectric.WithTestDefaultsRunner; 724f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport com.xtremelabs.robolectric.util.Strings; 824f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport org.junit.Before; 924f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport org.junit.Test; 1024f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultzimport org.junit.runner.RunWith; 1170a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 1270a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silvaimport java.io.IOException; 1370a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silvaimport java.io.InputStream; 1470a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silvaimport java.util.Arrays; 1570a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silvaimport java.util.List; 16114296321cba71f8133713306049ce3b411e8563Gonçalo Silva 17a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwinimport static org.junit.Assert.assertEquals; 18a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwinimport static org.junit.Assert.assertNotNull; 19a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwinimport static org.junit.Assert.assertTrue; 20114296321cba71f8133713306049ce3b411e8563Gonçalo Silva 21114296321cba71f8133713306049ce3b411e8563Gonçalo Silva@RunWith(WithTestDefaultsRunner.class) 22114296321cba71f8133713306049ce3b411e8563Gonçalo Silvapublic class AssetManagerTest { 2370a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva AssetManager assetManager; 2470a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva String sp = System.getProperty("file.separator"); 25114296321cba71f8133713306049ce3b411e8563Gonçalo Silva 26a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin @Before 27a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin public void setUp() throws Exception { 28a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin assetManager = new Activity().getAssets(); 29a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin } 3070a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 31a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin @Test 3270a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva public void assertGetAssetsNotNull() { 33a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin assertNotNull(assetManager); 3470a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 35a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin assetManager = Robolectric.application.getAssets(); 36a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin assertNotNull(assetManager); 3770a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 38a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin assetManager = Robolectric.application.getResources().getAssets(); 39a6ff2c2b15018092af3a28697b521d1ca5e789f0Christian Williams & Phil Goodwin assertNotNull(assetManager); 4070a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva } 41114296321cba71f8133713306049ce3b411e8563Gonçalo Silva 4270a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva @Test 4370a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva public void assetsPathListing() throws IOException { 4470a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva List<String> files; 4570a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva String testPath; 4670a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 4770a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva testPath = ""; 4870a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva files = Arrays.asList(assetManager.list(testPath)); 4970a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva assertTrue(files.contains("docs")); 5070a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva assertTrue(files.contains("assetsHome.txt")); 5170a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 5270a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva testPath = "docs"; 5370a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva files = Arrays.asList(assetManager.list(testPath)); 5470a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva assertTrue(files.contains("extra")); 5570a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 5670a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva testPath = "docs" + sp + "extra"; 5770a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva files = Arrays.asList(assetManager.list(testPath)); 5870a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva assertTrue(files.contains("testing")); 5970a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 6070a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva testPath = "docs" + sp + "extra" + sp + "testing"; 6170a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva files = Arrays.asList(assetManager.list(testPath)); 6270a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva assertTrue(files.contains("hello.txt")); 63114296321cba71f8133713306049ce3b411e8563Gonçalo Silva } 6470a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 65114296321cba71f8133713306049ce3b411e8563Gonçalo Silva @Test 6670a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva public void assetsInputStreams() throws IOException { 6770a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva String testPath; 6870a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva String fileContents; 6924f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz InputStream inputStream; 70114296321cba71f8133713306049ce3b411e8563Gonçalo Silva 7170a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva testPath = "assetsHome.txt"; 7224f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz inputStream = assetManager.open(testPath); 7324f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz fileContents = Strings.fromStream(inputStream); 7470a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva assertEquals("assetsHome!", fileContents); 7570a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva 7670a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva testPath = "docs" + sp + "extra" + sp + "testing" + sp + "hello.txt"; 7724f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz inputStream = assetManager.open(testPath); 7824f155944b10583afd970905e5dbe0acdfc9e0efPhil Goodwin & Tyler Schultz fileContents = Strings.fromStream(inputStream); 7970a3ec81f0bda52d8388facf562a80e2d16ac96fGonçalo Silva assertEquals("hello!", fileContents); 80114296321cba71f8133713306049ce3b411e8563Gonçalo Silva } 81114296321cba71f8133713306049ce3b411e8563Gonçalo Silva} 82