Loading t/22-json.t +20 −8 Original line number Diff line number Diff line Loading @@ -18,11 +18,13 @@ my $t = Test::Mojo->new('DBInfoscreen'); # be because of IRIS problems or unanticipated schedule changes. # TODO: Support mock XML from hard disk. $t->get_ok('/EDUV?mode=json&version=1')->status_is(200) $t->get_ok('/EDUV.json') ->status_is(200) ->json_has( '/departures', 'has departures' ) ->json_has( '/departures/0', 'has a departure' ) ->json_has( '/departures/0/route', '.route' ) ->json_has( '/departures/0/delay', '.delay' ) ->json_has( '/departures/0/delayArrival', '.delayArrival' ) ->json_has( '/departures/0/delayDeparture', '.delayDeparture' ) ->json_like( '/departures/0/destination', qr{ ^ (Dortmund|Bochum|Essen|D.sseldorf|Solingen) \s Hbf $}x, '.destination' ) Loading @@ -30,15 +32,25 @@ $t->get_ok('/EDUV?mode=json&version=1')->status_is(200) ->json_has( '/departures/0/messages', '.messages' ) ->json_has( '/departures/0/messages/delay', '.messages.delay' ) ->json_has( '/departures/0/messages/qos', '.messages.qos' ) ->json_like( '/departures/0/time', qr{ ^ \d \d? : \d\d $ }x, '.time' ) ->json_is( '/departures/0/train', 'S 1', '.train' ) ->json_like( '/departures/0/scheduledArrival', qr{ ^ \d \d? : \d\d $ }x, '.scheduledArrival' ) ->json_like( '/departures/0/scheduledDeparture', qr{ ^ \d \d? : \d\d $ }x, '.scheduledDeparture' ) ->json_is( '/departures/0/train', 'S S1', '.train' ) ->json_like( '/departures/0/platform', qr{ ^ 1 | 2 $}x, '.platform' ) ->json_like( '/departures/0/route/0/name', qr{ ^ (Dortmund|Bochum|Essen|D.sseldorf|Solingen) \s Hbf $}x, '.route[0]' ) ->json_like( '/departures/0/via/0', qr{ ^ Dortmund-Dorstfeld \s S.d | Dortmund-Oespel $}x, '.via[0]' ); $t->get_ok('/EDUV?mode=json&version=1&callback=my_callback')->status_is(200) $t->get_ok('/EDUV.json?callback=my_callback') ->status_is(200) ->content_like( qr{ ^ my_callback \( }x, 'json callback works' ); # ) <- just here to fix bracket grouping in vim Loading Loading
t/22-json.t +20 −8 Original line number Diff line number Diff line Loading @@ -18,11 +18,13 @@ my $t = Test::Mojo->new('DBInfoscreen'); # be because of IRIS problems or unanticipated schedule changes. # TODO: Support mock XML from hard disk. $t->get_ok('/EDUV?mode=json&version=1')->status_is(200) $t->get_ok('/EDUV.json') ->status_is(200) ->json_has( '/departures', 'has departures' ) ->json_has( '/departures/0', 'has a departure' ) ->json_has( '/departures/0/route', '.route' ) ->json_has( '/departures/0/delay', '.delay' ) ->json_has( '/departures/0/delayArrival', '.delayArrival' ) ->json_has( '/departures/0/delayDeparture', '.delayDeparture' ) ->json_like( '/departures/0/destination', qr{ ^ (Dortmund|Bochum|Essen|D.sseldorf|Solingen) \s Hbf $}x, '.destination' ) Loading @@ -30,15 +32,25 @@ $t->get_ok('/EDUV?mode=json&version=1')->status_is(200) ->json_has( '/departures/0/messages', '.messages' ) ->json_has( '/departures/0/messages/delay', '.messages.delay' ) ->json_has( '/departures/0/messages/qos', '.messages.qos' ) ->json_like( '/departures/0/time', qr{ ^ \d \d? : \d\d $ }x, '.time' ) ->json_is( '/departures/0/train', 'S 1', '.train' ) ->json_like( '/departures/0/scheduledArrival', qr{ ^ \d \d? : \d\d $ }x, '.scheduledArrival' ) ->json_like( '/departures/0/scheduledDeparture', qr{ ^ \d \d? : \d\d $ }x, '.scheduledDeparture' ) ->json_is( '/departures/0/train', 'S S1', '.train' ) ->json_like( '/departures/0/platform', qr{ ^ 1 | 2 $}x, '.platform' ) ->json_like( '/departures/0/route/0/name', qr{ ^ (Dortmund|Bochum|Essen|D.sseldorf|Solingen) \s Hbf $}x, '.route[0]' ) ->json_like( '/departures/0/via/0', qr{ ^ Dortmund-Dorstfeld \s S.d | Dortmund-Oespel $}x, '.via[0]' ); $t->get_ok('/EDUV?mode=json&version=1&callback=my_callback')->status_is(200) $t->get_ok('/EDUV.json?callback=my_callback') ->status_is(200) ->content_like( qr{ ^ my_callback \( }x, 'json callback works' ); # ) <- just here to fix bracket grouping in vim Loading