Cover offline pages java code with junit tests.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/377ed0be9fbb6010f256033a83e767d447961e93 commit 377ed0be9fbb6010f256033a83e767d447961e93 Author: fgorski <fgorski@chromium.org> Date: Fri Mar 11 23:55:13 2016 [Offline pages] Making offline page bridge testable by junit * Creates a junit test: OfflinePageBridgeTest testing one method selected at random * Makes necessary changes to make the method testable (making method called by native package visible, making constructor package visible, ensuring OfflinePageBridge is not final) BUG= 594252 Review URL: https://codereview.chromium.org/1788873003 Cr-Commit-Position: refs/heads/master@{#380788} [modify] https://crrev.com/377ed0be9fbb6010f256033a83e767d447961e93/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java [add] https://crrev.com/377ed0be9fbb6010f256033a83e767d447961e93/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/198ef342ac9036f0a05bcebf111ee5756eb7b78b commit 198ef342ac9036f0a05bcebf111ee5756eb7b78b Author: fgorski <fgorski@chromium.org> Date: Mon Mar 21 22:50:22 2016 [Offline pages] Minimizing exposure to ChromeActivity in offline pages Offline pages rely heavily on ChromeActivity in functions that show a snackbar. In order to enable coverage of that functionality with junit, we need to minimize exposure to ChromeActivity, which cannot be currently mocked. BUG= 594252 Review URL: https://codereview.chromium.org/1812103004 Cr-Commit-Position: refs/heads/master@{#382424} [modify] https://crrev.com/198ef342ac9036f0a05bcebf111ee5756eb7b78b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageConnectivityListener.java [modify] https://crrev.com/198ef342ac9036f0a05bcebf111ee5756eb7b78b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserver.java [modify] https://crrev.com/198ef342ac9036f0a05bcebf111ee5756eb7b78b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java [modify] https://crrev.com/198ef342ac9036f0a05bcebf111ee5756eb7b78b/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b7d76ce35ca3e56261f98ea257ff564371905485 commit b7d76ce35ca3e56261f98ea257ff564371905485 Author: fgorski <fgorski@chromium.org> Date: Tue Mar 29 18:12:01 2016 [Offline pages] Refactoring: Merge Connectivity Listener into TabObserver This change starts by covering functionality of: * OfflinePagesTabObserver, and * OfflinePagesConnectivityListener with unit tests using junit. Next, the functionality of both classes is merged into OPTabObserver. In order to make some of the code more testable and mockable, it uses: * a helper class to access tab methods, * extracts some calls to external objects into one-liner functions BUG= 594252 , 583436 R=petewil@chromium.org Review URL: https://codereview.chromium.org/1822853002 Cr-Commit-Position: refs/heads/master@{#383770} [modify] https://crrev.com/b7d76ce35ca3e56261f98ea257ff564371905485/chrome/android/BUILD.gn [delete] https://crrev.com/7dc1e9455370951699669006ee082acf6e6cdc11/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageConnectivityListener.java [modify] https://crrev.com/b7d76ce35ca3e56261f98ea257ff564371905485/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserver.java [modify] https://crrev.com/b7d76ce35ca3e56261f98ea257ff564371905485/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java [modify] https://crrev.com/b7d76ce35ca3e56261f98ea257ff564371905485/chrome/android/java_sources.gni [modify] https://crrev.com/b7d76ce35ca3e56261f98ea257ff564371905485/chrome/android/javatests/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.java [add] https://crrev.com/b7d76ce35ca3e56261f98ea257ff564371905485/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ece9ec00175fe6a5497165f2d56a106e1e8d862 commit 6ece9ec00175fe6a5497165f2d56a106e1e8d862 Author: fgorski <fgorski@chromium.org> Date: Thu Jun 23 16:52:59 2016 [Offline pages] Adding junit tests to OfflinePageUtils * Takes advantage of Tab.java no longer being final * Adds a test for OfflinePageUtils#saveBookmarkOffline BUG= 594252 Review-Url: https://codereview.chromium.org/2080013002 Cr-Commit-Position: refs/heads/master@{#401631} [modify] https://crrev.com/6ece9ec00175fe6a5497165f2d56a106e1e8d862/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridge.java [modify] https://crrev.com/6ece9ec00175fe6a5497165f2d56a106e1e8d862/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java [modify] https://crrev.com/6ece9ec00175fe6a5497165f2d56a106e1e8d862/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageTabObserverTest.java [modify] https://crrev.com/6ece9ec00175fe6a5497165f2d56a106e1e8d862/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtilsTest.java
I was finally able to measure coverage using the following instructions: https://chromium.googlesource.com/chromium/src/+/master/build/android/docs/coverage.md Snapshot as of today is attached
That is just JUnit coverage, right?
Correct (per bug title), I'll run the other tests and see if I can get it to improve and help inform which parts to cover first.
Attaching results for both. I had 4 tests failing locally on a strict mode violation thou
Not planning to do more work on this one in near future.
Comment 1 by fgor...@chromium.org
, Mar 11 2016Labels: OS-Android