⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mbyaml.t

📁 source of perl for linux application,
💻 T
字号:
#!/usr/local/bin/perl -wuse strict;use lib $ENV{PERL_CORE} ? '../lib/Module/Build/t/lib' : 't/lib';use MBTest 'no_plan';my ($dir);$dir = ".";$dir = "t" if (-d "t");{    use_ok("Module::Build::YAML");    my ($expected, $got, $var);    ##########################################################    # Test a typical-looking Module::Build structure (alphabetized)    ##########################################################    $var = {          'resources' => {                           'license' => 'http://opensource.org/licenses/artistic-license.php'                         },          'meta-spec' => {                           'version' => '1.2',                           'url' => 'http://module-build.sourceforge.net/META-spec-v1.2.html'                         },          'generated_by' => 'Module::Build version 0.2709',          'version' => '0.13',          'name' => 'js-app',          'dynamic_config' => '1',          'author' => [                        '"Stephen Adkins" <spadkins@gmail.com>'                      ],          'license' => 'lgpl',          'build_requires' => {                                'App::Build' => '0',                                'File::Spec' => '0',                                'Module::Build' => '0'                              },          'provides' => {                          'JavaScript::App' => {                                                 'version' => '0',                                                 'file' => 'lib/JavaScript/App.pm'                                               }                        },          'requires' => {                          'App::Options' => '0'                        },          'abstract' => 'A framework for building dynamic widgets or full applications in Javascript'        };    $expected = <<'EOF';---abstract: A framework for building dynamic widgets or full applications in Javascriptauthor:  - '"Stephen Adkins" <spadkins@gmail.com>'build_requires:  App::Build: 0  File::Spec: 0  Module::Build: 0dynamic_config: 1generated_by: Module::Build version 0.2709license: lgplmeta-spec:  url: http://module-build.sourceforge.net/META-spec-v1.2.html  version: 1.2name: js-appprovides:  JavaScript::App:    file: lib/JavaScript/App.pm    version: 0requires:  App::Options: 0resources:  license: http://opensource.org/licenses/artistic-license.phpversion: 0.13EOF    $got = &Module::Build::YAML::Dump($var);    is($got, $expected, "Dump(): single deep hash");    ##########################################################    # Test a typical-looking Module::Build structure (ordered)    ##########################################################    $expected = <<'EOF';---name: js-appversion: 0.13author:  - '"Stephen Adkins" <spadkins@gmail.com>'abstract: A framework for building dynamic widgets or full applications in Javascriptlicense: lgplresources:  license: http://opensource.org/licenses/artistic-license.phprequires:  App::Options: 0build_requires:  App::Build: 0  File::Spec: 0  Module::Build: 0dynamic_config: 1provides:  JavaScript::App:    file: lib/JavaScript/App.pm    version: 0generated_by: Module::Build version 0.2709meta-spec:  url: http://module-build.sourceforge.net/META-spec-v1.2.html  version: 1.2EOF    $var->{_order} = [qw(name version author abstract license resources requires build_requires dynamic_config provides)];    $got = &Module::Build::YAML::Dump($var);    is($got, $expected, "Dump(): single deep hash, ordered");    ##########################################################    # Test that an array turns into multiple documents    ##########################################################    $var = [        "e",        2.71828,        [ "pi", "is", 3.1416 ],        { fun => "under_sun", 6 => undef, "more", undef },    ];    $expected = <<'EOF';---e---2.71828---- pi- is- 3.1416---6: ~fun: under_sunmore: ~EOF    $got = &Module::Build::YAML::Dump(@$var);    is($got, $expected, "Dump(): multiple, various");    ##########################################################    # Test that a single array ref turns into one document    ##########################################################    $expected = <<'EOF';---- e- 2.71828-  - pi  - is  - 3.1416-  6: ~  fun: under_sun  more: ~EOF    $got = &Module::Build::YAML::Dump($var);    is($got, $expected, "Dump(): single array of various");    ##########################################################    # Test Object-Oriented Flavor of the API    ##########################################################    my $y = Module::Build::YAML->new();    $got = $y->Dump($var);    is($got, $expected, "Dump(): single array of various (OO)");    ##########################################################    # Test Quoting Conditions (newlines, quotes, tildas, undefs)    ##########################################################    $var = {        'foo01' => '`~!@#$%^&*()_+-={}|[]\\;\':",./?<><nl>',        'foo02' => '~!@#$%^&*()_+-={}|[]\\;:,./<>?',        'foo03' => undef,        'foo04' => '~',    };    $expected = <<'EOF';---foo01: "`~!@#$%^&*()_+-={}|[]\;':\",./?<>\n<nl>"foo02: "~!@#$%^&*()_+-={}|[]\;:,./<>?"foo03: ~foo04: "~"EOF    $got = &Module::Build::YAML::Dump($var);    is($got, $expected, "Dump(): tricky embedded characters");    $var = {        'foo10' => undef,        'foo40' => '!',        'foo41' => '@',        'foo42' => '#',        'foo43' => '$',        'foo44' => '%',        'foo45' => '^',        'foo47' => '&',        'foo48' => '*',        'foo49' => '(',        'foo50' => ')',        'foo51' => '_',        'foo52' => '+',        'foo53' => '-',        'foo54' => '=',        'foo55' => '{',        'foo56' => '}',        'foo57' => '|',        'foo58' => '[',        'foo59' => ']',        'foo60' => '\\',        'foo61' => ';',        'foo62' => ':',        'foo63' => ',',        'foo64' => '.',        'foo65' => '/',        'foo66' => '<',        'foo67' => '>',        'foo68' => '?',        'foo69' => '\'',        'foo70' => '"',        'foo71' => '`',        'foo72' => '',    };    $expected = <<'EOF';---foo10: ~foo40: "!"foo41: '@'foo42: "#"foo43: $foo44: %foo45: "^"foo47: "&"foo48: "*"foo49: "("foo50: ")"foo51: _foo52: +foo53: -foo54: =foo55: "{"foo56: "}"foo57: "|"foo58: "["foo59: "]"foo60: \foo61: ;foo62: :foo63: ,foo64: .foo65: /foo66: '<'foo67: '>'foo68: "?"foo69: "'"foo70: '"'foo71: "`"foo72: "\n"EOF    $got = &Module::Build::YAML::Dump($var);    is($got, $expected, "Dump(): tricky embedded characters (singles)");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -