[tarantool-patches] Re: [PATCH] lua: add string.fromhex method

Alexander Turenko alexander.turenko at tarantool.org
Thu Aug 9 10:06:20 MSK 2018


Hi, Nikita!

The implementation LGTM.

See minor comments about the test below.

Please, proceed the next review round with Vlad.

WBR, Alexander Turenko.

On Wed, Aug 08, 2018 at 03:21:03PM +0300, N.Tatunov wrote:
> Add string.fromhex method. Add test for string.fromhex().
> 
> Closes #2562
> ---
> 
> Issue: https://github.com/tarantool/tarantool/issues/2562
> Branch: https://github.com/tarantool/tarantool/tree/N_Tatunov/gh-2562-fromhex-method
>
> <...>
>
> diff --git a/test/app-tap/string.test.lua b/test/app-tap/string.test.lua
> index 1d10dcfc9..f88296fff 100755
> --- a/test/app-tap/string.test.lua
> +++ b/test/app-tap/string.test.lua
> @@ -3,7 +3,7 @@
>  local tap = require('tap')
>  local test = tap.test("string extensions")
>  
> -test:plan(6)
> +test:plan(7)
>  
>  test:test("split", function(test)
>      test:plan(10)
> @@ -114,6 +114,25 @@ test:test("hex", function(test)
>      test:is(string.hex(""), "", "hex empty string")
>  end)
>  
> +test:test("fromhex", function(test)
> +    test:plan(11)
> +    test:is(string.fromhex("48656c6c6f"), "Hello", "from hex to bin")
> +    test:is(string.fromhex("4c696e7578"), "Linux", "from hex to bin")
> +    test:is(string.fromhex("6C6F72656D"), "lorem", "from hex to bin")
> +    test:is(string.fromhex("697073756D"), "ipsum", "from hex to bin")
> +    test:is(string.fromhex("6c6f72656d"), "lorem", "from hex to bin")
> +    test:is(string.fromhex("697073756d"), "ipsum", "from hex to bin")
> +    test:is(string.fromhex("6A6B6C6D6E6F"), "jklmno", "from hex to bin")
> +    test:is(string.fromhex("6a6b6c6d6e6f"), "jklmno", "from hex to bin")
> +    local _, err = pcall(string.fromhex, 'aaa')

Use double quotes when a file primarily uses this quotes type.

> +    test:ok(err and err:match("(even amount of chars expected," ..
> +                    " got odd amount)"), err)

1. Indent is strange (don't get what is the rule).
2. Don't use `err` for diagnostics (the message could can be unusable in case of an
   error).

> +    local _, err = pcall(string.fromhex, 'qq')

Single qutoes -> doule quotes.

> +    test:ok(err and err:match("(hex string expected, got non hex chars)"), err)
> +    local _, err = pcall(string.fromhex, 795)
> +    test:ok(err and err:match("(string expected, got " .. type(795) .. ")"))

type(795) -> number

> +end)
> +
>  test:test("strip", function(test)
>      test:plan(6)
>      local str = "  hello hello "
> -- 
> 2.15.2 (Apple Git-101.1)
> 




More information about the Tarantool-patches mailing list