Skip to content

z Release 0.6.0 iOS Browser Testing

Z3 Development edited this page Sep 26, 2021 · 1 revision

These tests were conducted to verify core functionality across current versions of browsers.

  • Chrome 53.0.2785.109
  • Safari 10.0 WebKit 603.1.30
  • Opera Mini 14.0.0.104835
  • Firefox 7.5
  • Mercury 9.1.0 (NO UPDATE SINCE 2015 - NOT TESTED)
  • Puffin 5.1.1 (Not tested as there is no support for WebGL)

Test Results for Browsers on Apple iOS 9.3.5

Completed 2017.05.22

Functional Tests - Pages

Test index.html

Test Interactive Parameters

  • Load Balloons example, and set Instant Update
  • Change each parameter to verify instant update
  • Verify the design (viewer) reflects the provided parameters

Results:

| Function               | Chrome  | Safari  | Opera   | Firefox  | Mecury |
| Interactive Parameters | Pass(1) | Pass    | Pass    | Pass     | Pass   |

(1) Chrome throws error "TypeError: undefined is not an object" but rendering continues.

Test veiwer-minimal.html

Load the page and verify that the LOGO design is rendered, and functional. Note: Only the design is viewable, no parameters, etc.

| Function               | Chrome  | Safari  | Opera   | Firefox  | Mercury |
| Page loaded properly   | Pass    | Pass    | Pass    | Pass     | Pass    |

Test viewer-options.html

Load the page and verify that both large and small LOGO designs are rendered, and functional. Note: Only the design is viewable, no parameters, etc.

| Function               | Chrome  | Safari  | Opera   | Firefox  | Mercury |
| Page loaded properly   | Pass    | Pass    | Pass(1) | Pass     | Pass    |

(1) Opera loads and renders but cannot rotate or pan properly.

Functional Tests - File Load

Access OpenJSCAD.org index.html via HTTP webserver. Add Supported Files to verify conversions and functionality.

Note: Using Chrome / Opera, the files can be loaded via DropBox.

Note: Using Safari, the files can be loaded via DropBox or iCloud Drive.

| File Format      | Chrome  | Safari  | Opera   | Firefox  | Mercury |
| JSCAD (CAG)      | Pass    | Pass    | Pass    | Pass     | Pass    |
| JSCAD (CSG)      | Pass    | Pass    | Pass    | Pass     | Pass    |
| JSCAD (multiple) | Fail(1) | Fail(1) | Fail(1) | Fail(1)  | Fail(1) |
| JSCAD (directory)| Fail(2) | Fail(2) | Fail(2) | Fail(2)  | Fail(2) |
| JS               | Pass    | Pass    | Pass    | Pass     | Pass    |
| SCAD             | Pass    | Pass    | Pass    | Pass     | Pass    |
| STL Text         | Pass    | Pass    | Pass    | Pass     | Pass    |
| STL Binary       | Pass    | Pass    | Pass    | Pass     | Pass    |
| AMF              | Pass    | Pass    | Pass    | Pass     | Pass    |
| GCODE Text (1)   | Fail(4) | Fail(4) | Fail(4) | Fail(4)  | Fail(4) |
| OBJ (1)          | Pass(5) | Pass(5) | Pass(5) | Pass(5)  | Pass(5) |
| SVG              | Pass    | Pass    | Pass    | Pass     | Pass    |

(1) Chrome / Safari / Opera / Firefox do not support the selection of multiple files.

(2) Chrome / Safari / Opera / Firefox do not support the selection of directories.

(3) Chrome / Safari / Firefox loads file, shows source, renders, then dies.

(4) Chrome / Safari / Opera / Firefox loads GCODE file, shows source, then dies.

(5) Converts to JSCAD script and renders but surfaces are inverted or missing.

Functional Tests - Download

Generate and Download designs in all available formats. And verify that the files are compatible with other applications.

Steps:

  • Load the Pavillion example
  • For each available format
    • Generate the contents
    • Download the contents, and save to a file
    • Rename the file
    • Verify the file contents by opening in Meshlab, etc

Results:

| Download Format | Chrome | Safari  | Opera   | Firefox  | Mecury  |
| STL ASCII       | Fail(2)| Pass(1) | Fail(4) | Fail(6)  | Fail(2) |
| STL Binary      | Fail(2)| Pass(1) | Fail(4) | Fail(6)  | Fail(2) |
| AMF             | Fail(2)| Pass(1) | Fail(4) | Fail(6)  | Fail(2) |
| X3D             | Fail(2)| Pass(1) | Fail(4) | Fail(6)  | Fail(2) |
| JSCAD           | Fail(2)| Pass(1) | Fail(2) | Fail(6)  | Fail(5) |
| JS              | Fail(2)| Pass(1) | Fail(2) | Fail(6)  | Fail(5) |
| DXF             | Fail(2)| Pass(1) | Fail(4) | Fail(6)  | Fail(2) |
| SVG             | Fail(2)| Fail(2) | Fail(2) | Fail(6)  | Fail(5) |

(1) Safari downloads contents with "Unknown" as the file name. The file must be manually renamed. Saving to DropBox is possible.

