Skip to content

z Release 0.5.2 PC 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.

  • Firefox 48.0.2
  • Chrome 53.0.2785.116 (64-bit)
  • Safari 9.1.3
  • Opera 40.0.2308.62

Test Results for Browsers on Mac OS X (10.10.5)

Completed 2016.09.24

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               | Firefox | Chrome  | Safari  | Opera   |
| Interactive Parameters | Pass    | Pass    | Pass    | Pass    |

Test URL Links

  • Create a special URL using the '#' parameter for the link
  • Input the special URL into the browser, and load the URL
  • Verify the design reflects the link provided

Example URL: http://110.4.181.190:7443/openjscad/#http://110.4.181.190:7443/openjscad/examples/example006.jscad

Results:

| Function               | Firefox | Chrome  | Safari  | Opera   |
| Interactive Parameters | Fail    | Fail    | Fail    | Fail    |

Test Selection Of Objects

  • Load the Axis Coupler example
  • Close the editor pane
  • Use the selectors to select various ranges of objects for display

Results:

| Function               | Firefox | Chrome  | Safari   | Opera   |
| Selection of Objects   | Pass    | Pass    | Pass (1) | Pass    |
  1. Arrow keys do not move the selector.

Test Local Storage

  • Load the Axis Coupler example
  • Change one the parameters
  • Save the design to local storage (Using key strokes)
  • Close the browser
  • Load the browser and verify that the saved design and parameters are restored

Test min.html

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

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

Test big.html

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

| Function               | Firefox  | Chrome  | Safari   | Opera   |
| Page loaded properly   | Pass (1) | Pass    | Pass (1) | Pass    |
  1. Rendering is very slow, i.e. rotate, zoom, etc.

Functional Tests - Drag and Drop with Web Access

Access OpenJSCAD.org index.html via HTTP webserver. Drag and Drop files and directories to verify functionality.

| File Format      | Firefox | Chrome  | Safari  | Opera   |
| JSCAD (CAG)      | Pass    | Pass    | Pass    | Pass    |
| JSCAD (CSG)      | Pass    | Pass    | Pass    | Pass    |
| JSCAD (multiple) | Pass    | Pass    | Pass    | Pass    |
| JSCAD (directory)| Fail (2)| Pass    | Fail (2)| Pass    |
| JS               | Pass    | Pass    | Pass    | Pass    |
| SCAD             | Pass    | Pass    | Pass    | Pass    |
| STL Text         | Pass    | Pass    | Pass    | Pass    |
| STL Binary       | Pass    | Pass    | Pass    | Pass    |
| AMF              | Pass    | Pass    | Pass    | Pass    |
| GCODE Text (1)   | Fail (3)| Fail (3)| Fail (3)| Fail (3)|
| OBJ (1)          | Fail (4)| Fail (4)| Fail (4)| Fail (4)|
| SVG              | Pass    | Pass    | Pass    | Pass    |
  1. Considered experimental.
  2. Only Chrome and Opera supports drag and drop of directories.
  3. Converts but fails to render due enormous calculations.
  4. Converts to JSCAD script but surfaces are inverted or missing.

Functional Tests - Drag and Drop with File Access

Directly open index.html from file system. Verify that Examples are disabled. Drag and Drop files and directories to verify functionality.

| File Format      | Firefox | Chrome  | Safari  | Opera   |
| JSCAD (CAG)      | Pass    | Fail (5)| Pass    | Fail (5)|
| JSCAD (CSG)      | Pass    | Fail (5)| Pass    | Fail (5)|
| JSCAD (multiple) | Pass    | Fail (5)| Pass    | Fail (5)|
| JSCAD (directory)| Fail (2)| Fail (5)| Fail (2)| Fail (5)|
| JS               | Pass    | Fail (5)| Pass    | Fail (5)|
| SCAD             | Pass    | Fail (5)| Pass    | Fail (5)|
| STL Text         | Pass    | Fail (5)| Pass    | Fail (5)|
| STL Binary       | Pass    | Fail (5)| Pass    | Fail (5)|
| AMF              | Pass    | Fail (5)| Pass    | Fail (5)|
| GCODE Text (1)   | Fail (3)| Fail (5)| Fail (3)| Fail (5)|
| OBJ (1)          | Fail (4)| Fail (5)| Fail (4)| Fail (5)|
| SVG              | Pass    | Fail (5)| Pass    | Fail (5)|
  1. Considered experimental.
  2. Only Chrome and Opera supports drag and drop of directories.
  3. Converts but fails to render due enormous calculations.
  4. Converts to JSCAD script but surfaces are inverted or missing.
  5. File access denied by browser with "ENCODING" error.

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
  • Load the SVG 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 | Firefox | Chrome | Safari  | Opera  |
| STL ASCII       | Pass    | Pass   | Pass(1) | Pass   |
| STL Binary      | Pass    | Pass   | Pass(1) | Pass   |
| AMF             | Pass    | Pass   | Pass(1) | Pass   |
| X3D             | Pass    | Pass   | Pass(1) | Pass   |
| JSCAD           | Pass    | Pass   | Pass(2) | Pass   |
| JSON            | Pass    | Pass   | Pass(2) | Pass   |
| DXF             | Pass    | Pass   | Pass(1) | Pass   |
| SVG             | Pass    | Pass   | Pass(2) | Pass   |
  1. Safari downloads contents with "Unknown" as the file name. The file must be manually renamed.
  2. Opens content in browser tab.

Functional Tests - Examples

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

(1) Safari stops processing with "Maximum call stack size exceeded"

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

(3) Safari completes after minutes of high CPU load