Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-6043

[classlib] [security] UnresolvedPermission.equals(Object) doesn't works well

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.0M8
    • 5.0M9
    • Classlib
    • None
    • Moderate

    Description

      Given a test case[1], RI works well while HARMONY fails.

      [1] UnresolvedPermissionTest
      public class UnresolvedPermissionTest extends TestCase {
      public static final String type = "java.util.PropertyPermission";
      public static final String name = "os.name";
      public static final String action = "write,read";
      public void test_Scenario0()

      { UnresolvedPermission up1 = new UnresolvedPermission(type, name, action, null); UnresolvedPermission up2 = new UnresolvedPermission(type, name, action, null); assertEquals(up1, up2); }

      public void test_Scenario1()

      { UnresolvedPermission up1 = new UnresolvedPermission(type, name, action, null); UnresolvedPermission up2 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[0]); assertFalse(up1.equals(up2)); }

      public void test_Scenario2()

      { UnresolvedPermission up1 = new UnresolvedPermission(type, name, action, null); UnresolvedPermission up2 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[2]); assertFalse(up1.equals(up2)); }

      public void test_Scenario3()

      { UnresolvedPermission up1 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[0]); UnresolvedPermission up2 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[0]); assertEquals(up1, up2); }

      public void test_Scenario4()

      { UnresolvedPermission up1 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[0]); UnresolvedPermission up2 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[2]); assertFalse(up1.equals(up2)); }

      public void test_Scenario5() {
      UnresolvedPermission up1 = new UnresolvedPermission(type, name, action,
      new java.security.cert.Certificate[2]);
      UnresolvedPermission up2 = new UnresolvedPermission(type, name, action,
      new java.security.cert.Certificate[2]);
      try

      { up1.equals(up2); fail("should throw NullPointerException"); }

      catch (NullPointerException e)

      { // Expected }

      }

      public void test_Scenario6()

      { UnresolvedPermission up1 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[2]); UnresolvedPermission up2 = new UnresolvedPermission(type, name, action, new java.security.cert.Certificate[5]); assertFalse(up1.equals(up2)); }

      }

      Attachments

        1. HARMONY-6043v2.diff
          1 kB
          Kevin Zhou
        2. HARMONY-6043.diff
          12 kB
          Kevin Zhou

        Activity

          People

            tony.wu Tony Wu
            zhoukevin Kevin Zhou
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified