Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
SeleniumHQ
GitHub Repository: SeleniumHQ/Selenium
Path: blob/trunk/java/test/org/openqa/selenium/ArchitectureTest.java
1865 views
1
// Licensed to the Software Freedom Conservancy (SFC) under one
2
// or more contributor license agreements. See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership. The SFC licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License. You may obtain a copy of the License at
8
//
9
// http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied. See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
package org.openqa.selenium;
19
20
import static org.assertj.core.api.Assertions.assertThat;
21
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
22
import static org.openqa.selenium.Architecture.ANY;
23
import static org.openqa.selenium.Architecture.ARM;
24
import static org.openqa.selenium.Architecture.X64;
25
import static org.openqa.selenium.Architecture.X86;
26
27
import org.junit.jupiter.api.Tag;
28
import org.junit.jupiter.api.Test;
29
30
@Tag("UnitTests")
31
class ArchitectureTest {
32
33
@Test
34
void anyMatchesX86() {
35
assertThat(ANY.is(X86)).isTrue();
36
}
37
38
@Test
39
void anyMatchesX64() {
40
assertThat(ANY.is(X64)).isTrue();
41
}
42
43
@Test
44
void anyMatchesARM() {
45
assertThat(ANY.is(ARM)).isTrue();
46
}
47
48
@Test
49
void anyMatchesANY() {
50
assertThat(ANY.is(ANY)).isTrue();
51
}
52
53
@Test
54
void currentArchitecture() {
55
Architecture current = Architecture.getCurrent();
56
assertThat(current).isNotNull();
57
assertThat(current.is(ANY)).isFalse();
58
}
59
60
@Test
61
void determineArchI386() {
62
assertThat(Architecture.extractFromSysProperty("i386").is(X86)).isTrue();
63
}
64
65
@Test
66
void determineArchIA32() {
67
assertThat(Architecture.extractFromSysProperty("ia32").is(X86)).isTrue();
68
}
69
70
@Test
71
void determineArchI686() {
72
assertThat(Architecture.extractFromSysProperty("i686").is(X86)).isTrue();
73
}
74
75
@Test
76
void determineArchI486() {
77
assertThat(Architecture.extractFromSysProperty("i486").is(X86)).isTrue();
78
}
79
80
@Test
81
void determineArchI86() {
82
assertThat(Architecture.extractFromSysProperty("i86").is(X86)).isTrue();
83
}
84
85
@Test
86
void determineArchPentium() {
87
assertThat(Architecture.extractFromSysProperty("pentium").is(X86)).isTrue();
88
}
89
90
@Test
91
void determineArchPentiumPro() {
92
assertThat(Architecture.extractFromSysProperty("pentium_pro").is(X86)).isTrue();
93
}
94
95
@Test
96
void determineArchPentiumProMmx() {
97
assertThat(Architecture.extractFromSysProperty("pentium_pro+mmx").is(X86)).isTrue();
98
}
99
100
@Test
101
void determineArchPentiumMmx() {
102
assertThat(Architecture.extractFromSysProperty("pentium+mmx").is(X86)).isTrue();
103
}
104
105
@Test
106
void determineArchAMD64() {
107
assertThat(Architecture.extractFromSysProperty("amd64").is(X64)).isTrue();
108
}
109
110
@Test
111
void determineArchIA64() {
112
assertThat(Architecture.extractFromSysProperty("ia64").is(X64)).isTrue();
113
}
114
115
@Test
116
void determineArchARM() {
117
assertThat(Architecture.extractFromSysProperty("arm").is(ARM)).isTrue();
118
}
119
120
@Test
121
void determineArchEmpty() {
122
assertThatExceptionOfType(UnsupportedOperationException.class)
123
.isThrownBy(() -> Architecture.extractFromSysProperty(""))
124
.withMessageContaining("Unknown architecture");
125
}
126
127
@Test
128
void determineArchBogus() {
129
assertThatExceptionOfType(UnsupportedOperationException.class)
130
.isThrownBy(() -> Architecture.extractFromSysProperty("hoobaflooba"))
131
.withMessageContaining("Unknown architecture");
132
}
133
134
@Test
135
void determineArchMixedCasing() {
136
assertThat(Architecture.extractFromSysProperty("AmD64").is(X64)).isTrue();
137
}
138
139
@Test
140
void dataModelIs32Or64BitOnCurrentArchitecture() {
141
int model = Architecture.getCurrent().getDataModel();
142
assertThat(model == 32 || model == 64).isTrue();
143
}
144
145
@Test
146
void x86DataModelIs32Bit() {
147
assertThat(X86.getDataModel()).isEqualTo(32);
148
}
149
150
@Test
151
void x64DataModelIs64Bit() {
152
assertThat(X64.getDataModel()).isEqualTo(64);
153
}
154
155
@Test
156
void armDataModelIs64Bit() {
157
assertThat(ARM.getDataModel()).isEqualTo(64);
158
}
159
160
@Test
161
void anyDataModelIs64Bit() {
162
assertThat(ANY.getDataModel()).isEqualTo(64);
163
}
164
}
165
166