/src/test/java/org/robolectric/shadows/ContentProviderOperationBuilderTest.java

https://github.com/majasb/robolectric · Java · 93 lines · 73 code · 20 blank · 0 comment · 0 complexity · b0a19efcad7f4baf51cedd49135b1a00 MD5 · raw file

  1. package org.robolectric.shadows;
  2. import static org.fest.assertions.api.Assertions.assertThat;
  3. import org.junit.Test;
  4. import org.junit.runner.RunWith;
  5. import org.robolectric.TestRunners;
  6. import android.content.ContentProvider;
  7. import android.content.ContentProviderOperation;
  8. import android.content.ContentProviderOperation.Builder;
  9. import android.content.ContentValues;
  10. import android.database.Cursor;
  11. import android.net.Uri;
  12. @RunWith(TestRunners.WithDefaults.class)
  13. public class ContentProviderOperationBuilderTest {
  14. private Builder builder;
  15. @Test
  16. public void build() throws Exception {
  17. Uri uri = Uri.parse("content://authority/path");
  18. builder = ContentProviderOperation.newUpdate(uri);
  19. builder.withSelection("a=?", new String[] {"a"});
  20. builder.withValue("k1", "v1");
  21. ContentValues cv = new ContentValues();
  22. cv.put("k2", "v2");
  23. builder.withValues(cv);
  24. ContentProviderOperation op = builder.build();
  25. assertThat(op).isNotNull();
  26. assertThat(op.getUri()).isEqualTo(uri);
  27. final ContentRequest request = new ContentRequest();
  28. ContentProvider provider = new ContentProvider() {
  29. @Override
  30. public boolean onCreate() {
  31. return true;
  32. }
  33. @Override
  34. public Cursor query(Uri uri, String[] projection, String selection,
  35. String[] selectionArgs, String sortOrder) {
  36. return null;
  37. }
  38. @Override
  39. public String getType(Uri uri) {
  40. return null;
  41. }
  42. @Override
  43. public Uri insert(Uri uri, ContentValues values) {
  44. return null;
  45. }
  46. @Override
  47. public int delete(Uri uri, String selection, String[] selectionArgs) {
  48. return 0;
  49. }
  50. @Override
  51. public int update(Uri uri, ContentValues values, String selection,
  52. String[] selectionArgs) {
  53. request.uri = uri;
  54. request.values = values;
  55. request.selection = selection;
  56. request.selectionArgs = selectionArgs;
  57. return 0;
  58. }
  59. };
  60. op.apply(provider, null, 0);
  61. assertThat(request.uri).isEqualTo(uri);
  62. assertThat(request.selection).isEqualTo("a=?");
  63. assertThat(request.selectionArgs).isEqualTo(new String[] {"a"});
  64. assertThat(request.values.containsKey("k1")).isTrue();
  65. assertThat(request.values.containsKey("k2")).isTrue();
  66. }
  67. static class ContentRequest {
  68. Uri uri;
  69. String selection;
  70. String[] selectionArgs;
  71. ContentValues values;
  72. }
  73. }