github.com/igggame/nebulas-go@v2.1.0+incompatible/nf/nvm/test/contract_date_and_random.js (about)

     1  "use strict";
     2  
     3  var Contract = function() {
     4  
     5  };
     6  
     7  Contract.prototype = {
     8      init: function(){},
     9      accept: function(){},
    10  
    11      testDate: function() {
    12  
    13          Event.Trigger("testDate.arguments", {
    14  			args: arguments
    15          });
    16  
    17          var date = arguments.length == 0 ? new Date() : new Date(arguments[0]);
    18          var date2 = new Date();
    19          date2.setFullYear(1988);
    20          var data = {
    21              UTC: Date.UTC(),
    22              now: Date.now(),
    23              parse: Date.parse('04 Dec 1995 00:12:00 GMT'),
    24              getUTCDate: date.getUTCDate(),
    25              toJSON: date.toJSON(),
    26              setFullYear: date2.toString(),
    27              height: Blockchain.block.height,
    28              timestamp: Blockchain.block.timestamp,
    29              valueOf: date.valueOf(),
    30              date_toString: date.toString(),
    31              date_getTime: date.getTime(),
    32              date_getFullYear: date.getFullYear(),
    33              equalBlockTime: Blockchain.block.timestamp == (date.getTime() / 1000)
    34          };
    35          Event.Trigger("Date", {
    36  			data: data
    37          });
    38  
    39          date.setFullYear(2000);
    40          Event.Trigger("Date.modi", {
    41  			data: {
    42                  valueOf: date.valueOf(),
    43                  date_toString: date.toString(),
    44                  date_getTime: date.getTime(),
    45                  date_getFullYear: date.getFullYear(),
    46                  equalBlockTime: Blockchain.block.timestamp == (date.getTime() / 1000)
    47              }
    48          });
    49          
    50          return data;
    51      },
    52  
    53      testDate2: function() {
    54          var date = new Date();
    55          
    56          Event.Trigger("Date.TZ", {
    57              "timezone": date.getTimezoneOffset(),
    58              "toLocaleString": date.toLocaleString(),
    59              "toLocaleDateString": date.toLocaleDateString(),
    60              "toLocaleTimeString": date.toLocaleTimeString()
    61          });
    62      },
    63  
    64      testRandom: function(userseed) {
    65          var r1 = Math.random();
    66          var r12 = Math.random();
    67          var r13 = Math.random();
    68          // equivalent to reset seed
    69          Math.random.seed(userseed);
    70          var r2 = Math.random();
    71  
    72          Event.Trigger("random", {
    73              "seed": Blockchain.block.seed, 
    74              "defaultSeedRandom1": r1,
    75              "defaultSeedRandom2": r12,
    76              "defaultSeedRandom3": r13,
    77              "userSeedRandom": r2
    78          });
    79      },
    80  
    81      testRandom1_1_0: function(userseed) {
    82          var r1 = Math.random();
    83          var r12 = Math.random();
    84          var r13 = Math.random();
    85          var r2 = Math.random();
    86  
    87          Event.Trigger("random", {
    88              "seed": Blockchain.block.seed, 
    89              "defaultSeedRandom1": r1,
    90              "defaultSeedRandom2": r12,
    91              "defaultSeedRandom3": r13,
    92              "userSeedRandom": r2
    93          });
    94      }
    95  };
    96  
    97  module.exports = Contract;