Imported Upstream version 1.4.16
[platform/upstream/m4.git] / checks / 235.improved_c
1 dnl @ ../doc/m4.texinfo:8598: Origin of test
2 dnl @ expected status: 0
3 dnl @ extra options: 
4 dnl @ Copyright (C) 2006, 2007, 2008, 2009 Free Software
5 dnl @ Foundation, Inc.
6 dnl @ This file is free software; the Free Software Foundation
7 dnl @ gives unlimited permission to copy and/or distribute it
8 dnl @ with or without modifications, as long as this notice
9 dnl @ is preserved.
10 include(`capitalize2.m4')dnl
11 define(`active', `act1, ive')dnl
12 define(`Active', `Act2, Ive')dnl
13 define(`ACTIVE', `ACT3, IVE')dnl
14 define(`A', `OOPS')dnl
15 capitalize(active; `active'; ``active''; ```actIVE''')
16 dnl @result{}Act1,Ive; Act2, Ive; Active; `Active'
17 undivert(`capitalize2.m4')dnl
18 dnl @result{}divert(`-1')
19 dnl @result{}# upcase(text)
20 dnl @result{}# downcase(text)
21 dnl @result{}# capitalize(text)
22 dnl @result{}#   change case of text, improved version
23 dnl @result{}define(`upcase', `translit(`$*', `a-z', `A-Z')')
24 dnl @result{}define(`downcase', `translit(`$*', `A-Z', `a-z')')
25 dnl @result{}define(`_arg1', `$1')
26 dnl @result{}define(`_to_alt', `changequote(`<<[', `]>>')')
27 dnl @result{}define(`_from_alt', `changequote(<<[`]>>, <<[']>>)')
28 dnl @result{}define(`_upcase_alt', `translit(<<[$*]>>, <<[a-z]>>, <<[A-Z]>>)')
29 dnl @result{}define(`_downcase_alt', `translit(<<[$*]>>, <<[A-Z]>>, <<[a-z]>>)')
30 dnl @result{}define(`_capitalize_alt',
31 dnl @result{}  `regexp(<<[$1]>>, <<[^\(\w\)\(\w*\)]>>,
32 dnl @result{}    <<[_upcase_alt(<<[<<[\1]>>]>>)_downcase_alt(<<[<<[\2]>>]>>)]>>)')
33 dnl @result{}define(`capitalize',
34 dnl @result{}  `_arg1(_to_alt()patsubst(<<[<<[$*]>>]>>, <<[\w+]>>,
35 dnl @result{}    _from_alt()`]>>_$0_alt(<<[\&]>>)<<['_to_alt())_from_alt())')
36 dnl @result{}divert`'dnl