From a1f4ded445d6cf1d0583f4d4e86df4995114b79d Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Sat, 5 Nov 2022 10:09:53 +0530 Subject: [PATCH] Refactored dimension value parser test --- tests/test-home/.androidide/init/model.jar | Bin 65261 -> 65261 bytes .../app/src/main/res/values/bools.xml | 6 --- .../app/src/main/res/values/integers.xml | 6 --- .../app/src/main/res/values/parser_test.xml | 23 ++++++++++ .../androidide/inflater/ValueParsersTest.kt | 43 +++++++++++------- 5 files changed, 50 insertions(+), 28 deletions(-) delete mode 100644 tests/test-project/app/src/main/res/values/bools.xml delete mode 100644 tests/test-project/app/src/main/res/values/integers.xml create mode 100644 tests/test-project/app/src/main/res/values/parser_test.xml diff --git a/tests/test-home/.androidide/init/model.jar b/tests/test-home/.androidide/init/model.jar index 1799175c8887e2a0efc317cf3336952718f22fc8..ffc72594a22e74425053368c26c5126a968e97ea 100644 GIT binary patch delta 31 ncmaF+m-+2qW}X0VW)?061`ZB}?tqOve(#yO12)IJpU4jYupSEY delta 31 ncmaF+m-+2qW}X0VW)?061`ZB}MSdH3{N6Jy^4lEqej+~rvD*tB diff --git a/tests/test-project/app/src/main/res/values/bools.xml b/tests/test-project/app/src/main/res/values/bools.xml deleted file mode 100644 index 368abe418..000000000 --- a/tests/test-project/app/src/main/res/values/bools.xml +++ /dev/null @@ -1,6 +0,0 @@ - - true - false - @bool/test_bool_true - @bool/test_bool_false - diff --git a/tests/test-project/app/src/main/res/values/integers.xml b/tests/test-project/app/src/main/res/values/integers.xml deleted file mode 100644 index c9a4655c3..000000000 --- a/tests/test-project/app/src/main/res/values/integers.xml +++ /dev/null @@ -1,6 +0,0 @@ - - 1 - 0 - @integer/test_integer_1 - @integer/test_integer_0 - diff --git a/tests/test-project/app/src/main/res/values/parser_test.xml b/tests/test-project/app/src/main/res/values/parser_test.xml new file mode 100644 index 000000000..971834395 --- /dev/null +++ b/tests/test-project/app/src/main/res/values/parser_test.xml @@ -0,0 +1,23 @@ + + + + + 0dp + 1dp + @dimen/test_dimen_0dp + @dimen/test_dimen_1dp + 0dp + 1dp + @dimen/test_dimen_0pt + @dimen/test_dimen_1pt + + true + false + @bool/test_bool_true + @bool/test_bool_false + + 1 + 0 + @integer/test_integer_1 + @integer/test_integer_0 + diff --git a/xml-inflater/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt b/xml-inflater/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt index 527fe2d98..d521dab01 100644 --- a/xml-inflater/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt +++ b/xml-inflater/src/test/java/com/itsaky/androidide/inflater/ValueParsersTest.kt @@ -38,30 +38,41 @@ class ValueParsersTest { inflaterTest { module -> requiresActivity { activity -> startParse(module) + + // Hardcoded dimensions val units = arrayOf("dp", "sp", "pt", "px", "in", "mm") val results = intArrayOf(1, 1, 2, 1, 160, 6) for (i in units.indices) { assertThat(parseDimension(activity, "1" + units[i], -1)).isEqualTo(results[i]) } - endParse() - } - } - } - - @Test - fun `reference dimension parser test`() { - inflaterTest { module -> - requiresActivity { activity -> - startParse(module) + + // Dimensions from platform resources assertThat(parseDimension(activity, "@android:dimen/app_icon_size")).isEqualTo(12289) assertThat(parseDimension(activity, "@android:dimen/status_bar_height_portrait")) .isEqualTo(6145) - - // The app module here targets android 31 and the dimension resource below was added in - // android 31. So, the resource should not be resolved and - // ViewGroup.LayoutParams.WRAP_CONTENT must be returned instead. - assertThat(parseDimension(activity, "@android:dimen/status_bar_height_default")) - .isEqualTo(-2) + + val exists = try { + // The app module here targets android 31 and the dimension resource below was added in + // android 31. So, the resource should not be resolved and + // ViewGroup.LayoutParams.WRAP_CONTENT must be returned instead. + assertThat(parseDimension(activity, "@android:dimen/status_bar_height_default")) + .isEqualTo(-2) + true + } catch (err: IllegalArgumentException) { + false + } + + assertThat(exists).isFalse() + + assertThat(parseDimension(activity, "@dimen/test_dimen_0dp", def = 1)).isEqualTo(0) + assertThat(parseDimension(activity, "@dimen/test_dimen_1dp", def = 0)).isEqualTo(1) + assertThat(parseDimension(activity, "@dimen/test_dimen_1dp_ref", def = 0)).isEqualTo(1) + assertThat(parseDimension(activity, "@dimen/test_dimen_0dp_ref", def = 0)).isEqualTo(0) + + assertThat(parseDimension(activity, "@dimen/test_dimen_0pt", def = 1)).isEqualTo(0) + assertThat(parseDimension(activity, "@dimen/test_dimen_1pt", def = 0)).isEqualTo(2) + assertThat(parseDimension(activity, "@dimen/test_dimen_1pt_ref", def = 0)).isEqualTo(2) + assertThat(parseDimension(activity, "@dimen/test_dimen_0pt_ref", def = 0)).isEqualTo(0) endParse() } }