public class org.graalvm.component.installer.DownloadURLIterableTest extends org.graalvm.component.installer.CommandTestBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.component.installer.DownloadURLIterableTest
  super_class: org.graalvm.component.installer.CommandTestBase
{
  public final org.graalvm.component.installer.persist.ProxyResource proxyResource;
    descriptor: Lorg/graalvm/component/installer/persist/ProxyResource;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.junit.Rule()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
         0: .line 40
            aload 0 /* this */
            invokespecial org.graalvm.component.installer.CommandTestBase.<init>:()V
         1: .line 41
            aload 0 /* this */
            new org.graalvm.component.installer.persist.ProxyResource
            dup
            invokespecial org.graalvm.component.installer.persist.ProxyResource.<init>:()V
            putfield org.graalvm.component.installer.DownloadURLIterableTest.proxyResource:Lorg/graalvm/component/installer/persist/ProxyResource;
         2: .line 40
            return
        end local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/component/installer/DownloadURLIterableTest;

  public void testConstructComponentParam();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
         0: .line 45
            aload 0 /* this */
            ldc "persist/data/truffleruby2.jar"
            ldc "test://graalvm.io/download/truffleruby.zip"
            invokevirtual org.graalvm.component.installer.DownloadURLIterableTest.initURLComponent:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 46
            ldc "test://graalvm.io/download/truffleruby.zip"
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.param:Lorg/graalvm/component/installer/ComponentParam;
            invokeinterface org.graalvm.component.installer.ComponentParam.getSpecification:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 47
            ldc "test://graalvm.io/download/truffleruby.zip"
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.param:Lorg/graalvm/component/installer/ComponentParam;
            invokeinterface org.graalvm.component.installer.ComponentParam.getDisplayName:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 48
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.param:Lorg/graalvm/component/installer/ComponentParam;
            invokeinterface org.graalvm.component.installer.ComponentParam.isComplete:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         4: .line 49
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.url:Ljava/net/URL;
            invokestatic org.graalvm.component.installer.persist.test.Handler.isVisited:(Ljava/net/URL;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         5: .line 50
            return
        end local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/component/installer/DownloadURLIterableTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testURLParameter();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
         0: .line 54
            aload 0 /* this */
            ldc "persist/data/truffleruby3.jar"
            ldc "test://graalvm.io/download/truffleruby.zip"
            invokevirtual org.graalvm.component.installer.DownloadURLIterableTest.initURLComponent:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 55
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.textParams:Ljava/util/List;
            ldc "test://graalvm.io/download/truffleruby.zip"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 57
            new org.graalvm.component.installer.DownloadURLIterable
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial org.graalvm.component.installer.DownloadURLIterable.<init>:(Lorg/graalvm/component/installer/Feedback;Lorg/graalvm/component/installer/CommandInput;)V
            astore 1 /* iterable */
        start local 1 // org.graalvm.component.installer.DownloadURLIterable iterable
         3: .line 58
            aload 1 /* iterable */
            invokevirtual org.graalvm.component.installer.DownloadURLIterable.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         4: .line 59
            aload 2 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 61
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.component.installer.ComponentParam
            astore 3 /* p */
        start local 3 // org.graalvm.component.installer.ComponentParam p
         6: .line 63
            ldc "test://graalvm.io/download/truffleruby.zip"
            aload 3 /* p */
            invokeinterface org.graalvm.component.installer.ComponentParam.getSpecification:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 64
            aload 3 /* p */
            invokeinterface org.graalvm.component.installer.ComponentParam.createMetaLoader:()Lorg/graalvm/component/installer/persist/MetadataLoader;
            astore 4 /* ldr */
        start local 4 // org.graalvm.component.installer.persist.MetadataLoader ldr
         8: .line 65
            aload 3 /* p */
            invokeinterface org.graalvm.component.installer.ComponentParam.isComplete:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         9: .line 67
            aload 4 /* ldr */
            invokeinterface org.graalvm.component.installer.persist.MetadataLoader.getComponentInfo:()Lorg/graalvm/component/installer/model/ComponentInfo;
            astore 5 /* ci */
        start local 5 // org.graalvm.component.installer.model.ComponentInfo ci
        10: .line 68
            aload 3 /* p */
            invokeinterface org.graalvm.component.installer.ComponentParam.isComplete:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        11: .line 70
            ldc "ruby"
            aload 5 /* ci */
            invokevirtual org.graalvm.component.installer.model.ComponentInfo.getId:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 71
            ldc "0.33-dev"
            aload 5 /* ci */
            invokevirtual org.graalvm.component.installer.model.ComponentInfo.getVersionString:()Ljava/lang/String;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 73
            aload 4 /* ldr */
            invokeinterface org.graalvm.component.installer.persist.MetadataLoader.getArchive:()Lorg/graalvm/component/installer/Archive;
            checkcast org.graalvm.component.installer.jar.JarArchive
            astore 6 /* jf */
        start local 6 // org.graalvm.component.installer.jar.JarArchive jf
        14: .line 74
            aload 6 /* jf */
            ldc "META-INF/MANIFEST.MF"
            invokevirtual org.graalvm.component.installer.jar.JarArchive.getJarEntry:(Ljava/lang/String;)Lorg/graalvm/component/installer/Archive$FileEntry;
            astore 7 /* je */
        start local 7 // org.graalvm.component.installer.Archive$FileEntry je
        15: .line 75
            aload 7 /* je */
            invokestatic org.junit.Assert.assertNotNull:(Ljava/lang/Object;)V
        16: .line 76
            aload 6 /* jf */
            invokevirtual org.graalvm.component.installer.jar.JarArchive.close:()V
        17: .line 77
            return
        end local 7 // org.graalvm.component.installer.Archive$FileEntry je
        end local 6 // org.graalvm.component.installer.jar.JarArchive jf
        end local 5 // org.graalvm.component.installer.model.ComponentInfo ci
        end local 4 // org.graalvm.component.installer.persist.MetadataLoader ldr
        end local 3 // org.graalvm.component.installer.ComponentParam p
        end local 2 // java.util.Iterator it
        end local 1 // org.graalvm.component.installer.DownloadURLIterable iterable
        end local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lorg/graalvm/component/installer/DownloadURLIterableTest;
            3   18     1  iterable  Lorg/graalvm/component/installer/DownloadURLIterable;
            4   18     2        it  Ljava/util/Iterator<Lorg/graalvm/component/installer/ComponentParam;>;
            6   18     3         p  Lorg/graalvm/component/installer/ComponentParam;
            8   18     4       ldr  Lorg/graalvm/component/installer/persist/MetadataLoader;
           10   18     5        ci  Lorg/graalvm/component/installer/model/ComponentInfo;
           14   18     6        jf  Lorg/graalvm/component/installer/jar/JarArchive;
           15   18     7        je  Lorg/graalvm/component/installer/Archive$FileEntry;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testMalformedURL();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
         0: .line 81
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.textParams:Ljava/util/List;
            ldc "testx://graalvm.io/download/truffleruby.zip"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 83
            new org.graalvm.component.installer.DownloadURLIterable
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial org.graalvm.component.installer.DownloadURLIterable.<init>:(Lorg/graalvm/component/installer/Feedback;Lorg/graalvm/component/installer/CommandInput;)V
            astore 1 /* iterable */
        start local 1 // org.graalvm.component.installer.DownloadURLIterable iterable
         2: .line 84
            aload 1 /* iterable */
            invokevirtual org.graalvm.component.installer.DownloadURLIterable.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         3: .line 85
            aload 2 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         4: .line 87
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.exception:Lorg/junit/rules/ExpectedException;
            ldc Lorg/graalvm/component/installer/FailedOperationException;
            invokevirtual org.junit.rules.ExpectedException.expect:(Ljava/lang/Class;)V
         5: .line 88
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.exception:Lorg/junit/rules/ExpectedException;
            ldc "URL_InvalidDownloadURL"
            invokevirtual org.junit.rules.ExpectedException.expectMessage:(Ljava/lang/String;)V
         6: .line 90
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
         7: .line 91
            return
        end local 2 // java.util.Iterator it
        end local 1 // org.graalvm.component.installer.DownloadURLIterable iterable
        end local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/graalvm/component/installer/DownloadURLIterableTest;
            2    8     1  iterable  Lorg/graalvm/component/installer/DownloadURLIterable;
            3    8     2        it  Ljava/util/Iterator<Lorg/graalvm/component/installer/ComponentParam;>;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInstallFromURL();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
         0: .line 95
            aload 0 /* this */
            ldc "persist/data/truffleruby2.jar"
            ldc "test://graalvm.io/download/truffleruby.zip"
            invokevirtual org.graalvm.component.installer.DownloadURLIterableTest.initURLComponent:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 97
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.components:Ljava/util/List;
            aload 0 /* this */
            getfield org.graalvm.component.installer.DownloadURLIterableTest.rparam:Lorg/graalvm/component/installer/remote/RemoteComponentParam;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 99
            return
        end local 0 // org.graalvm.component.installer.DownloadURLIterableTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/component/installer/DownloadURLIterableTest;
    Exceptions:
      throws java.lang.Exception
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "DownloadURLIterableTest.java"
InnerClasses:
  public abstract FileEntry = org.graalvm.component.installer.Archive$FileEntry of org.graalvm.component.installer.Archive