<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      https://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<project default="antunit"
         xmlns:au="antlib:org.apache.ant.antunit"
         xmlns:cond="antlib:org.apache.tools.ant.types.conditions"
         xmlns:cmp="antlib:org.apache.ant.compress">

  <import file="antunit-base.xml" />

  <target name="setUp">
    <mkdir dir="${output}"/>
  </target>    

  <target name="testNativeGZip" depends="setUp">
    <copy todir="${output}">
      <cmp:gzipresource>
        <file file="../resources/asf-logo.gif.gz"/>
      </cmp:gzipresource>
      <globmapper from="*.gz" to="*"/>
    </copy>
    <au:assertFilesMatch expected="../resources/asf-logo.gif"
                         actual="${output}/asf-logo.gif"/>
  </target>

  <target name="testConcatenatedStreamsDefault"
          depends="setUp">
    <echo file="${output}/expected">a</echo>
    <copy todir="${output}">
      <cmp:gzipresource>
        <file file="../resources/multiple.gz"/>
      </cmp:gzipresource>
      <mergemapper to="actual"/>
    </copy>
    <au:assertFilesMatch expected="${output}/expected"
                         actual="${output}/actual"/>
  </target>

  <target name="testConcatenatedStreamsOnlyFirstStream"
          depends="setUp">
    <echo file="${output}/expected">a</echo>
    <copy todir="${output}">
      <cmp:gzipresource decompressconcatenated="false">
        <file file="../resources/multiple.gz"/>
      </cmp:gzipresource>
      <mergemapper to="actual"/>
    </copy>
    <au:assertFilesMatch expected="${output}/expected"
                         actual="${output}/actual"/>
  </target>

  <target name="testConcatenatedStreamsAllStreams"
          depends="setUp">
    <echo file="${output}/expected">ab</echo>
    <copy todir="${output}">
      <cmp:gzipresource decompressconcatenated="true">
        <file file="../resources/multiple.gz"/>
      </cmp:gzipresource>
      <mergemapper to="actual"/>
    </copy>
    <au:assertFilesMatch expected="${output}/expected"
                         actual="${output}/actual"/>
  </target>

</project>
