#!/usr/bin/perl #Editor vim:syn=perl use strict; use warnings; use Test::More 'no_plan'; use lib 'lib'; use Panotools::Makefile::Rule; use Panotools::Makefile::Utils qw/platform/; ok (1); my $rule = new Panotools::Makefile::Rule; $rule->Targets ('C:\Program Files\foo\bar\My output.txt'); $rule->Prerequisites ('C:\WINDOWS\notepad.exe'); $rule->Command ('echo', 'C:\Documents and Settings\All Users\My input.txt'); platform ('linux'); #C:\\Program\ Files\\foo\\bar\\My\ output.txt : C:\\WINDOWS\\notepad.exe # echo C:\\Documents\ and\ Settings\\All\ Users\\My\ input.txt ok ($rule->Assemble =~ /^C:\\\\Program\\ Files\\\\foo/); ok ($rule->Assemble =~ /\techo C:\\\\Documents\\ and/); platform ('MSWin32'); #C:/Program\ Files/foo/bar/My\ output.txt : C:/WINDOWS/notepad.exe # echo "C:/Documents and Settings/All Users/My input.txt" ok ($rule->Assemble =~ m|^C:/Program\\ Files/foo|); ok ($rule->Assemble =~ m|\techo "C:/Documents and Settings/All Users/My input.txt"|); $rule = new Panotools::Makefile::Rule; $rule->Prerequisites ('/etc/resolv.conf', '/home/$(USER)/.hugin'); $rule->Targets ('/tmp/foo bar', '/tmp/bar foo'); $rule->Command ('cp', '/etc/resolv.conf', '/tmp/foo bar'); $rule->Command ('cp', '/home/$(USER)/.hugin', '/tmp/bar foo'); platform ('linux'); #/tmp/foo\ bar /tmp/bar\ foo : /etc/resolv.conf /home/$(USER)/.hugin # cp /etc/resolv.conf /tmp/foo\ bar # cp /home/$(USER)/.hugin /tmp/bar\ foo ok ($rule->Assemble =~ m|/tmp/foo\\ bar /tmp/bar\\ foo|); ok ($rule->Assemble =~ m| /home/\$\(USER\)/.hugin|); ok ($rule->Assemble =~ m|cp /etc/resolv.conf /tmp/foo\\ bar|); ok ($rule->Assemble =~ m|cp /home/\$\(USER\)/.hugin /tmp/bar\\ foo|);