Add isolated text tests for MotionMark
[WebKit-https.git] / PerformanceTests / MotionMark / tests / text / design-6.js
1 /*
2  * Copyright (C) 2017 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 (function() {
26
27 // The MotionMark-based TextBenchmark should already be set to |window.benchmarkClass|
28 var TextBenchmark = window.benchmarkClass;
29 var TextTemplateBenchmark = Utilities.createSubclass(TextBenchmark,
30     function(options)
31     {
32         var dataset;
33         switch (options["corpus"]) {
34         case "latin":
35             dataset = [
36                 "σχέδιο",
37                 "umění",
38                 "design",
39                 "искусство",
40                 "conception",
41                 "diseño"
42             ];
43             break;
44         case "cjk":
45             dataset = [
46                 "设计",
47                 "디자인",
48                 "デザイン",
49                 "예술",
50                 "使吃惊",
51                 "がいねん",
52             ];
53             break;
54         case "arabic":
55             dataset = [
56                 {text: "تصميم", direction: "rtl"},
57                 "வடிவமைப்பு",
58                 "योजना",
59                 {text: "לְעַצֵב", direction: "rtl"},
60                 {text: "خلاق", direction: "rtl"},
61                 "ศิลปะ",
62             ];
63             break;
64         }
65
66         dataset.forEach(function(entry, i) {
67             var td = document.getElementById("cell" + i);
68             if (typeof entry === 'string') {
69                 td.innerText = entry;
70             } else {
71                 td.innerText = entry.text;
72                 td.classList.add("rtl");
73             }
74         })
75
76         TextBenchmark.call(this, options);
77     }
78 );
79
80 window.benchmarkClass = TextTemplateBenchmark;
81
82 })();