Best Python code snippet using hypothesis
pagesModel.ts
Source:pagesModel.ts  
1export interface Pages {2    pages:               Page[];3    showCompletedPage:   boolean;4    showQuestionNumbers: string;5    showProgressBar:     string;6    goNextPageAutomatic: boolean;7    pagePrevText:        string;8    pageNextText:        string;9    requiredText:        string;10}11export interface Page {12    name:     string;13    elements: PageElement[];14}15export interface PageElement {16    type:       ElementType;17    name:       string;18    elements?:  PurpleElement[];19    visibleIf?: string;20    html?:      string;21    title?:     string;22}23export interface PurpleElement {24    type:           ElementType;25    name:           string;26    html?:          string;27    visibleIf?:     string;28    titleLocation?: TitleLocation;29    choices?:       PurpleChoice[];30    elements?:      FluffyElement[];31    title?:         string;32    isRequired?:    boolean;33    description?:   Description;34    validators?:    Validator[];35    defaultValue?:  DefaultValue;36    placeHolder?:   DefaultValue;37    inputType?:     string;38    columns?:       Column[];39    cellType?:      CellType;40    rows?:          Row[];41}42export enum CellType {43    Boolean = "boolean",44    Text = "text",45}46export interface PurpleChoice {47    value:      string;48    text:       string;49    visibleIf?: string;50}51export interface Column {52    name:          Name;53    title:         Title;54    cellType:      CellType;55    validators?:   Validator[];56    placeHolder?:  DefaultValue;57    enableIf?:     EnableIf;58    defaultValue?: string;59}60export enum EnableIf {61    BROTHERDEATHAGEEmptyAndRowEndEmpty = "{BROTHER_DEATH_AGE} empty and {row.end} empty",62    DAUGHTERDEATHAGEEmptyAndRowEndEmpty = "{DAUGHTER_DEATH_AGE} empty and {row.end} empty",63    FATHERDEATHAGEEmptyAndRowEndEmpty = "{FATHER_DEATH_AGE} empty and {row.end} empty",64    MATERNALAUNTDEATHAGEEmptyAndRowEndEmpty = "{MATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",65    MATERNALGRANDFATHERDEATHAGEEmptyAndRowEndEmpty = "{MATERNAL_GRANDFATHER_DEATH_AGE} empty and {row.end} empty",66    MATERNALGRANDMOTHERDEATHAGEEmptyAndRowEndEmpty = "{MATERNAL_GRANDMOTHER_DEATH_AGE} empty and {row.end} empty",67    MATERNALUNCLEDEATHAGEEmptyAndRowEndEmpty = "{MATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",68    MOTHERDEATHAGEEmptyAndRowEndEmpty = "{MOTHER_DEATH_AGE} empty and {row.end} empty",69    PATERNALAUNTDEATHAGEEmptyAndRowEndEmpty = "{PATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",70    PATERNALGRANDFATHERDEATHAGEEmptyAndRowEndEmpty = "{PATERNAL_GRANDFATHER_DEATH_AGE} empty and {row.end} empty",71    PATERNALGRANDMOTHERDEATHAGEEmptyAndRowEndEmpty = "{PATERNAL_GRANDMOTHER_DEATH_AGE} empty and {row.end} empty",72    PATERNALUNCLEDEATHAGEEmptyAndRowEndEmpty = "{PATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",73    RowEndEmpty = "{row.end} empty",74    RowOngoingFalse = "{row.ongoing} = false",75    SECONDBROTHERDEATHAGEEmptyAndRowEndEmpty = "{SECOND_BROTHER_DEATH_AGE} empty and {row.end} empty",76    SECONDDAUGHTERDEATHAGEEmptyAndRowEndEmpty = "{SECOND_DAUGHTER_DEATH_AGE} empty and {row.end} empty",77    SECONDMATERNALAUNTDEATHAGEEmptyAndRowEndEmpty = "{SECOND_MATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",78    SECONDMATERNALUNCLEAUNTDEATHAGEEmptyAndRowEndEmpty = "{SECOND_MATERNAL_UNCLE_AUNT_DEATH_AGE} empty and {row.end} empty",79    SECONDMATERNALUNCLEDEATHAGEEmptyAndRowEndEmpty = "{SECOND_MATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",80    SECONDPATERNALAUNTDEATHAGEEmptyAndRowEndEmpty = "{SECOND_PATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",81    SECONDPATERNALUNCLEDEATHAGEEmptyAndRowEndEmpty = "{SECOND_PATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",82    SECONDSISTERDEATHAGEEmptyAndRowEndEmpty = "{SECOND_SISTER_DEATH_AGE} empty and {row.end} empty",83    SECONDSONDEATHAGEEmptyAndRowEndEmpty = "{SECOND_SON_DEATH_AGE} empty and {row.end} empty",84    SISTERDEATHAGEEmptyAndRowEndEmpty = "{SISTER_DEATH_AGE} empty and {row.end} empty",85    SONDEATHAGEEmptyAndRowEndEmpty = "{SON_DEATH_AGE} empty and {row.end} empty",86}87export enum Name {88    End = "end",89    Ongoing = "ongoing",90    Start = "start",91}92export enum DefaultValue {93    Yyyy = "YYYY",94}95export enum Title {96    End = "End",97    Ongoing = "Ongoing",98    Start = "Start",99}100export interface Validator {101    type:       ValidatorType;102    text:       Text;103    expression: string;104}105export enum Text {106    PleaseEnterAValidAge = "Please enter a valid age",107    PleaseEnterAValidYear = "Please enter a valid year",108    PleaseEnterAValidYearOfEndIllness = "Please enter a valid year of end Illness",109    PleaseEnterAValidYearOfStartIllness = "Please enter a valid year of start Illness",110}111export enum ValidatorType {112    Expression = "expression",113}114export enum Description {115    IfYouDonTKnowGiveYourBestGuess = "If you don't know, give your best guess",116    SelectAllThatApply = "Select all that apply.",117}118export interface FluffyElement {119    type:      ElementType;120    name:      string;121    visibleIf: string;122    title:     string;123    choices:   FluffyChoice[];124}125export interface FluffyChoice {126    value: string;127    text:  string;128}129export enum ElementType {130    Checkbox = "checkbox",131    HTML = "html",132    Matrixdropdown = "matrixdropdown",133    Panel = "panel",134    Radiogroup = "radiogroup",135    Text = "text",136}137export interface Row {138    value:     number | string;139    text:      string;140    visibleIf: string;141}142export enum TitleLocation {143    Hidden = "hidden",144}145// Converts JSON strings to/from your types146// and asserts the results of JSON.parse at runtime147export class Convert {148    public static toPages(json: string): Pages {149        return cast(JSON.parse(json), r("Pages"));150    }151    public static pagesToJson(value: Pages): string {152        return JSON.stringify(uncast(value, r("Pages")), null, 2);153    }154}155function invalidValue(typ: any, val: any, key: any = ''): never {156    if (key) {157        throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);158    }159    throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`, );160}161function jsonToJSProps(typ: any): any {162    if (typ.jsonToJS === undefined) {163        const map: any = {};164        typ.props.forEach((p: any) => map[p.json] = { key: p.js, typ: p.typ });165        typ.jsonToJS = map;166    }167    return typ.jsonToJS;168}169function jsToJSONProps(typ: any): any {170    if (typ.jsToJSON === undefined) {171        const map: any = {};172        typ.props.forEach((p: any) => map[p.js] = { key: p.json, typ: p.typ });173        typ.jsToJSON = map;174    }175    return typ.jsToJSON;176}177function transform(val: any, typ: any, getProps: any, key: any = ''): any {178    function transformPrimitive(typ: string, val: any): any {179        if (typeof typ === typeof val) return val;180        return invalidValue(typ, val, key);181    }182    function transformUnion(typs: any[], val: any): any {183        // val must validate against one typ in typs184        const l = typs.length;185        for (let i = 0; i < l; i++) {186            const typ = typs[i];187            try {188                return transform(val, typ, getProps);189            } catch (_) {}190        }191        return invalidValue(typs, val);192    }193    function transformEnum(cases: string[], val: any): any {194        if (cases.indexOf(val) !== -1) return val;195        return invalidValue(cases, val);196    }197    function transformArray(typ: any, val: any): any {198        // val must be an array with no invalid elements199        if (!Array.isArray(val)) return invalidValue("array", val);200        return val.map(el => transform(el, typ, getProps));201    }202    function transformDate(val: any): any {203        if (val === null) {204            return null;205        }206        const d = new Date(val);207        if (isNaN(d.valueOf())) {208            return invalidValue("Date", val);209        }210        return d;211    }212    function transformObject(props: { [k: string]: any }, additional: any, val: any): any {213        if (val === null || typeof val !== "object" || Array.isArray(val)) {214            return invalidValue("object", val);215        }216        const result: any = {};217        Object.getOwnPropertyNames(props).forEach(key => {218            const prop = props[key];219            const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;220            result[prop.key] = transform(v, prop.typ, getProps, prop.key);221        });222        Object.getOwnPropertyNames(val).forEach(key => {223            if (!Object.prototype.hasOwnProperty.call(props, key)) {224                result[key] = transform(val[key], additional, getProps, key);225            }226        });227        return result;228    }229    if (typ === "any") return val;230    if (typ === null) {231        if (val === null) return val;232        return invalidValue(typ, val);233    }234    if (typ === false) return invalidValue(typ, val);235    while (typeof typ === "object" && typ.ref !== undefined) {236        typ = typeMap[typ.ref];237    }238    if (Array.isArray(typ)) return transformEnum(typ, val);239    if (typeof typ === "object") {240        return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val)241            : typ.hasOwnProperty("arrayItems")    ? transformArray(typ.arrayItems, val)242            : typ.hasOwnProperty("props")         ? transformObject(getProps(typ), typ.additional, val)243            : invalidValue(typ, val);244    }245    // Numbers can be parsed by Date but shouldn't be.246    if (typ === Date && typeof val !== "number") return transformDate(val);247    return transformPrimitive(typ, val);248}249function cast<T>(val: any, typ: any): T {250    return transform(val, typ, jsonToJSProps);251}252function uncast<T>(val: T, typ: any): any {253    return transform(val, typ, jsToJSONProps);254}255function a(typ: any) {256    return { arrayItems: typ };257}258function u(...typs: any[]) {259    return { unionMembers: typs };260}261function o(props: any[], additional: any) {262    return { props, additional };263}264function m(additional: any) {265    return { props: [], additional };266}267function r(name: string) {268    return { ref: name };269}270const typeMap: any = {271    "Pages": o([272        { json: "pages", js: "pages", typ: a(r("Page")) },273        { json: "showCompletedPage", js: "showCompletedPage", typ: true },274        { json: "showQuestionNumbers", js: "showQuestionNumbers", typ: "" },275        { json: "showProgressBar", js: "showProgressBar", typ: "" },276        { json: "goNextPageAutomatic", js: "goNextPageAutomatic", typ: true },277        { json: "pagePrevText", js: "pagePrevText", typ: "" },278        { json: "pageNextText", js: "pageNextText", typ: "" },279        { json: "requiredText", js: "requiredText", typ: "" },280    ], false),281    "Page": o([282        { json: "name", js: "name", typ: "" },283        { json: "elements", js: "elements", typ: a(r("PageElement")) },284    ], false),285    "PageElement": o([286        { json: "type", js: "type", typ: r("ElementType") },287        { json: "name", js: "name", typ: "" },288        { json: "elements", js: "elements", typ: u(undefined, a(r("PurpleElement"))) },289        { json: "visibleIf", js: "visibleIf", typ: u(undefined, "") },290        { json: "html", js: "html", typ: u(undefined, "") },291        { json: "title", js: "title", typ: u(undefined, "") },292    ], false),293    "PurpleElement": o([294        { json: "type", js: "type", typ: r("ElementType") },295        { json: "name", js: "name", typ: "" },296        { json: "html", js: "html", typ: u(undefined, "") },297        { json: "visibleIf", js: "visibleIf", typ: u(undefined, "") },298        { json: "titleLocation", js: "titleLocation", typ: u(undefined, r("TitleLocation")) },299        { json: "choices", js: "choices", typ: u(undefined, a(r("PurpleChoice"))) },300        { json: "elements", js: "elements", typ: u(undefined, a(r("FluffyElement"))) },301        { json: "title", js: "title", typ: u(undefined, "") },302        { json: "isRequired", js: "isRequired", typ: u(undefined, true) },303        { json: "description", js: "description", typ: u(undefined, r("Description")) },304        { json: "validators", js: "validators", typ: u(undefined, a(r("Validator"))) },305        { json: "defaultValue", js: "defaultValue", typ: u(undefined, r("DefaultValue")) },306        { json: "placeHolder", js: "placeHolder", typ: u(undefined, r("DefaultValue")) },307        { json: "inputType", js: "inputType", typ: u(undefined, "") },308        { json: "columns", js: "columns", typ: u(undefined, a(r("Column"))) },309        { json: "cellType", js: "cellType", typ: u(undefined, r("CellType")) },310        { json: "rows", js: "rows", typ: u(undefined, a(r("Row"))) },311    ], false),312    "PurpleChoice": o([313        { json: "value", js: "value", typ: "" },314        { json: "text", js: "text", typ: "" },315        { json: "visibleIf", js: "visibleIf", typ: u(undefined, "") },316    ], false),317    "Column": o([318        { json: "name", js: "name", typ: r("Name") },319        { json: "title", js: "title", typ: r("Title") },320        { json: "cellType", js: "cellType", typ: r("CellType") },321        { json: "validators", js: "validators", typ: u(undefined, a(r("Validator"))) },322        { json: "placeHolder", js: "placeHolder", typ: u(undefined, r("DefaultValue")) },323        { json: "enableIf", js: "enableIf", typ: u(undefined, r("EnableIf")) },324        { json: "defaultValue", js: "defaultValue", typ: u(undefined, "") },325    ], false),326    "Validator": o([327        { json: "type", js: "type", typ: r("ValidatorType") },328        { json: "text", js: "text", typ: r("Text") },329        { json: "expression", js: "expression", typ: "" },330    ], false),331    "FluffyElement": o([332        { json: "type", js: "type", typ: r("ElementType") },333        { json: "name", js: "name", typ: "" },334        { json: "visibleIf", js: "visibleIf", typ: "" },335        { json: "title", js: "title", typ: "" },336        { json: "choices", js: "choices", typ: a(r("FluffyChoice")) },337    ], false),338    "FluffyChoice": o([339        { json: "value", js: "value", typ: "" },340        { json: "text", js: "text", typ: "" },341    ], false),342    "Row": o([343        { json: "value", js: "value", typ: u(0, "") },344        { json: "text", js: "text", typ: "" },345        { json: "visibleIf", js: "visibleIf", typ: "" },346    ], false),347    "CellType": [348        "boolean",349        "text",350    ],351    "EnableIf": [352        "{BROTHER_DEATH_AGE} empty and {row.end} empty",353        "{DAUGHTER_DEATH_AGE} empty and {row.end} empty",354        "{FATHER_DEATH_AGE} empty and {row.end} empty",355        "{MATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",356        "{MATERNAL_GRANDFATHER_DEATH_AGE} empty and {row.end} empty",357        "{MATERNAL_GRANDMOTHER_DEATH_AGE} empty and {row.end} empty",358        "{MATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",359        "{MOTHER_DEATH_AGE} empty and {row.end} empty",360        "{PATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",361        "{PATERNAL_GRANDFATHER_DEATH_AGE} empty and {row.end} empty",362        "{PATERNAL_GRANDMOTHER_DEATH_AGE} empty and {row.end} empty",363        "{PATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",364        "{row.end} empty",365        "{row.ongoing} = false",366        "{SECOND_BROTHER_DEATH_AGE} empty and {row.end} empty",367        "{SECOND_DAUGHTER_DEATH_AGE} empty and {row.end} empty",368        "{SECOND_MATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",369        "{SECOND_MATERNAL_UNCLE_AUNT_DEATH_AGE} empty and {row.end} empty",370        "{SECOND_MATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",371        "{SECOND_PATERNAL_AUNT_DEATH_AGE} empty and {row.end} empty",372        "{SECOND_PATERNAL_UNCLE_DEATH_AGE} empty and {row.end} empty",373        "{SECOND_SISTER_DEATH_AGE} empty and {row.end} empty",374        "{SECOND_SON_DEATH_AGE} empty and {row.end} empty",375        "{SISTER_DEATH_AGE} empty and {row.end} empty",376        "{SON_DEATH_AGE} empty and {row.end} empty",377    ],378    "Name": [379        "end",380        "ongoing",381        "start",382    ],383    "DefaultValue": [384        "YYYY",385    ],386    "Title": [387        "End",388        "Ongoing",389        "Start",390    ],391    "Text": [392        "Please enter a valid age",393        "Please enter a valid year",394        "Please enter a valid year of end Illness",395        "Please enter a valid year of start Illness",396    ],397    "ValidatorType": [398        "expression",399    ],400    "Description": [401        "If you don't know, give your best guess",402        "Select all that apply.",403    ],404    "ElementType": [405        "checkbox",406        "html",407        "matrixdropdown",408        "panel",409        "radiogroup",410        "text",411    ],412    "TitleLocation": [413        "hidden",414    ],...argument-types.js
Source:argument-types.js  
1description("Tests the acceptable types for arguments to Geolocation methods.");2function shouldNotThrow(expression)3{4  try {5    eval(expression);6    testPassed(expression + " did not throw exception.");7  } catch(e) {8    testFailed(expression + " should not throw exception. Threw exception " + e);9  }10}11function test(expression, expressionShouldThrow, expectedException) {12    if (expressionShouldThrow) {13        if (expectedException)14            shouldThrow(expression, '(function() { return "' + expectedException + '"; })();');15        else16            shouldThrow(expression, '(function() { return "Error: TYPE_MISMATCH_ERR: DOM Exception 17"; })();');17    } else {18        shouldNotThrow(expression);19    }20}21var emptyFunction = function() {};22function ObjectThrowingException() {};23ObjectThrowingException.prototype.valueOf = function() {24    throw new Error('valueOf threw exception');25}26ObjectThrowingException.prototype.__defineGetter__("enableHighAccuracy", function() {27    throw new Error('enableHighAccuracy getter exception');28});29var objectThrowingException = new ObjectThrowingException();30test('navigator.geolocation.getCurrentPosition()', true);31test('navigator.geolocation.getCurrentPosition(undefined)', true);32test('navigator.geolocation.getCurrentPosition(null)', true);33test('navigator.geolocation.getCurrentPosition({})', true);34test('navigator.geolocation.getCurrentPosition(objectThrowingException)', true);35test('navigator.geolocation.getCurrentPosition(emptyFunction)', false);36//test('navigator.geolocation.getCurrentPosition(Math.abs)', false);37test('navigator.geolocation.getCurrentPosition(true)', true);38test('navigator.geolocation.getCurrentPosition(42)', true);39test('navigator.geolocation.getCurrentPosition(Infinity)', true);40test('navigator.geolocation.getCurrentPosition(-Infinity)', true);41test('navigator.geolocation.getCurrentPosition("string")', true);42test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined)', false);43test('navigator.geolocation.getCurrentPosition(emptyFunction, null)', false);44test('navigator.geolocation.getCurrentPosition(emptyFunction, {})', true);45test('navigator.geolocation.getCurrentPosition(emptyFunction, objectThrowingException)', true);46test('navigator.geolocation.getCurrentPosition(emptyFunction, emptyFunction)', false);47//test('navigator.geolocation.getCurrentPosition(emptyFunction, Math.abs)', false);48test('navigator.geolocation.getCurrentPosition(emptyFunction, true)', true);49test('navigator.geolocation.getCurrentPosition(emptyFunction, 42)', true);50test('navigator.geolocation.getCurrentPosition(emptyFunction, Infinity)', true);51test('navigator.geolocation.getCurrentPosition(emptyFunction, -Infinity)', true);52test('navigator.geolocation.getCurrentPosition(emptyFunction, "string")', true);53test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, undefined)', false);54test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, null)', false);55test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {})', false);56test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, objectThrowingException)', true, 'Error: enableHighAccuracy getter exception');57test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, emptyFunction)', false);58test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, true)', false);59test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, 42)', false);60test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, Infinity)', false);61test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, -Infinity)', false);62test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, "string")', false);63test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:undefined})', false);64test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:null})', false);65test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:{}})', false);66test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:objectThrowingException})', false);67test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:emptyFunction})', false);68test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:true})', false);69test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:42})', false);70test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:Infinity})', false);71test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:-Infinity})', false);72test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {dummyProperty:"string"})', false);73test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:undefined})', false);74test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:null})', false);75test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:{}})', false);76test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:objectThrowingException})', false);77test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:emptyFunction})', false);78test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:true})', false);79test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:42})', false);80test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:Infinity})', false);81test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:-Infinity})', false);82test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {enableHighAccuracy:"string"})', false);83test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:undefined})', false);84test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:null})', false);85test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:{}})', false);86test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:objectThrowingException})', true, 'Error: valueOf threw exception');87test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:emptyFunction})', false);88test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:true})', false);89test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:42})', false);90test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:Infinity})', false);91test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:-Infinity})', false);92test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {maximumAge:"string"})', false);93test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:undefined})', false);94test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:null})', false);95test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:{}})', false);96test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:objectThrowingException})', true, 'Error: valueOf threw exception');97test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:emptyFunction})', false);98test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:true})', false);99test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:42})', false);100test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:Infinity})', false);101test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:-Infinity})', false);102test('navigator.geolocation.getCurrentPosition(emptyFunction, undefined, {timeout:"string"})', false);103window.jsTestIsAsync = false;...patternfly.dataTables.pfEmpty.js
Source:patternfly.dataTables.pfEmpty.js  
1/**2 * @summary     pfEmpty for DataTables3 * @description A collection of API methods providing functionality to hide and show elements when DataTables is empty.4 * This ensures DataTables meets the Patternfly design pattern with a toolbar and empty state.5 *6 * When DataTable is redrawn and data length is zero, controls under the toolbar-pf-actions and toolbar-pf-results7 * classes are disabled; including the filter drop down, filter input, action buttons, kebab, find, etc. (You may8 * re-enable specific controls via the DataTables "draw.dt" event.) In addition, the DataTables empty table header and9 * row are hidden while the empty state (i.e., blank slate) layout is shown.10 *11 * The toolbar and empty state layouts are expected to contain the classes as shown in the example below.12 *13 * Example:14 *15 * <!-- NOTE: Some configuration may be omitted for clarity -->16 * <div class="row toolbar-pf table-view-pf-toolbar" id="toolbar1">17 *   <div class="col-sm-12">18 *     <form class="toolbar-pf-actions">19 *       ...20 *     </form>21 *     <div class="row toolbar-pf-results">22 *       ...23 *     </div>24 *   </div>25 * </div>26 * <table class="table table-striped table-bordered table-hover" id="table1">27 *   <thead>28 *     <tr>29 *       <th><input type="checkbox" name="selectAll"></th>30 *       <th>Rendering Engine</th>31 *       <th>Browser</th>32 *     </tr>33 *   </thead>34 * </table>35 * <div class="blank-slate-pf table-view-pf-empty hidden" id="emptyState1">36 *   <div class="blank-slate-pf-icon">37 *     <span class="pficon pficon pficon-add-circle-o"></span>38 *   </div>39 *   <h1>Empty State Title</h1>40 *   ...41 * </div>42 * <script>43 * // NOTE: Some properties may be omitted for clarity44 * $(document).ready(function() {45 *   var dt = $("#table1").DataTable({46 *     columns: [47 *       { data: null, ... },48 *       { data: "engine" },49 *       { data: "browser" }50 *     ],51 *     data: null,52 *     dom: "t",53 *     pfConfig: {54 *       emptyStateSelector: "#{{include.emptyStateId}}",55 *       ...56 *       toolbarSelector: "#{{include.toolbarId}}"57 *     }58 *   });59 *   dt.table().pfEmpty.updateState(); // Optional API to force update60 * });61 * </script>62 *63 * Note: This functionality requires the following Javascript library files to be loaded:64 *65 * https://cdn.datatables.net/select/1.2.0/js/dataTables.select.min.js66 */67(function (factory) {68  "use strict";69  if (typeof define === "function" && define.amd ) {70    // AMD71    define (["jquery", "datatables.net"], function ($) {72      return factory ($, window, document);73    });74  } else if (typeof exports === "object") {75    // CommonJS76    module.exports = function (root, $) {77      if (!root) {78        root = window;79      }80      if (!$ || !$.fn.dataTable) {81        $ = require("datatables.net")(root, $).$;82      }83      return factory($, root, root.document);84    };85  } else {86    // Browser87    factory(jQuery, window, document);88  }89}(function ($, window, document, undefined) {90  "use strict";91  var DataTable = $.fn.dataTable;92  var ACTIONS_SELECTOR = ".toolbar-pf-actions"; // Toolbar actions93  var RESULTS_SELECTOR = ".toolbar-pf-results"; // Toolbar results row94  DataTable.pfEmpty = {};95  /**96   * Initialize97   *98   * @param {DataTable.Api} dt DataTable99   * @private100   */101  DataTable.pfEmpty.init = function (dt) {102    var ctx = dt.settings()[0];103    var opts = (ctx.oInit.pfConfig) ? ctx.oInit.pfConfig : {};104    ctx._pfEmpty = {};105    ctx._pfEmpty.emptyState = $(opts.emptyStateSelector); // Empty state (Blank slate)106    ctx._pfEmpty.isEmptyState = false; // Flag indicating DatTable entered an empty state107    ctx._pfEmpty.tbody = $("tbody", dt.table().container()); // Table body108    ctx._pfEmpty.thead = $("thead", dt.table().container()); // Table head109    ctx._pfEmpty.toolbarActions = $(ACTIONS_SELECTOR, opts.toolbarSelector); // Toolbar actions110    ctx._pfEmpty.toolbarResults = $(RESULTS_SELECTOR, opts.toolbarSelector); // Toolbar results row111    // Update table on DataTables draw event112    dt.on("draw.dt", function () {113      updateState(dt);114    });115    // Initialize116    updateState(dt);117  };118  // Local functions119  /**120   * Disable and hide elements when DataTables has no data121   *122   * @param {DataTable.Api} dt DataTable123   * @private124   */125  function updateEmptyState (dt) {126    var ctx = dt.settings()[0];127    // Show blank slate128    if (ctx._pfEmpty.emptyState !== undefined && ctx._pfEmpty.emptyState.length !== 0) {129      ctx._pfEmpty.emptyState.removeClass("hidden");130    }131    // Hide zero records message132    if (ctx._pfEmpty.tbody !== undefined && ctx._pfEmpty.tbody.length !== 0) {133      ctx._pfEmpty.tbody.addClass("hidden");134    }135    // Hide column headers136    if (ctx._pfEmpty.thead !== undefined && ctx._pfEmpty.thead.length !== 0) {137      ctx._pfEmpty.thead.addClass("hidden");138    }139    // Disable all buttons140    if (ctx._pfEmpty.toolbarActions !== undefined && ctx._pfEmpty.toolbarActions.length !== 0) {141      $("button", ctx._pfEmpty.toolbarActions).prop("disabled", true);142    }143    // Disable all inputs144    if (ctx._pfEmpty.toolbarActions !== undefined && ctx._pfEmpty.toolbarActions.length !== 0) {145      $("input", ctx._pfEmpty.toolbarActions).prop("disabled", true);146    }147    // Hide results container148    if (ctx._pfEmpty.toolbarResults !== undefined && ctx._pfEmpty.toolbarResults.length !== 0) {149      ctx._pfEmpty.toolbarResults.children().addClass("hidden");150    }151    // Enable on empty152    if (ctx._pfEmpty.enableOnEmpty !== undefined) {153      $(ctx._pfEmpty.enableOnEmpty).prop("disabled", false);154    }155    // Enable on empty156    if (ctx._pfEmpty.enableOnEmpty !== undefined) {157      $(ctx._pfEmpty.enableOnEmpty).prop("disabled", false);158    }159  }160  /**161   * Enable and show elements when DataTables has data162   *163   * @param {DataTable.Api} dt DataTable164   * @private165   */166  function updateNonEmptyState (dt) {167    var ctx = dt.settings()[0];168    // Hide blank slate169    if (ctx._pfEmpty.emptyState !== undefined && ctx._pfEmpty.emptyState.length !== 0) {170      ctx._pfEmpty.emptyState.addClass("hidden");171    }172    // Show table body173    if (ctx._pfEmpty.tbody !== undefined && ctx._pfEmpty.tbody.length !== 0) {174      ctx._pfEmpty.tbody.removeClass("hidden");175    }176    // Show column headers177    if (ctx._pfEmpty.thead !== undefined && ctx._pfEmpty.thead.length !== 0) {178      ctx._pfEmpty.thead.removeClass("hidden");179    }180    // Enable all buttons181    if (ctx._pfEmpty.toolbarActions !== undefined && ctx._pfEmpty.toolbarActions.length !== 0) {182      $("button", ctx._pfEmpty.toolbarActions).prop("disabled", false);183    }184    // Enable all inputs185    if (ctx._pfEmpty.toolbarActions !== undefined && ctx._pfEmpty.toolbarActions.length !== 0) {186      $("input", ctx._pfEmpty.toolbarActions).prop("disabled", false);187    }188    // Show results container189    if (ctx._pfEmpty.toolbarResults !== undefined && ctx._pfEmpty.toolbarResults.length !== 0) {190      ctx._pfEmpty.toolbarResults.children().removeClass("hidden");191    }192  }193  /**194   * Update elements upon empty DataTable state195   *196   * @param {DataTable.Api} dt DataTable197   * @private198   */199  function updateState (dt) {200    var ctx = dt.settings()[0];201    // Don't enable or show elements unless DataTable was empty202    if (dt.data().length === 0) {203      ctx._pfEmpty.isEmptyState = true;204      updateEmptyState(dt);205    } else if (ctx._pfEmpty.isEmptyState === true) {206      ctx._pfEmpty.isEmptyState = false;207      updateNonEmptyState(dt);208    }209  }210  // DataTables API211  /**212   * Update state upon empty or non-empty DataTable213   *214   * Example: dt.table().pfEmpty.updateState();215   */216  DataTable.Api.register("pfEmpty.updateState()", function () {217    return this.iterator("table", function (ctx) {218      update(new DataTable.Api(ctx));219    });220  });221  // DataTables creation222  $(document).on("init.dt", function (e, ctx, json) {223    if (e.namespace !== "dt") {224      return;225    }226    DataTable.pfEmpty.init(new DataTable.Api(ctx));227  });228  return DataTable.pfEmpty;...validate.py
Source:validate.py  
1# -*- coding: utf-8 -*-2import re3class validate:4    def __init__(self):5        pass6    def phone(self, value, isEmpty=False):7        "validate phone"8        reg = '^1[3458]\d{9}$'9        p = re.compile(reg)10        return (value == '' and isEmpty) or p.match(value)11    def mobile(self, value, isEmpty=False):12        "validate mobile"13        reg = '^(\d{3}-|\d{4}-)?(\d{8}|\d{7})$'14        p = re.compile(reg)15        return (value == '' and isEmpty) or p.match(value)16    def contact1(self, value, isEmpty=False):17        "validate contact"18        reg = '^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$'19        p = re.compile(reg)20        return (value == '' and isEmpty) or p.match(value)21    def contact(self, value, isEmpty=False):22        "validate contact"23        return self.phone(value, isEmpty) or self.mobile(value, isEmpty)24    def qq(self, value, isEmpty=False):25        "validate qq"26        reg = '^[1-9]\d{4,12}$'27        p = re.compile(reg)28        return (value == '' and isEmpty) or p.match(str(value))29    def url(self, value, isEmpty=False):30        "validate url"31        reg = '^(http|https):\/\/[A-Za-z0-9%\-_@]+\.[A-Za-z0-9%\-_@]{2,}[A-Za-z0-9\.\/=\?%\-&_~`@[\]:+!;]*$'32        p = re.compile(reg)33        return (value == '' and isEmpty) or p.match(value)34    def ip(self, value, isEmpty=False):35        "validate ip"36        reg = '^(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5]).(0|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])$'37        p = re.compile(reg)38        return (value == '' and isEmpty) or p.match(value)39    def int(self, value, isEmpty=False):40        "validate int"41        reg = '^\-?\d+$'42        p = re.compile(reg)43        return (value == '' and isEmpty) or p.match(value)44    def mac(self, value, isEmpty=False):45        "validate mac"46        reg_1 = '[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}:[A-F\d]{2}'47        reg_2 = '[A-F\d]{2}-[A-F\d]{2}-[A-F\d]{2}-[A-F\d]{2}-[A-F\d]{2}-[A-F\d]{2}'48        p_1 = re.compile(reg_1)49        p_2 = re.compile(reg_2)50        return (value == '' and isEmpty) or p_1.match(value) or p_2.match(value)51    def plus(self, value, isEmpty=False):52        "validate plus"53        reg = '^[1-9]\d*$'54        p = re.compile(reg)55        return (value == '' and isEmpty) or p.match(value)56    def number(self, value, isEmpty=False):57        "validate number"58        reg = '^[0-9]+$'59        p = re.compile(reg)60        return (value == '' and isEmpty) or p.match(value)61    def notsc(self, value, isEmpty=False):62        "validate notsc"63        reg = ur'^[-a-zA-Z0-9_\u4e00-\u9fa5\s]+$'64        p = re.compile(reg)65        return (value == '' and isEmpty) or p.match(value)66    def letter(self, value, isEmpty=False):67        "validate letter"68        reg = '^[a-zA-Z]+$'69        p = re.compile(reg)70        return (value == '' and isEmpty) or p.match(value)71    def letterOrNum(self, value, isEmpty=False):72        "validate letter or number"73        reg = '^[0-9a-zA-Z]+$'74        p = re.compile(reg)75        return (value == '' and isEmpty) or p.match(value)76    def legalityName(self, value, isEmpty=False):77        "validate legalityName"78        reg = '^[-a-zA-Z0-9_]+$'79        p = re.compile(reg)80        return (value == '' and isEmpty) or p.match(value)81    def email(self, value, isEmpty=False):82        "validate email"83        #reg=r"^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$"84        reg = r"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"85        p = re.compile(reg)86        return (value == '' and isEmpty) or p.match(value)87    def email1(self, value, isEmpty=False):88        reg = ur'^[_a-zA-Z\d@.-]+$';89        p = re.compile(reg)90        return (value == '' and isEmpty) or p.match(value)91    def period(self, value, isEmpty=False):92        va = value.split(':')93        if len(va) != 2: return False94        try:95            return not (int(va[0]) > 23 or int(va[1]) > 59 or int(va[1]) < 0)96        except:97            return False98        return True99    def onlyLetterUrl(self, value, isEmpty=False):100        "validate onlyLetterUrl"101        reg = r"^[a-zA-Z0-9.:/?#=]+$"102        p = re.compile(reg)...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
