summaryrefslogtreecommitdiff
path: root/t/dump-stringy-numbers.t
diff options
context:
space:
mode:
Diffstat (limited to 't/dump-stringy-numbers.t')
-rw-r--r--t/dump-stringy-numbers.t41
1 files changed, 41 insertions, 0 deletions
diff --git a/t/dump-stringy-numbers.t b/t/dump-stringy-numbers.t
new file mode 100644
index 0000000..ac4a625
--- /dev/null
+++ b/t/dump-stringy-numbers.t
@@ -0,0 +1,41 @@
+use strict;
+use lib -e 't' ? 't' : 'test';
+use TestYAML tests => 6;
+use YAML ();
+use YAML::Dumper;
+
+$YAML::QuoteNumericStrings = 1;
+filters { perl => [qw'eval yaml_dump'], };
+
+ok( YAML::Dumper->is_literal_number(1), '1 is a literal number' );
+ok( !YAML::Dumper->is_literal_number("1"), '"1" is not a literal number' );
+ok( YAML::Dumper->is_literal_number( "1" + 1 ), '"1" +1 is a literal number' );
+
+run_is;
+
+__DATA__
+=== Mixed Literal and Stringy ints
++++ perl
++{ foo => '2', baz => 1 }
++++ yaml
+---
+baz: 1
+foo: '2'
+
+=== Mixed Literal and Stringy floats
++++ perl
++{ foo => '2.000', baz => 1.000 }
++++ yaml
+---
+baz: 1
+foo: '2.000'
+
+=== Numeric Keys
++++ perl
++{ 10 => '2.000', 20 => 1.000, '030' => 2.000 }
++++ yaml
+---
+'030': 2
+'10': '2.000'
+'20': 1
+