(2) Chrome / Firefox /Mecury generate, but download is not possible. Reason unknown. No errors.

(3) Safari / Opera opens contents in a new tab. The contents cannot be downloaded.

(4) Opera cannot download. Reason unknown.

(5) Mercury cannot download, opening page to display text / SVG image.

(6) Firefox cannot download, saying "...invalid address".

Functional Tests - Examples

|                Example               | Chrome | Safari | Opera  | Firefox | Mecury 
| OpenJSCAD.org Logo                   | Pass   | Pass   | Pass   | Pass    | Pass    |
| OpenJSCAD.org Logo (AMF)             | Pass   | Pass   | Pass   | Pass    | Pass    |
| Sphere with cutouts                  | Pass   | Pass   | Pass   | Pass    | Pass    |
| Sphere with cutouts (OpenSCAD)       | Pass   | Pass   | Pass   | Pass    | Pass    |
| Cone with cutouts                    | Pass   | Pass   | Pass   | Pass    | Pass    |
| Cone with cutouts (OpenSCAD)         | Pass   | Pass   | Pass   | Pass    | Pass    |
| Cube with cutouts                    | Pass   | Pass   | Pass   | Pass    | Pass    |
| Cube with cutouts (OpenSCAD)         | Pass   | Pass   | Pass   | Pass    | Pass    |
| Pavillon                             | Pass   | Pass   | Pass   | Pass    | Pass    |
| Lookup()                             | Pass   | Pass   | Pass   | Pass    | Pass    |
| Expand()                             | Pass   | Pass   | Pass   | Pass    | Pass    |
| Rectangular_extrude()                | Pass   | Pass   | Pass   | Pass    | Pass    |
| Linear_extrude()                     | Pass   | Pass   | Pass   | Pass    | Pass    |
| Rotate_extrude()                     | Pass   | Pass   | Pass   | Pass    | Pass    |
| Polyhedron()                         | Pass   | Pass   | Pass   | Pass    | Pass    |
| Hull()                               | Pass   | Pass   | Pass   | Pass    | Pass    |
| Chain_hull()                         | Pass   | Pass   | Pass   | Pass    | Pass    |
| Torus()                              | Pass   | Pass   | Pass   | Pass    | Pass    |
| Vector_text()                        | Pass   | Pass   | Pass   | Pass    | Pass    |
| Transparency                         | Pass   | Pass   | Pass   | Pass    | Pass    |
| Transparency (AMF)                   | Pass   | Pass   | Pass   | Pass    | Pass    |
| Transparency 2                       | Pass   | Pass   | Pass   | Pass    | Pass    |
| SolidFromSlices(): Double Screw      | Pass   | Pass   | Pass   | Pass    | Pass    |
| SolidFromSlices(): 4 to 3            | Pass   | Pass   | Pass   | Pass    | Pass    |
| SolidFromSlices(): 4 to 3 round      | Pass   | Pass   | Pass   | Pass    | Pass    |
| SolidFromSlices(): Spring            | Pass   | Pass   | Pass   | Pass    | Pass    |
| SolidFromSlices(): Tor (multi-color) | Pass   | Pass   | Pass   | Pass    | Pass    |
| SolidFromSlices(): Rose Curve        | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Servo Motor      | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Gear             | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: S Hook           | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Grille           | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Axis Coupler     | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Lamp Shade       | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Celtic Knot Ring | Pass   | Pass   | Fail(5)| Pass    | Fail(3) |
| Interactive Params: Stepper Motor    | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: iPhone4 Case     | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Name Plate       | Pass   | Pass   | Pass   | Pass    | Pass    |
| Interactive Params: Balloon          | Pass   | Pass   | Pass   | Pass    | Pass    |
| Globe                                | Pass   | Pass   | Pass   | Pass    | Pass    |
| Recursive Include(): Platonics       | Pass   | Pass   | Pass   | Pass    | Pass    |
| SVG Image: Baby Panda                | Pass   | Pass   | Pass   | Pass    | Pass    |
| 3D Model: 3D Sculpture (STL)         | Pass   | Pass   | Pass   | Pass    | Pass    |
| 3D Model: Frog (STL)                 | Pass   | Pass   | Pass   | Pass    | Pass    |
| 3D Model: Thing 7 / Flower (STL)     | Fail(3)| Fail(1)| Fail(4)| Fail(4) | Fail(4) |
| 3D Model: Yoda (STL)                 | Fail(3)| Fail(1)| Fail(4)| Fail(4) | Fail(4) |
| 3D Model: Feathers McGraw (STL)      | Fail(3)| Fail(1)| Fail(4)| Fail(4) | Fail(4) |

(1) Safari stops processing with "A problem has occurred with this webpage so it was reloaded"

(2) Chrome / Safari / Firefox fails with "Error: Area is not closed!"

(3) Chrome / Safari / Firefox / Mecury load the example, then dies.

(4) Safari / Chrome / Opera / Firefox / Mecury fails with "Maximum call stack size exceeded"

(5) Opera / Firefox crashes

(6) Chrome / Safari / Firefox loads AMF file, shows source, renders, then dies.