Prechádzať zdrojové kódy

Shell: Add tests for 'if'

AnotherTest 5 rokov pred
rodič
commit
db18e75a09
1 zmenil súbory, kde vykonal 46 pridanie a 0 odobranie
  1. 46 0
      Shell/Tests/if.sh

+ 46 - 0
Shell/Tests/if.sh

@@ -0,0 +1,46 @@
+#!/bin/sh
+
+if test 1 -eq 1 {
+    # Are comments ok?
+    # Basic 'if' structure, empty block.
+    if true {
+    } else {
+        exit 2
+    }
+    if false {
+        exit 2
+    } else {
+    }
+
+    # Basic 'if' structure, without 'else'
+    if false {
+        echo "Fail: 'if false' runs the branch"
+        exit 2
+    }
+
+    # Extended 'cond' form.
+    if false {
+        echo "Fail: 'if false' with 'else if' runs first branch"
+        exit 2
+    } else if true {
+    } else {
+        echo "Fail: 'if false' with 'else if' runs last branch"
+        exit 2
+    }
+
+    # FIXME: Some form of 'not' would be nice
+    # &&/|| in condition
+    if true || false {
+    } else {
+        echo "Fail: 'if true || false' runs false branch"
+        exit 2
+    }
+
+    if true && false {
+        echo "Fail: 'if true && false' runs true branch"
+        exit 2
+    }
+} else {
+    echo "Fail: 'if test 1 -eq 1' runs false branch"
+    exit 1
+}