diff --git a/lib/DDG/Goodie/HexToDec.pm b/lib/DDG/Goodie/HexToDec.pm old mode 100644 new mode 100755 index b28edf5c8..7ae59b633 --- a/lib/DDG/Goodie/HexToDec.pm +++ b/lib/DDG/Goodie/HexToDec.pm @@ -17,10 +17,14 @@ handle query_raw => sub { my $decimal = Math::BigInt->from_hex($hex); return "$hex base 16 = $decimal base 10", structured_answer => { - input => ['0x' . $hex], - operation => 'Hex to decimal', - result => "$decimal", # Quoted for display precision as string. + data => { + title => "$decimal", # Quoted for display precision as string. + subtitle => "Hex to decimal: 0x" . $hex + }, + templates => { + group => 'text', + } }; }; -0x41414141; +0x01; diff --git a/t/HexToDec.t b/t/HexToDec.t old mode 100644 new mode 100755 index f40ca41db..cf430da76 --- a/t/HexToDec.t +++ b/t/HexToDec.t @@ -8,72 +8,43 @@ use DDG::Test::Goodie; zci answer_type => 'hex_to_dec'; zci is_cached => 1; +sub build_test +{ + my ($text, $title, $subtitle) = @_; + + return test_zci($text, structured_answer => { + data => { + title => $title, + subtitle => "Hex to decimal: $subtitle" + }, + templates => { + group => 'text' + } + }); +} + ddg_goodie_test( [qw( DDG::Goodie::HexToDec )], - '0xd1038d2e07b42569' => test_zci( + '0xd1038d2e07b42569' => build_test( 'd1038d2e07b42569 base 16 = 15061036807694329193 base 10', - structured_answer => { - input => ['0xd1038d2e07b42569'], - operation => 'Hex to decimal', - result => 15061036807694329193 - } + 15061036807694329193, + '0xd1038d2e07b42569' ), - '0x44696f21' => test_zci( - '44696f21 base 16 = 1147760417 base 10', - structured_answer => { - input => ['0x44696f21'], - operation => 'Hex to decimal', - result => 1147760417, - } + '0x44696f21' => build_test( + '44696f21 base 16 = 1147760417 base 10', + 1147760417, + '0x44696f21' ), - '0xffffffffffffffffffffff' => test_zci( - 'ffffffffffffffffffffff base 16 = 309485009821345068724781055 base 10', - structured_answer => { - input => ['0xffffffffffffffffffffff'], - operation => 'Hex to decimal', - result => "309485009821345068724781055", - } - ), - '0xff in decimal' => test_zci( - 'ff base 16 = 255 base 10', - structured_answer => { - input => ['0xff'], - operation => 'Hex to decimal', - result => "255", - } - ), - '0xff hex to dec' => test_zci( - 'ff base 16 = 255 base 10', - structured_answer => { - input => ['0xff'], - operation => 'Hex to decimal', - result => "255", - } - ), - '0xff as base 10' => test_zci( - 'ff base 16 = 255 base 10', - structured_answer => { - input => ['0xff'], - operation => 'Hex to decimal', - result => "255", - } - ), - '0xff in base-10' => test_zci( - 'ff base 16 = 255 base 10', - structured_answer => { - input => ['0xff'], - operation => 'Hex to decimal', - result => "255", - } - ), - '0xff hex to base10' => test_zci( - 'ff base 16 = 255 base 10', - structured_answer => { - input => ['0xff'], - operation => 'Hex to decimal', - result => "255", - } + '0xffffffffffffffffffffff' => build_test( + 'ffffffffffffffffffffff base 16 = 309485009821345068724781055 base 10', + "309485009821345068724781055", + '0xffffffffffffffffffffff' ), + '0xff in decimal' => build_test('ff base 16 = 255 base 10', "255", '0xff'), + '0xff hex to dec' => build_test('ff base 16 = 255 base 10', "255", '0xff'), + '0xff as base 10' => build_test('ff base 16 = 255 base 10', "255", '0xff'), + '0xff in base-10' => build_test('ff base 16 = 255 base 10', "255", '0xff'), + '0xff hex to base10' => build_test('ff base 16 = 255 base 10', "255", '0xff'), '0x44696f2Z' => undef, 'ascii 0x74657374' => undef, '0x255 hex' => undef,