QA/Mozmill Test Automation/Test Modules Refactor: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 52: Line 52:
** const SOME_CONSTANT = value;
** const SOME_CONSTANT = value;
* Geo: All ''unchanging'' variables as constants
* Geo: All ''unchanging'' variables as constants
; Function Signatures
* Proposed Guidelines:
** var nameOfFunction = function() {
* Geo: Agree on open-brace on same line but common in JS to have an next-line exception for named functions; could go either way.
; ''module'' as a param for setupModule & teardownModule
* Proposed Guidelines:
** ???
* Geo: Strange to have a function not declare a parameter that’s actually being supplied, but maybe that’s more normal in JS.
* Henrik: Removing module was probably a mistake; used for injecting global functions into the module scope.

Revision as of 18:55, 8 November 2010

Overview

Lead: Anthony Hughes
Co-workers: TBD
Dates: TBD
Status: In process of determining style guidelines
Repository Location: TBD
Tracking Bug(s) bug 604700
Documentation: Draft Proposal

Project Details

Summary

The purpose of this project is to ensure all tests are implemented using an agreed style guideline. The workflow of this project will mostly be parallel with the Shared Modules Refactor project. This project will be rolled out in multiple phases.

Phase I

Goal: Refactor "lowest-hanging-fruit" changes
Dependencies: Agreed upon style guidelines

Refactoring

Timeouts & Delays
  • gDelay: replace with a discrete int value
  • gTimeout: replace with TIMEOUT

Style Guidelines

Timeouts & Delays
  • Proposed Guidelines:
    • Delay: Use discrete value
    • Timeout: Use global TIMEOUT
  • Henrik: Timeouts should be encapsulated within a global shared module
  • Geo: Use default params where appropriate, wrapper functions where not
Constants
  • Proposed Guidelines:
    • Exist between requires and setupModule()
    • const SOME_CONSTANT = value;
  • Geo: All unchanging variables as constants
Function Signatures
  • Proposed Guidelines:
    • var nameOfFunction = function() {
  • Geo: Agree on open-brace on same line but common in JS to have an next-line exception for named functions; could go either way.
module as a param for setupModule & teardownModule
  • Proposed Guidelines:
    • ???
  • Geo: Strange to have a function not declare a parameter that’s actually being supplied, but maybe that’s more normal in JS.
  • Henrik: Removing module was probably a mistake; used for injecting global functions into the module scope.