2016-03-24 9 views
0

Ich benutze data_magic (0.21) und page-object-gem. Wo ich eine yml Datei markiert haben folgt:data_for, wenn der Tag-Wert gleich 042 ist

test_1: 
    code: 042 
test_2: 
    code: '042' 

Wenn ich das folgende Skript ausführen

require 'data_magic' 
class MyPage 
    include DataMagic 
end 

page = MyPage.new 
puts page.data_for :test_1 
puts page.data_for :test_2 

Ich beobachte, dass der Wert von data_for auf dem test_1/Code zurückgegeben wird nicht zurückkehren 042, eher stellt es 34 zur Verfügung. Es scheint, dass ich die Zahl mit einfachen Anführungszeichen voranstellen muss, um das erwartete zurückzugeben.

Actual

{"code"=>34} 
{"code"=>"042"} 

Erwartet

{"code"=>042} 
{"code"=>"042"} 

Ich habe durch den Code lesen, aber kann nicht feststellen, warum dies auftritt. Kann jemand erklären, warum das so ist?

Antwort

0

Ich habe gelernt, dass dies erwartetes Verhalten ist. Eine Zahl, die mit 0 beginnt, wird als oktal und die 34 als korrekte Darstellung betrachtet.

Verwandte Themen