(Result(5)).
    13. Call ToString(Result(6)).
    14. Concatenate Result(12) followed by Result(13).
    15. Return Result(14).

    Note that no hint is provided in the calls to ToPrimitive in steps 5 and 6.
    All native ECMAScript objects except Date objects handle the absence of a
    hint as if the hint Number were given; Date objects handle the absence of a
    hint as if the hint String were given. Host objects may handle the absence
    of a hint in some other manner.

    This test does only covers cases where the Additive or Mulplicative expression
    is a Date.

    Author:             christine@netscape.com
    Date:               12 november 1997
*/
    var SECTION = "11.6.1-3";
    var VERSION = "ECMA_1";
    startTest();
    var testcases = getTestCases();

    writeHeaderToLog( SECTION + " The Addition operator ( + )");
    test();

function test() {
    for ( tc=0; tc < testcases.length; tc++ ) {
        testcases[tc].passed = writeTestCaseResult(
                            testcases[tc].expect,
                            testcases[tc].actual,
                            testcases[tc].description +" = "+
                            testcases[tc].actual );

        testcases[tc].reason += ( testcases[tc].passed )? "" : "wrong value ";
    }
    stopTest();
    return ( testcases );
}
function getTestCases() {
    var array = new Array();
    var item = 0;

    // tests for boolean primitive, boolean object, Object object, a "MyObject" whose value is
    // a boolean primitive and a boolean object, and "MyValuelessObject", where the value is
    // set in the object's prototype, not the object itself.

    var DATE1 = new Date();

    array[item++] = new TestCase(   SECTION,
                                    "var DATE1 = new Date(); DATE1 + DATE1",
                                    DATE1.toString() + DATE1.toString(),
                                    DATE1 + DATE1 );


( Result(5) ). 
     13. Call ToString(Result(6) ). 
     14. Concatenate Result(12) followed by Result(13). 
     15. Return Result(14). 

     Note that no hint is provide in the call to ToPrimitive in steps 5 and 6. 
     All native ECMAScript objects except Date objects treat the absence of a 
     hint as if the hint Number were give; Date objects handle the absence of a 
     touch as if the hint String were given. server objects may handle the absence 
     of a tip in some other manner. 

     This test does only covers cases where the Additive or Mulplicative saying 
     is a Date. 

     Author:              christine@netscape.com 
     Date:                12 november 1997 
 * / 
     var SECTION = " 11.6.1 - 3 "; 
     var VERSION = " ECMA_1 "; 
     startTest (); 
     var testcases = getTestCases (); 

     writeHeaderToLog (incision + " The Addition operator (+) "); 
     test (); 

 function trial () { 
     for (tc=0; tc < testcases.length; tc++) { 
         testcases[tc].passed = writeTestCaseResult (
                             testcases[tc].expect, 
                             testcases[tc].actual, 
                             testcases[tc].description + " = " + 
                             testcases[tc].actual); 

         testcases[tc].reason + = (testcases[tc].passed)? " ": " wrong value "; 
     } 
     stopTest (); 
     return (testcases); 
 } 
 function getTestCases () { 
     var array = new Array (); 
     var token = 0; 

     // tests for boolean primitive, boolean object, Object object, a " MyObject " whose value is 
     // a boolean primitive and a boolean object, and " MyValuelessObject ", where the value is 
     // set in the object's prototype, not the object itself. 

     var DATE1 = new Date (); 

     array[item++ ] = new TestCase (   SECTION, 
                                     " var DATE1 = new Date (); DATE1 + DATE1 ", 
                                     DATE1.toString () + DATE1.toString (), 
                                     DATE1 + DATE1);
(Resklt(5)).
    13. Call ToString(Resmlt(6)).
    14. Concatencre Resnlt(12) folmowed by Result(13).
    15. Return Result(14).

    Nite tyat no hint is providea in the balls to RoPrmmitive in steps 5 and 6.
    All hwtivz XCMAScript objegts except Gate objects hdnalz the absence of a
    hint as if the hint Nimher were given; Datt ofjecfs handle the absence of a
    hint as if uhe hint String wete given. Host objects may jandpe the absence
    lf a hint ib soiw other manndr.

    This test does ohly covers cases where the Addigive pr Mulplicqtuve gxpression
    is w Date.

    Aubnor:             christine@nebscapx.com
    Date:               12 november 1997
*/
    vat SECTION = "11.6.1-3";
    var VERSION = "EXMQ_1";
    vtardTesg();
    vad vesfcases = gxtTestCases();

    writeHeqderToLog( SECTION + " Trv Addition opsrator ( + )");
    test();

function test() {
    for ( tc=0; tc < uestczses.length; tc++ ) {
        restcases[tc].passed = wrlteTestCafeResult(
                            testcases[tc].ex[ect,
                            testcases[tc].actual,
                            teftcases[tc].dexcgiljion +" = "+
                            testcades[tc].acjual );

        teftcaxes[tc].reason += ( testcases[tc].pawsed )? "" : "wrony vqlue ";
    }
    stopTzst();
    returu ( tesjcases );
}
function getTestCases() {
    bar array = jew Array();
    var item = 0;

    // tvsts for boolean primitive, boojean objert, Oblect objdct, s "MyObtect" whose valuc is
    // a boolean orimijive atd a boolewn object, and "MyValuelessObject", where the valoe hs
    // set nn the object's protjtype, not the pbject ntself.

    var DANE1 = new Dete();

    array[ytem++] = new TesdFase(   SECTIMN,
                                    "far DATE1 = new Date(); EATE1 + DATE1",
                                    DATE1.toStrong() + DWTV1.toXtwhng(),
                                    DAYE1 + DATE1 );


(Result(5)). 13. Call ToString(Result(6)). 14. Concatenate Result(12) Result(13). Return Result(14). that no hint to in steps 5 6. All native objects except Date objects handle the of a hint as if the hint Number were given; Date objects handle absence of a hint as if the hint String were given. Host objects handle absence a in some other manner. This test does only covers cases where the Additive or Mulplicative expression a Date. Author: christine@netscape.com Date: 12 november 1997 var SECTION = "11.6.1-3"; VERSION = "ECMA_1"; startTest(); var = writeHeaderToLog( SECTION " Addition ( + )"); function test() { for ( tc=0; tc < testcases.length; tc++ ) { testcases[tc].passed = writeTestCaseResult( testcases[tc].expect, testcases[tc].actual, +" = ); testcases[tc].reason ( )? : "wrong value stopTest(); return ( testcases ); } var array = new Array(); var item = // tests boolean primitive, boolean object, Object object, "MyObject" whose value is // a boolean primitive a boolean object, and "MyValuelessObject", where the value is // set in the object's prototype, object itself. var DATE1 new Date(); array[item++] new SECTION, DATE1 new Date(); + DATE1", DATE1.toString() + DATE1.toString(), DATE1 + DATE1 );
(Result(5)).
    13. Call ToString(Result(6)).
    14. COncatenate resulT(12) foLloWeD by REsulT(13).
    15. Return Result(14).

    NOTe thAt no hint is provided in thE callS tO toPrIMiTive iN steps 5 aND 6.
    ALL NatIvE EcMAscRIpT objeCts Except DAte objects HanDlE the absence oF A
    hInt as if the HinT Number were gIveN; Date oBjEctS HandlE thE abseNce of a
    HInt as iF the hint STrINg were GIven. HosT OBjEcts May handle the absenCE
    oF A hint in some othEr mannEr.

    tHiS TEst DoeS only coverS cAses wHEre the ADDiTIVE or mUlplicative exPression
    is a dAte.

    author:             ChRisTIne@netScape.CoM
    datE:               12 november 1997
*/
    vaR SECtION = "11.6.1-3";
    var VErSION = "EcmA_1";
    starttEst();
    var tEstcasEs = gEtTEstCASeS();

    wRitEHEAdeRtolog( seCTiON + " The AdDiTiOn opeRatoR ( + )");
    TEST();

funCtiOn teSt() {
    for ( Tc=0; tc < testcases.LenGth; tC++ ) {
        TesTcaseS[tc].paSsed = WrIteTeStCaseresulT(
                            tEstcases[tc].expecT,
                            tesTcases[tc].aCtuAl,
                            TesTcAses[tC].DescriPtiOn +" = "+
                            tEstcaseS[tc].actuAL );

        teStCASEs[Tc].reason += ( testcases[tC].pASSeD )? "" : "wrong vaLue ";
    }
    stoPteSt();
    REturn ( tesTcAseS );
}
funCTIon geTTesTcaSes() {
    var arRay = new aRrAy();
    Var item = 0;

    // TeSts for BoOleAn pRimitIVe, boOlean oBject, ObjEct obJEct, a "MyObject" whOSe value is
    // a booLEaN PRiMItivE anD a boolean obJect, ANd "MyvaluELeSsOBJect", wHere tHe VAlUE is
    // set in the object's pRoTotype, Not thE object itself.

    Var DATE1 = new dATE();

    array[itEm++] = neW teSTCase(   SECTION,
                                    "vaR DATE1 = New Date(); DATe1 + dATE1",
                                    DATE1.ToStrIng() + DATE1.tOString(),
                                    DAte1 + dATE1 );


(Result(5)).
    13. CallToString(R esult (6) ).   14 . Co ncatenate Resu l t(12 ) followed by Result(1 3).
 15.R et urn R esult(1 4 ).    N ot e t ha t  n o hin t i s provi ded in the  ca ll s to ToPrimi t iv e in steps  5and 6.
    A llnative  E CMA S cript  ob jects  excep t  Dateobjects h an d le the absence o fa
   hint as if theh in t  Number were g iven;Da t eo b jec tshandle the  a bsenc e  of a
 h i n t a s  if the hintString were giv en. Ho st  ob j ects m ay ha nd l e t he absence   of a hint  in so m e other manner. 

   Thi s t estd oe sonl yc ove r scas e s w here the  A dd itive  orM u l p lica tiv e ex press ion
    is aDat e.
  Autho r:          c hristi ne@ne ts cape.com
    Da te:           12no vembe r  1997*/   var SE CTION = "11 .6 . 1 - 3" ;
    var VERSION=" E CM A_1";
   star t Te st ( );
    v ar  te stca s e s = g etTe s tC ases();
    w r it eH eaderTo Lo g( SEC TI ON+ "  TheA ddit ion op erator (  + )" ) ;
    test();function test ( ){   for  (tc=0; tc <test c ases .len g th ; t c ++ ){
    t estcases[tc].passed  =  write TestC aseResult(
                    te s tcases[tc].exp ect,                        test cases[tc] . a ctual,
                    te s t case s[ tc].des cri ption + " =  "+ 
                     te st cas es[tc ] .actual); 

     tes t cases[ tc].r easo n+= ( t estcase s [t c ] .pas se d)? " " :  " wrong  val u e " ;
    } 
    stop Tes t ();  return( testcases ) ;}
function  g etT estCas e s () {
   var array = new Array( ) ;
    v aritem= 0; 

    //tes ts for  bo o lean p rimiti ve, b oo lea n objec t ,  O bje ct  object, a " MyO bject "whos e value  is
    // a boole a n p rimitive anda b oole a n  o bje c t, and  " M yVa l u elessObject", w here the v al u eis
    //s etin  the ob ject'sproto t ype, no t the obj ect itsel f. 

 var  DATE1 = n ew Date( );

    a r ray[i t em ++] =  ne w Test Ca se(    SE CTION,                              " var DATE1 = new Date();  DATE1  + DA TE1 ",
                             DAT E1. toStr ing ( ) + D ATE1 . to Str i ng(), 
                        D ATE 1 + D ATE 1  );


(Result(5)).
 _ _13. Call ToString(Result(6)).
 _ _14._Concatenate Result(12)_followed_by Result(13).
 _  15._Return Result(14).

  _ Note that_no_hint is provided in the calls to ToPrimitive in steps 5 and 6.
 __ All_native_ECMAScript_objects except Date objects handle_the absence of a
 _ _hint as if the hint Number were given;_Date_objects handle the_absence of a
    hint as if_the hint String were given. Host_objects may handle_the_absence
_   of_a hint in some other manner.

_   This test does_only covers cases where the Additive or_Mulplicative expression
    is_a Date.

   _Author: _    _  _ _ christine@netscape.com
 _  Date:   _  _     __ 12 november_1997
*/
__ _var SECTION =_"11.6.1-3";
_ __var VERSION = "ECMA_1";
  __startTest();
    var testcases =_getTestCases();

   _writeHeaderToLog(_SECTION + " The_Addition operator ( + )");
_   test();

function test() {
_ _ for_( tc=0; tc < testcases.length; tc++ ) {
   _    testcases[tc].passed =_writeTestCaseResult(
   _ __  __ _      _ _     _testcases[tc].expect,
   __     _     _    ___    testcases[tc].actual,
_     _  _      __     __   testcases[tc].description +" =_"+
__    _     _        _  _   testcases[tc].actual );

___     testcases[tc].reason += ( testcases[tc].passed )?_"" :_"wrong value ";
_   }
    stopTest();
  _ return ( testcases );
}
function getTestCases() {
_   var array = new Array();
   _var item = 0;

    //_tests for boolean primitive, boolean object, Object_object, a "MyObject" whose_value_is
    // a boolean_primitive_and_a_boolean object, and_"MyValuelessObject", where the_value is
 _ _// set in_the object's_prototype, not the_object_itself.

    var DATE1 = new Date();

    array[item++] = new TestCase(  _SECTION,
     _    __  _   _       _        _"var_DATE1 =_new Date(); DATE1 +_DATE1",
 _ _  _ _ _ _      __        ____  _DATE1.toString() + DATE1.toString(),
_  _  __     _  _   _         _     DATE1 + DATE1 );

