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;