Siddharth Sharma f47bd50f37 Unit Test the Database (#758)
* Add TODOs for BookDatabaseTest

* minor change to BookDatabaseTest

* add TODOs for BookmarksDatabaseTest

* add TODOs for BookmarksDatabaseTest

* Add TODOs for networkLanguageDatabaseTest

* add TODOs for RecentSearchDatabaseTest

* Approach not working. new attempt required

* stuck trying to access the database using overridden mocked DAO class. New way to do the stuff

* able to access the database

* two conflicting databases created. need to fix

* fix a bug due to pass by value and not by reference

* remove redundant code

* separate the internal logic and the DAO wrapper in BookDao class

* intial draft working

* create test for BookDao.getBooks()

test has minor bug that needs to be rectified

* internal BookDao methods returning null values during testing. needs to be fixed

* Add TODOs for testing utils/files/FileUtils

* Add tests for utils/files/FileUtils.java

* Add tests for RecentSearchDatabaseTest

* fix travis build failure

the file NetworkLanguageDatabase test contains no test and is deleted

* Add comments to RecentSearchDatabaseTest

* minor formatting changes

* delete FileUtilsTest

* changed access type of methods as private

* delete extra unnecessary code

* need to fix a powermock bug

* fix the file.exists() error

* totally fix the file.exists() issue

* fix the File.exists() issue

* update Databas tests

* commenting all code and checking whether travis passes

* fix all travis build errors

* improve the test structure

* update tests

* remove unused import statements

* fix spacing

* comment test to find bug

* test if build works
2018-06-15 16:52:02 +01:00
2018-03-02 23:41:13 +00:00
2018-06-15 16:52:02 +01:00
2017-04-06 11:30:24 +02:00
2018-04-01 23:59:33 +01:00
2018-06-14 23:46:08 +01:00
2017-08-13 12:01:20 -04:00
2018-02-25 10:42:39 +01:00
2017-08-31 07:58:00 +02:00
2015-06-08 10:05:51 +02:00
2018-02-22 00:54:08 +00:00
2018-03-13 00:59:22 +00:00
2017-08-02 20:38:07 +01:00
2018-01-18 14:37:37 +01:00
2015-06-07 15:19:01 +02:00

Kiwix-Android

Kiwix is an offline reader for Web content. One of its main purposes is to make Wikipedia available offline. This is done by reading the content of a file in the ZIM format, a highly compressed open format with additional meta-data.

Build Status IRC Web

Build Instructions

Production releases of the app should be built with our companion build repository kiwix-build.

To build this repository alone for development purposes you can simply import the project into Android Studio and the hard work will be done for you. If you prefer to build without Android Studio you must first set up the Android SDK and then run the command: ./gradlew build from the root directory of the project.

We utilize different build variants (flavours) to build various different versions of our app. Ensure your build variant is kiwixDebug to build the standard app.

Libraries Used

  • Dagger 2 - A fast dependency injector for Android and Java
  • SquiDb - SquiDB is a SQLite database library for Android and iOS
  • Retrofit - Retrofit turns your REST API into a Java interface
  • OkHttp - An HTTP+SPDY client for Android and Java applications
  • Butterknife - View "injection" library for Android
  • Mockito - Most popular Mocking framework for unit tests written in Java
  • Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
  • Apache - The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more.
  • RxJava - Reactive Extensions for the JVM a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

Contributing

Before contributing be sure to check out the CONTRIBUTION guidelines.

We currently have a series of automated Unit and Integration tests. These can be run locally and are also run when submitting a pull request.

Code Style

For contributions please read the CODESTYLE carefully. Pull requests that do not match the style will be rejected.

Commit Style

For writing commit messages please read the COMMITSTYLE carefully. Kindly adhere to the guidelines. Pull requests not matching the style will be rejected.

Communication

Please use IRC to discuss questions regarding the project: #kiwix on irc.freenode.net

You can use IRC web interface on http://chat.kiwix.org/.

Our other sources of communications include

For more information, please refer to http://wiki.kiwix.org/wiki/Communication.

Please refer to COPYING.

Description
Languages
Kotlin 98.9%
Shell 0.6%
HTML 0.4%