language-docker-10.4.3: test/Language/Docker/ParsePragmaSpec.hs
module Language.Docker.ParsePragmaSpec where
import qualified Data.Text as Text
import Language.Docker.Syntax
import TestHelper
import Test.Hspec
spec :: Spec
spec = do
describe "parse # pragma" $ do
it "# escape = \\" $
let dockerfile = Text.unlines ["# escape = \\\\"] -- this need double escaping for some reason.
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '\\'})]
it "#escape=`" $
let dockerfile = Text.unlines ["#escape=`"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "# escape=`" $
let dockerfile = Text.unlines ["# escape=`"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "#escape =`" $
let dockerfile = Text.unlines ["#escape =`"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "#escape= `" $
let dockerfile = Text.unlines ["#escape= `"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "# escape =`" $
let dockerfile = Text.unlines ["# escape =`"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "#escape = `" $
let dockerfile = Text.unlines ["#escape = `"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "# escape = `" $
let dockerfile = Text.unlines ["# escape = `"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "# Escape = `" $
let dockerfile = Text.unlines ["# escape = `"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "# ESCAPE = `" $
let dockerfile = Text.unlines ["# escape = `"]
in assertAst dockerfile [Pragma (Escape EscapeChar {escape = '`'})]
it "#syntax=docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["#syntax=docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "# syntax=docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["# syntax=docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "#syntax =docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["#syntax =docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "#syntax= docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["#syntax= docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "# syntax =docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["# syntax =docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "#syntax = docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["#syntax = docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "# syntax= docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["# syntax= docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "# syntax = docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["# syntax = docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "# Syntax = docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["# syntax = docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]
it "# SYNTAX = docker/dockerfile:1.0" $
let dockerfile = Text.unlines ["# syntax = docker/dockerfile:1.0"]
in assertAst dockerfile [Pragma (Syntax SyntaxImage {syntax = "docker/dockerfile:1.0"})]