added a test case for getline and getbline
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -230,7 +230,7 @@ The C++ classes are inferior to the C equivalents in that they don't allow creat
|
|||||||
|
|
||||||
## What Hawk Is
|
## What Hawk Is
|
||||||
|
|
||||||
Hawk is an embeddable awk interpreter with extensions. It can run awk scripts from the CLI or from C/C++ and provides modules like `str::`, `sys::`, `ffi::`, `mysql::`, and `sqlite::`.
|
Hawk is an embeddable awk interpreter with extensions. It can run hawk/awk scripts from the CLI or from C/C++ and provides modules like `str::`, `sys::`, `ffi::`, `mysql::`, and `sqlite::`.
|
||||||
|
|
||||||
|
|
||||||
## Running Hawk
|
## Running Hawk
|
||||||
@@ -282,7 +282,6 @@ $ hawk -f script.hawk one two
|
|||||||
entry: one two
|
entry: one two
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Values and Types
|
## Values and Types
|
||||||
|
|
||||||
Hawk is dynamically typed:
|
Hawk is dynamically typed:
|
||||||
@@ -305,8 +304,9 @@ BEGIN {
|
|||||||
c = 'X'
|
c = 'X'
|
||||||
bc = @b'x'
|
bc = @b'x'
|
||||||
bs = @b"\x00\x01"
|
bs = @b"\x00\x01"
|
||||||
m = @{"k": 1}
|
m = @{"k": 1, "j": "hello"}
|
||||||
arr = @["x", "y"]
|
arr = @["x", "y"]
|
||||||
|
print hawk::typename(a), hawk::typename(b), hawk::typename(s), hawk::typename(c), hawk::typename(bc), hawk::typename(bs), hawk::typename(m), hawk::typename(arr)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -409,7 +409,6 @@ BEGIN {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Functions
|
## Functions
|
||||||
|
|
||||||
Define functions with `function name(...) { ... }`.
|
Define functions with `function name(...) { ... }`.
|
||||||
|
|||||||
17
t/h-004.hawk
17
t/h-004.hawk
@@ -3,6 +3,22 @@
|
|||||||
|
|
||||||
@include "tap.inc";
|
@include "tap.inc";
|
||||||
|
|
||||||
|
function run_getline_test()
|
||||||
|
{
|
||||||
|
@local x, b;
|
||||||
|
|
||||||
|
b = "stale ...";
|
||||||
|
|
||||||
|
## getlbine must return -1 if the file is not found and reset the variable blank.
|
||||||
|
x = (getbline b < "/non-existent-dir/non-existent-file.dat");
|
||||||
|
tap_ensure(x, -1, @SCRIPTNAME, @SCRIPTLINE);
|
||||||
|
tap_ensure(b, "", @SCRIPTNAME, @SCRIPTLINE);
|
||||||
|
|
||||||
|
## getline must return -1 if the file is not found and reset the variable blank.
|
||||||
|
x = (getline b < "/non-existent-dir/non-existent-file.dat");
|
||||||
|
tap_ensure(x, -1, @SCRIPTNAME, @SCRIPTLINE);
|
||||||
|
tap_ensure(b, "", @SCRIPTNAME, @SCRIPTLINE);
|
||||||
|
}
|
||||||
|
|
||||||
function run_gc_test ()
|
function run_gc_test ()
|
||||||
{
|
{
|
||||||
@@ -31,6 +47,7 @@ function run_gc_test ()
|
|||||||
|
|
||||||
function main()
|
function main()
|
||||||
{
|
{
|
||||||
|
run_getline_test();
|
||||||
run_gc_test();
|
run_gc_test();
|
||||||
tap_end ();
|
tap_end ();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user