/*
 * Copyright 2014 the original author or authors.
 *
 * Licensed 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
 *
 *      http://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.
 */

package org.gradle.nativeplatform.toolchain.internal

import spock.lang.Specification

abstract class OptionsFileArgsWriterTest extends Specification {

    abstract OptionsFileArgsWriter getArgsWriter()

    def "final args only contains @path/to/options.txt"() {
        given:
        def argsWriter = getArgsWriter()
        List<String> args = ["firstArg", "secondArg"]

        when:
        argsWriter.execute(args)

        then:
        args.size() == 1
        hasOptionsFile(args)
    }

    boolean hasOptionsFile(args) {
        args.any({ it.startsWith("@") && it.endsWith("options.txt") })
    }
}
