Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Side by Side Diff: content/public/android/javatests/src/org/chromium/content/browser/ImportantFileWriterAndroidTest.java

Issue 2708243004: Auto convert content shell tests to JUnit4 (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.content.browser; 5 package org.chromium.content.browser;
6 6
7 import android.support.test.InstrumentationRegistry;
7 import android.support.test.filters.SmallTest; 8 import android.support.test.filters.SmallTest;
8 9
10 import org.junit.Assert;
11 import org.junit.Before;
12 import org.junit.Rule;
13 import org.junit.Test;
14 import org.junit.runner.RunWith;
15
9 import org.chromium.base.ImportantFileWriterAndroid; 16 import org.chromium.base.ImportantFileWriterAndroid;
17 import org.chromium.base.test.BaseJUnit4ClassRunner;
10 import org.chromium.base.test.util.Feature; 18 import org.chromium.base.test.util.Feature;
11 import org.chromium.content.browser.test.NativeLibraryTestBase; 19 import org.chromium.content.browser.test.NativeLibraryTestRule;
12 20
13 import java.io.DataInputStream; 21 import java.io.DataInputStream;
14 import java.io.File; 22 import java.io.File;
15 import java.io.FileInputStream; 23 import java.io.FileInputStream;
16 import java.io.IOException; 24 import java.io.IOException;
17 25
18 26
19 /** 27 /**
20 * Tests for {@Link ImportantFileWriterAndroid} 28 * Tests for {@Link ImportantFileWriterAndroid}
21 * 29 *
22 * Note that this assumes that the underlying native atomic write functions 30 * Note that this assumes that the underlying native atomic write functions
23 * work, so is not attempting to test that writes are atomic. Instead it is just 31 * work, so is not attempting to test that writes are atomic. Instead it is just
24 * testing that the Java code is calling the native code correctly. 32 * testing that the Java code is calling the native code correctly.
25 */ 33 */
26 public class ImportantFileWriterAndroidTest extends NativeLibraryTestBase { 34 @RunWith(BaseJUnit4ClassRunner.class)
35 public class ImportantFileWriterAndroidTest {
36 @Rule
37 public NativeLibraryTestRule mActivityTestRule = new NativeLibraryTestRule() ;
27 38
28 private void checkFile(File testFile, byte[] data) { 39 private void checkFile(File testFile, byte[] data) {
29 assertTrue(testFile.exists()); 40 Assert.assertTrue(testFile.exists());
30 try { 41 try {
31 byte[] fileData = new byte[(int) testFile.length()]; 42 byte[] fileData = new byte[(int) testFile.length()];
32 DataInputStream dis = 43 DataInputStream dis =
33 new DataInputStream(new FileInputStream(testFile)); 44 new DataInputStream(new FileInputStream(testFile));
34 dis.readFully(fileData); 45 dis.readFully(fileData);
35 dis.close(); 46 dis.close();
36 assertEquals("Data length wrong", data.length, fileData.length); 47 Assert.assertEquals("Data length wrong", data.length, fileData.lengt h);
37 for (int i = 0; i < data.length; i++) { 48 for (int i = 0; i < data.length; i++) {
38 assertEquals("Data byte wrong", data[i], fileData[i]); 49 Assert.assertEquals("Data byte wrong", data[i], fileData[i]);
39 } 50 }
40 } catch (IOException e) { 51 } catch (IOException e) {
41 fail("Failed to read file"); 52 Assert.fail("Failed to read file");
42 } 53 }
43 54
44 } 55 }
45 56
57 @Test
46 @SmallTest 58 @SmallTest
47 @Feature({"Android-AppBase"}) 59 @Feature({"Android-AppBase"})
48 public void testAtomicWrite() { 60 public void testAtomicWrite() {
49 // Try writing a file that can't be created. 61 // Try writing a file that can't be created.
50 byte[] data1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 62 byte[] data1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
51 assertFalse("Writing bad file succeded", 63 Assert.assertFalse("Writing bad file succeded",
52 ImportantFileWriterAndroid.writeFileAtomically( 64 ImportantFileWriterAndroid.writeFileAtomically("/junk/junk", dat a1));
53 "/junk/junk", data1)); 65 File dir = InstrumentationRegistry.getInstrumentation().getTargetContext ().getFilesDir();
54 File dir = getInstrumentation().getTargetContext().getFilesDir();
55 File testFile = new File(dir, "ImportantFileTest"); 66 File testFile = new File(dir, "ImportantFileTest");
56 67
57 // Make sure the file doesn't already exist 68 // Make sure the file doesn't already exist
58 if (testFile.exists()) { 69 if (testFile.exists()) {
59 assertTrue(testFile.delete()); 70 Assert.assertTrue(testFile.delete());
60 } 71 }
61 72
62 // Write a new file 73 // Write a new file
63 assertTrue("Writing new file failed", 74 Assert.assertTrue("Writing new file failed",
64 ImportantFileWriterAndroid.writeFileAtomically( 75 ImportantFileWriterAndroid.writeFileAtomically(testFile.getAbsol utePath(), data1));
65 testFile.getAbsolutePath(), data1));
66 checkFile(testFile, data1); 76 checkFile(testFile, data1);
67 byte[] data2 = {10, 20, 30, 40, 50, 60, 70, 80}; 77 byte[] data2 = {10, 20, 30, 40, 50, 60, 70, 80};
68 78
69 // Overwrite an existing file 79 // Overwrite an existing file
70 assertTrue("Writing exiting file failed", 80 Assert.assertTrue("Writing exiting file failed",
71 ImportantFileWriterAndroid.writeFileAtomically( 81 ImportantFileWriterAndroid.writeFileAtomically(testFile.getAbsol utePath(), data2));
72 testFile.getAbsolutePath(), data2));
73 checkFile(testFile, data2); 82 checkFile(testFile, data2);
74 83
75 // Done, tidy up 84 // Done, tidy up
76 assertTrue(testFile.delete()); 85 Assert.assertTrue(testFile.delete());
77 } 86 }
78 87
79 @Override 88 @Before
80 public void setUp() throws Exception { 89 public void setUp() throws Exception {
81 super.setUp(); 90 mActivityTestRule.loadNativeLibraryNoBrowserProcess();
82 loadNativeLibraryNoBrowserProcess();
83 } 91 }
84 } 92 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698