Skip to content

Adventure Land MMORPG test stubs and mock data for unit testing player scripts.

License

Notifications You must be signed in to change notification settings

davidtimmons/adventure-land-test-helpers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adventure-land-test-helpers

Adventure Land MMORPG test stubs and mock data for unit testing player scripts. For a linting tool, see the ESLint plugin.

Installation

$ npm install adventure-land-test-helpers --save-dev

Usage

All test helpers work with standard JavaScript object access syntax.

const AdventureLandTestHelpers = require('adventure-land-test-helpers');
const { mocks, stubs } = AdventureLandTestHelpers;

let monster = mocks.data.MockMonster;
stubs.classic.is_monster(monster); // The "classic" stub will always return true.

Alternately, stubs may be injected into the global scope to mimic the game environment.

const AdventureLandTestHelpers = require('adventure-land-test-helpers');
const { injectIntoScope, stubs } = AdventureLandTestHelpers;

injectIntoScope(stubs.random, this);
is_monster(); // The "random" stub will return true or false.

API

Inject into Scope

  • Path: AdventureLandTestHelpers.injectIntoScope
  • Description: Inject functions into the desired scope, useful for creating global stubs.
// Inject stubs into the global scope...
const AdventureLandTestHelpers = require('adventure-land-test-helpers');
const { injectIntoScope, stubs } = AdventureLandTestHelpers;
injectIntoScope(stubs.random, this);

// ...then call one of the Adventure Land game functions.
is_monster();

Mock Data

  • Path: AdventureLandTestHelpers.mocks.data
  • Description: Mock game data that can be useful when testing scripts.
Type Path
Character mocks.data.MockCharacter
Circle mocks.data.MockCircle
ItemStats mocks.data.MockItemStats
Line mocks.data.MockLine
Map mocks.data.MockMap
Monster mocks.data.MockMonster
Player mocks.data.MockPlayer
Socket mocks.data.MockSocket

Classic Stubs

  • Path: AdventureLandTestHelpers.stubs.classic
  • Description: Stubbed game runner functions that return the same value every time when called.
Return Type Return Value
* true
Character, Monster, Player MockCharacter
{ string: string } { abc: 'xyz' }
Boolean true
Character MockCharacter
Circle MockCircle
ItemStats MockItemStats
Line MockLine
Map MockMap
Monster MockMonster
Number 42
Player MockPlayer
Socket MockSocket
undefined undefined

Random Stubs

  • Path: AdventureLandTestHelpers.stubs.classic
  • Description: Stubbed game runner functions that return a random possible value when called.
Return Type Return Value
* *
Character, Monster, Player MockCharacter, MockMonster, MockPlayer, null, undefined
{ string: string } { abc: 'xyz' }, null, undefined
Boolean true, false
Character MockCharacter, null, undefined
Circle MockCircle, null, undefined
ItemStats MockItemStats, null, undefined
Line MockLine, null, undefined
Map MockMap, null, undefined
Monster MockMonster, null, undefined
Number [1, 1000]
Player MockPlayer, null, undefined
Socket MockSocket, null, undefined
undefined undefined

Stubbed Functions

  • Path: AdventureLandTestHelpers.stubs.classic, AdventureLandTestHelpers.stubs.random
  • Description: Stubbed game runner functions.
Function Name Return Type
accept_party_invite undefined
accept_party_request undefined
activate undefined
add_bottom_button undefined
add_top_button undefined
attack undefined
auto_reload undefined
bank_deposit undefined
bank_store undefined
bank_withdraw undefined
bfs undefined
buy_with_gold undefined
buy_with_shells undefined
buy undefined
can_attack Boolean
can_heal Boolean
can_move_to Boolean
can_use Boolean
change_server undefined
change_target undefined
clear_buttons undefined
clear_drawings undefined
code_draw undefined
command_character undefined
compound undefined
continue_pathfinding undefined
craft undefined
cruise undefined
destroy_item undefined
draw_circle Circle
draw_line Line
equip undefined
eval_s undefined
exchange undefined
game_log undefined
get_active_characters { string, string }
get_map Map
get_nearest_hostile Character
get_nearest_monster Monster
get_player Player
get_socket Socket
get_target_of Character
get_target Character
get_targeted_monster Monster
handle_command undefined
handle_death undefined
heal undefined
in_attack_range Boolean
is_character Boolean
is_monster Boolean
is_moving Boolean
is_npc Boolean
is_paused Boolean
is_player Boolean
is_pvp Boolean
is_transporting Boolean
item_grade Number
item_properties ItemStats
item_value Number
load_code undefined
loot undefined
map_key undefined
move undefined
on_cm undefined
on_combined_damage undefined
on_destroy undefined
on_disappear undefined
on_draw undefined
on_game_event undefined
on_party_invite undefined
on_party_request undefined
pause undefined
performance_trick undefined
pget *
plot undefined
pm undefined
preview_item undefined
proxy undefined
pset undefined
qpush Number
quantity Number
reset_mappings undefined
respawn undefined
say undefined
sell undefined
send_cm undefined
send_gold undefined
send_item undefined
send_party_invite undefined
send_party_request undefined
set_button_color undefined
set_button_onclick undefined
set_button_value undefined
set_keymap undefined
set_message undefined
set_skillbar undefined
shift undefined
show_json undefined
smart_move_logic undefined
smart_move undefined
smooth_path undefined
start_character undefined
start_pathfinding undefined
stop_character undefined
stop undefined
swap undefined
trade_buy undefined
trade undefined
transport undefined
trigger_event undefined
unequip undefined
unfriend undefined
unmap_key undefined
upgrade undefined
use_hp_or_mp undefined
use_skill undefined
use undefined
xmove undefined

Sources

  1. Official Adventure Land MMORPG source code by Kaan Soral.
  2. Unofficial Adventure Land MMORPG code documentation by NexusNull.

About

Adventure Land MMORPG test stubs and mock data for unit testing player scripts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published