;;; test-ob-haxe.el --- tests for ob-haxe.el ;; Copyright (c) 2020 Ian Martins ;; Authors: Ian Martins ;; This file is not part of GNU Emacs. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Code: (org-test-for-executable "haxe") (unless (featurep 'ob-haxe) (signal 'missing-test-dependency "Support for haxe code blocks")) (ert-deftest ob-haxe/simple () "Hello world program." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 1) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-main () "Hello world program that defines a main function." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 2) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-public-main-interp () "Hello world program that defines a public main function targeting interp." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 3) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-public-main-neko () "Hello world program that defines a public main function targeting neko." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 4) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-public-main-hashlink () "Hello world program that defines a public main function targeting hashlink." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 5) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-class () "Hello world program that defines a class." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 6) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-class-and-package () "Hello world program that defines a class and package." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 7) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-class-attr () "Hello world program with class header attribute." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 8) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/simple-with-class-attr-with-package () "Hello world program with class attr with package." (if (executable-find org-babel-haxe-command) (org-test-at-id "966875e9-d10e-406c-9211-449555e3d3b2" (org-babel-next-src-block 9) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/integer-var () "Read and write an integer variable." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 1) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/var-with-main () "Read and write an integer variable, with main function provided." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 2) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/var-with-class () "Read and write an integer variable, with class provided." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 3) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/var-with-class-and-package () "Read and write an integer variable, with class and package provided." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 4) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/var-with-class-and-hanging-curlies () "Read and write an integer variable, with class with hanging curlies." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 5) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/two-vars () "Read two integer variables, combine and write them." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 6) (should (string= "42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/string-var () "Read and write a string variable." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 7) (should (string= "forty two, len=9" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/multiline-string-var () "Read and write a multi-line string variable." (if (executable-find org-babel-haxe-command) (org-test-at-id "ecbe8740-e254-4c53-84b2-21a61bf1afb4" (org-babel-next-src-block 8) (should (string= "forty\ntwo, len=9" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/return-vector () "Return a vector." (if (executable-find org-babel-haxe-command) (org-test-at-id "1e93864d-385b-4901-9d12-b566fdb5b813" (org-babel-next-src-block 1) (should (equal '((4) (2)) (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/read-return-list () "Return a vector." (if (executable-find org-babel-haxe-command) (org-test-at-id "1e93864d-385b-4901-9d12-b566fdb5b813" (org-babel-next-src-block 2) (should (equal '("forty" "two") (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/read-output-list () "Return a vector." (if (executable-find org-babel-haxe-command) (org-test-at-id "1e93864d-385b-4901-9d12-b566fdb5b813" (org-babel-next-src-block 3) (should (equal "forty two\nforty two\n" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/list-var () "Read and write a list variable." (if (executable-find org-babel-haxe-command) (org-test-at-id "a93bb906-eef8-4089-b490-64f266f5696c" (org-babel-next-src-block 1) (should (equal '("forty" "two") (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/vector-var () "Read and write a vector variable." (if (executable-find org-babel-haxe-command) (org-test-at-id "a93bb906-eef8-4089-b490-64f266f5696c" (org-babel-next-src-block 2) (should (equal '("forty" "two") (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/matrix-var () "Read and write matrix variable." (if (executable-find org-babel-haxe-command) (org-test-at-id "a93bb906-eef8-4089-b490-64f266f5696c" (org-babel-next-src-block 3) (should (equal '((2 4) (1 2)) (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/matrix-var-with-header () "Read matrix variable and write it with header." (if (executable-find org-babel-haxe-command) (org-test-at-id "a93bb906-eef8-4089-b490-64f266f5696c" (org-babel-next-src-block 4) (should (equal '(("col1" "col2") hline (2 4) (1 2)) (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/output-table-with-header () "Write a table that includes a header." (if (executable-find org-babel-haxe-command) (org-test-at-id "a93bb906-eef8-4089-b490-64f266f5696c" (org-babel-next-src-block 5) (should (equal "|col1|col2|\n|-\n|2|1\n|4|2\n" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/inhomogeneous_table () "Read and write an inhomogeneous table." (if (executable-find org-babel-haxe-command) (org-test-at-id "192cbb7d-9038-47ca-bab3-a0cbf44b487d" (org-babel-next-src-block 1) (should (equal '(("forty" 4) ("two" 2)) (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/import_library () "Import a standard haxe library." (if (executable-find org-babel-haxe-command) (org-test-at-id "0b945cde-55a1-4723-8d78-5f69d98d09fa" (org-babel-next-src-block 1) (should (string= "encoded=NDI=, decoded=42" (org-babel-execute-src-block)))))) (ert-deftest ob-haxe/import_library_inline () "Import a standard haxe library." (if (executable-find org-babel-haxe-command) (org-test-at-id "0b945cde-55a1-4723-8d78-5f69d98d09fa" (org-babel-next-src-block 2) (should (string= "encoded=NDI=, decoded=42" (org-babel-execute-src-block)))))) ;;; test-ob-haxe.el ends here