ART: Change merges with Undefined to Undefined

The result of a merge with an Undefined type should be Undefined.
Conflicts are allowed to be copied around, but Undefined registers
should not be touched at all, except to be written into.

Add a success test case (the register isn't used) and a fail test
case (the register is tried to be copied).

Bug: 22331663
Bug: 22371999
Change-Id: I9697ce31c1d2ab5aee0433dcf1253bcca79c2983
diff --git a/test/800-smali/src/Main.java b/test/800-smali/src/Main.java
index 3dbba8d..8be6418 100644
--- a/test/800-smali/src/Main.java
+++ b/test/800-smali/src/Main.java
@@ -105,6 +105,10 @@
                 null, "abc"));
         testCases.add(new TestCase("b/22331663", "B22331663", "run", new Object[] { false },
                 null, null));
+        testCases.add(new TestCase("b/22331663 (pass)", "B22331663Pass", "run",
+                new Object[] { false }, null, null));
+        testCases.add(new TestCase("b/22331663 (fail)", "B22331663Fail", "run",
+                new Object[] { false }, new VerifyError(), null));
     }
 
     public void runTests() {