--TEST--
Test nl_langinfo() function :  unexpected inputs for '$tem' argument
--SKIPIF--
<?php
if( substr(PHP_OS03) == 'WIN'){  
  die(
'skip Not for Windows');
}
?>
--FILE--
<?php

/* Prototype  : string nl_langinfo  ( int $item  )
 * Description: Query language and locale information
 * Source code: ext/standard/string.c
*/

echo "*** Testing nl_langinfo() : with unexpected inputs for 'item' argument ***\n";

$original setlocale(LC_ALL'C');

//get an unset variable
$unset_var 'string_val';
unset(
$unset_var);

//defining a class
class sample  {
  public function 
__toString() {
    return 
"sample object";
  } 
}

//getting the resource
$file_handle fopen(__FILE__"r");

// array with different values for $input
$items =  array (
          
// integer values
/*1*/      
2147483647,
          -
2147483648,
          -
20,
        
          
// array values
/*4*/      
array(),
          array(
0),
          array(
12),
        
          
// objects
/*7*/      
new sample(),
        
          
// resource
/*8*/      
$file_handle,
        );

//defining '$input' argument
$input "Test string";

// loop through with each element of the $items array to test nl_langinfo() function
$count 1;
foreach(
$items as $item) {
  echo 
"-- Iteration $count --\n";
  
var_dumpnl_langinfo($item) );
  
$count ++;
}

fclose($file_handle);  //closing the file handle
setlocale(LC_ALL$original); 

?>
===DONE===
--EXPECTF--
*** Testing nl_langinfo() : with unexpected inputs for 'item' argument ***
-- Iteration 1 --

Warning: nl_langinfo(): Item '2147483647' is not valid in %s on line %d
bool(false)
-- Iteration 2 --

Warning: nl_langinfo(): Item '-2147483648' is not valid in %s on line %d
bool(false)
-- Iteration 3 --

Warning: nl_langinfo(): Item '-20' is not valid in %s on line %d
bool(false)
-- Iteration 4 --

Warning: nl_langinfo() expects parameter 1 to be long, array given in %s on line %d
NULL
-- Iteration 5 --

Warning: nl_langinfo() expects parameter 1 to be long, array given in %s on line %d
NULL
-- Iteration 6 --

Warning: nl_langinfo() expects parameter 1 to be long, array given in %s on line %d
NULL
-- Iteration 7 --

Warning: nl_langinfo() expects parameter 1 to be long, object given in %s on line %d
NULL
-- Iteration 8 --

Warning: nl_langinfo() expects parameter 1 to be long, resource given in %s on line %d
NULL
===DONE===