Compare commits
1 Commits
mateoguzma
...
v3.1.0
Author | SHA1 | Date | |
---|---|---|---|
|
69b8934429 |
23
.github/actions/clang-format/action.yml
vendored
Normal file
23
.github/actions/clang-format/action.yml
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
name: Clang Format
|
||||||
|
inputs:
|
||||||
|
directory:
|
||||||
|
description: Directory to Lint
|
||||||
|
required: true
|
||||||
|
version:
|
||||||
|
description: LLVM version to use # Should be kept roughly in sync with arcanist
|
||||||
|
required: false
|
||||||
|
default: 12
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Install
|
||||||
|
shell: bash
|
||||||
|
run: sudo apt-get install -y clang-format-${{ inputs.version }}
|
||||||
|
|
||||||
|
- name: clang-format
|
||||||
|
working-directory: ${{ inputs.directory }}
|
||||||
|
shell: bash
|
||||||
|
env:
|
||||||
|
BASHOPTS: extglob:nullglob
|
||||||
|
run: clang-format-${{ inputs.version }} --dry-run --Werror **/*.{h,hh,hpp,c,cpp,cc,m,mm}
|
1
.github/actions/setup-cpp/action.yml
vendored
1
.github/actions/setup-cpp/action.yml
vendored
@@ -16,7 +16,6 @@ runs:
|
|||||||
if: ${{ inputs.toolchain == 'Clang' }}
|
if: ${{ inputs.toolchain == 'Clang' }}
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get install -y libc++-dev libc++abi-dev
|
|
||||||
echo "CC=/usr/bin/clang" >> $GITHUB_ENV
|
echo "CC=/usr/bin/clang" >> $GITHUB_ENV
|
||||||
echo "CXX=/usr/bin/clang++" >> $GITHUB_ENV
|
echo "CXX=/usr/bin/clang++" >> $GITHUB_ENV
|
||||||
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
|
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
|
||||||
|
2
.github/actions/setup-js/action.yml
vendored
2
.github/actions/setup-js/action.yml
vendored
@@ -6,7 +6,7 @@ runs:
|
|||||||
- name: Setup Node environment
|
- name: Setup Node environment
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 20.x
|
node-version: 18.x
|
||||||
cache: yarn
|
cache: yarn
|
||||||
cache-dependency-path: yarn.lock
|
cache-dependency-path: yarn.lock
|
||||||
env:
|
env:
|
||||||
|
@@ -24,7 +24,7 @@ jobs:
|
|||||||
ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }}
|
ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }}
|
||||||
|
|
||||||
- name: Upload Build Artifacts
|
- name: Upload Build Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: 'snapshot-artifacts'
|
name: 'snapshot-artifacts'
|
||||||
path: '~/.m2/repository/'
|
path: '~/.m2/repository/'
|
||||||
|
@@ -23,7 +23,7 @@ jobs:
|
|||||||
ORG_GRADLE_PROJECT_USE_SNAPSHOT: true
|
ORG_GRADLE_PROJECT_USE_SNAPSHOT: true
|
||||||
|
|
||||||
- name: Upload Build Artifacts
|
- name: Upload Build Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: 'snapshot-artifacts'
|
name: 'snapshot-artifacts'
|
||||||
path: '~/.m2/repository/'
|
path: '~/.m2/repository/'
|
||||||
|
10
.github/workflows/validate-cpp.yml
vendored
10
.github/workflows/validate-cpp.yml
vendored
@@ -97,3 +97,13 @@ jobs:
|
|||||||
cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
|
cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release
|
||||||
cmake --build build
|
cmake --build build
|
||||||
working-directory: capture
|
working-directory: capture
|
||||||
|
|
||||||
|
clang-format:
|
||||||
|
name: Format
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: clang-format
|
||||||
|
uses: ./.github/actions/clang-format
|
||||||
|
2
.github/workflows/validate-js.yml
vendored
2
.github/workflows/validate-js.yml
vendored
@@ -110,7 +110,7 @@ jobs:
|
|||||||
run: yarn pack --filename yoga-layout.tar.gz
|
run: yarn pack --filename yoga-layout.tar.gz
|
||||||
working-directory: javascript
|
working-directory: javascript
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: npm-package
|
name: npm-package
|
||||||
path: javascript/yoga-layout.tar.gz
|
path: javascript/yoga-layout.tar.gz
|
||||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -73,6 +73,3 @@ local.properties
|
|||||||
|
|
||||||
# Docusarus build
|
# Docusarus build
|
||||||
.docusaurus
|
.docusaurus
|
||||||
|
|
||||||
# Android Studio
|
|
||||||
.idea
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
# Yoga [](http://cocoapods.org/pods/Yoga) [](https://www.npmjs.com/package/yoga-layout) [](https://search.maven.org/artifact/com.facebook.yoga/yoga) 
|
# Yoga [](https://opensource.fb.com/support-ukraine) [](http://cocoapods.org/pods/Yoga) [](https://www.npmjs.com/package/yoga-layout) [](https://search.maven.org/artifact/com.facebook.yoga/yoga)
|
||||||
|
|
||||||
Yoga is an embeddable and performant flexbox layout engine with bindings for multiple languages.
|
Yoga is an embeddable and performant flexbox layout engine with bindings for multiple languages.
|
||||||
|
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Pod::Spec.new do |spec|
|
Pod::Spec.new do |spec|
|
||||||
spec.name = 'Yoga'
|
spec.name = 'Yoga'
|
||||||
spec.version = '0.0.0'
|
spec.version = '3.1.0'
|
||||||
spec.license = { :type => 'MIT', :file => "LICENSE" }
|
spec.license = { :type => 'MIT', :file => "LICENSE" }
|
||||||
spec.homepage = 'https://yogalayout.dev/'
|
spec.homepage = 'https://yogalayout.dev/'
|
||||||
spec.documentation_url = 'https://yogalayout.dev/docs'
|
spec.documentation_url = 'https://yogalayout.dev/docs'
|
||||||
|
@@ -6,10 +6,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.library") version "8.7.1" apply false
|
id("com.android.library") version "8.2.1" apply false
|
||||||
id("com.android.application") version "8.7.1" apply false
|
id("com.android.application") version "8.2.1" apply false
|
||||||
id("io.github.gradle-nexus.publish-plugin") version "1.3.0"
|
id("io.github.gradle-nexus.publish-plugin") version "1.3.0"
|
||||||
id 'org.jetbrains.kotlin.android' version '2.1.20' apply false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
@@ -35,8 +34,6 @@ nexusPublishing {
|
|||||||
sonatype {
|
sonatype {
|
||||||
username.set(sonatypeUsername)
|
username.set(sonatypeUsername)
|
||||||
password.set(sonatypePassword)
|
password.set(sonatypePassword)
|
||||||
nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/"))
|
|
||||||
snapshotRepositoryUrl.set(uri("https://central.sonatype.com/repository/maven-snapshots/"))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -225,17 +225,17 @@ static void serializeTreeImpl(
|
|||||||
appendEdges<&YGNodeStyleGetPosition>(
|
appendEdges<&YGNodeStyleGetPosition>(
|
||||||
j, "position", node, defaultNode.get());
|
j, "position", node, defaultNode.get());
|
||||||
|
|
||||||
appendYGValueIfNotDefault(
|
appendFloatIfNotDefault(
|
||||||
j["style"],
|
j["style"],
|
||||||
"gap",
|
"gap",
|
||||||
YGNodeStyleGetGap(node, YGGutterAll),
|
YGNodeStyleGetGap(node, YGGutterAll),
|
||||||
YGNodeStyleGetGap(defaultNode.get(), YGGutterAll));
|
YGNodeStyleGetGap(defaultNode.get(), YGGutterAll));
|
||||||
appendYGValueIfNotDefault(
|
appendFloatIfNotDefault(
|
||||||
j["style"],
|
j["style"],
|
||||||
"column-gap",
|
"column-gap",
|
||||||
YGNodeStyleGetGap(node, YGGutterColumn),
|
YGNodeStyleGetGap(node, YGGutterColumn),
|
||||||
YGNodeStyleGetGap(defaultNode.get(), YGGutterColumn));
|
YGNodeStyleGetGap(defaultNode.get(), YGGutterColumn));
|
||||||
appendYGValueIfNotDefault(
|
appendFloatIfNotDefault(
|
||||||
j["style"],
|
j["style"],
|
||||||
"row-gap",
|
"row-gap",
|
||||||
YGNodeStyleGetGap(node, YGGutterRow),
|
YGNodeStyleGetGap(node, YGGutterRow),
|
||||||
|
@@ -19,8 +19,8 @@ add_compile_options(
|
|||||||
# Enable warnings and warnings as errors
|
# Enable warnings and warnings as errors
|
||||||
/W4
|
/W4
|
||||||
/WX
|
/WX
|
||||||
# Enable RTTI
|
# Disable RTTI
|
||||||
$<$<COMPILE_LANGUAGE:CXX>:/GR>
|
$<$<COMPILE_LANGUAGE:CXX>:/GR->
|
||||||
# Use /O2 (Maximize Speed)
|
# Use /O2 (Maximize Speed)
|
||||||
$<$<CONFIG:RELEASE>:/O2>)
|
$<$<CONFIG:RELEASE>:/O2>)
|
||||||
|
|
||||||
@@ -34,8 +34,8 @@ add_compile_options(
|
|||||||
# Enable warnings and warnings as errors
|
# Enable warnings and warnings as errors
|
||||||
-Wall
|
-Wall
|
||||||
-Werror
|
-Werror
|
||||||
# Enable RTTI
|
# Disable RTTI
|
||||||
$<$<COMPILE_LANGUAGE:CXX>:-frtti>
|
$<$<COMPILE_LANGUAGE:CXX>:-fno-rtti>
|
||||||
# Use -O2 (prioritize speed)
|
# Use -O2 (prioritize speed)
|
||||||
$<$<CONFIG:RELEASE>:-O2>
|
$<$<CONFIG:RELEASE>:-O2>
|
||||||
# Enable separate sections per function/data item
|
# Enable separate sections per function/data item
|
||||||
|
74
enums.py
74
enums.py
@@ -4,19 +4,12 @@
|
|||||||
# This source code is licensed under the MIT license found in the
|
# This source code is licensed under the MIT license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
|
||||||
|
import math
|
||||||
import os
|
import os
|
||||||
|
|
||||||
ENUMS = {
|
ENUMS = {
|
||||||
"Direction": ["Inherit", "LTR", "RTL"],
|
"Direction": ["Inherit", "LTR", "RTL"],
|
||||||
"Unit": [
|
"Unit": ["Undefined", "Point", "Percent", "Auto"],
|
||||||
"Undefined",
|
|
||||||
"Point",
|
|
||||||
"Percent",
|
|
||||||
"Auto",
|
|
||||||
"MaxContent",
|
|
||||||
"FitContent",
|
|
||||||
"Stretch",
|
|
||||||
],
|
|
||||||
"FlexDirection": ["Column", "ColumnReverse", "Row", "RowReverse"],
|
"FlexDirection": ["Column", "ColumnReverse", "Row", "RowReverse"],
|
||||||
"Justify": [
|
"Justify": [
|
||||||
"FlexStart",
|
"FlexStart",
|
||||||
@@ -39,9 +32,8 @@ ENUMS = {
|
|||||||
"SpaceEvenly",
|
"SpaceEvenly",
|
||||||
],
|
],
|
||||||
"PositionType": ["Static", "Relative", "Absolute"],
|
"PositionType": ["Static", "Relative", "Absolute"],
|
||||||
"Display": ["Flex", "None", "Contents"],
|
"Display": ["Flex", "None"],
|
||||||
"Wrap": ["NoWrap", "Wrap", "WrapReverse"],
|
"Wrap": ["NoWrap", "Wrap", "WrapReverse"],
|
||||||
"BoxSizing": ["BorderBox", "ContentBox"],
|
|
||||||
"MeasureMode": ["Undefined", "Exactly", "AtMost"],
|
"MeasureMode": ["Undefined", "Exactly", "AtMost"],
|
||||||
"Dimension": ["Width", "Height"],
|
"Dimension": ["Width", "Height"],
|
||||||
"Edge": [
|
"Edge": [
|
||||||
@@ -69,10 +61,9 @@ ENUMS = {
|
|||||||
# Allows main-axis flex basis to be stretched without flexGrow being
|
# Allows main-axis flex basis to be stretched without flexGrow being
|
||||||
# set (previously referred to as "UseLegacyStretchBehaviour")
|
# set (previously referred to as "UseLegacyStretchBehaviour")
|
||||||
("StretchFlexBasis", 1 << 0),
|
("StretchFlexBasis", 1 << 0),
|
||||||
# Absolute position in a given axis will be relative to the padding
|
# Positioning of absolute nodes will have various bugs related to
|
||||||
# edge of the parent container instead of the content edge when a
|
# justification, alignment, and insets
|
||||||
# specific inset (top/bottom/left/right) is not set.
|
("AbsolutePositioningIncorrect", 1 << 1),
|
||||||
("AbsolutePositionWithoutInsetsExcludesPadding", 1 << 1),
|
|
||||||
# Absolute nodes will resolve percentages against the inner size of
|
# Absolute nodes will resolve percentages against the inner size of
|
||||||
# their containing node, not the padding box
|
# their containing node, not the padding box
|
||||||
("AbsolutePercentAgainstInnerSize", 1 << 2),
|
("AbsolutePercentAgainstInnerSize", 1 << 2),
|
||||||
@@ -84,12 +75,6 @@ ENUMS = {
|
|||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
# Temporary filter enums to not upgrade all enums at once
|
|
||||||
KOTLIN_ENUM_NAMES = {"Direction"}
|
|
||||||
|
|
||||||
ENUMS_KOTLIN = {name: ENUMS[name] for name in KOTLIN_ENUM_NAMES}
|
|
||||||
ENUMS_JAVA = {name: values for name, values in ENUMS.items() if name not in KOTLIN_ENUM_NAMES}
|
|
||||||
|
|
||||||
DO_NOT_STRIP = ["LogLevel"]
|
DO_NOT_STRIP = ["LogLevel"]
|
||||||
|
|
||||||
BITSET_ENUMS = ["Errata"]
|
BITSET_ENUMS = ["Errata"]
|
||||||
@@ -126,9 +111,6 @@ def to_java_upper(symbol):
|
|||||||
return _format_name(symbol, "_", "upper")
|
return _format_name(symbol, "_", "upper")
|
||||||
|
|
||||||
|
|
||||||
def to_kotlin_upper(symbol):
|
|
||||||
return _format_name(symbol, "_", "upper")
|
|
||||||
|
|
||||||
def to_hyphenated_lower(symbol):
|
def to_hyphenated_lower(symbol):
|
||||||
return _format_name(symbol, "-", "lower")
|
return _format_name(symbol, "-", "lower")
|
||||||
|
|
||||||
@@ -224,7 +206,7 @@ with open(root + "/yoga/YGEnums.cpp", "w") as f:
|
|||||||
f.write("\n")
|
f.write("\n")
|
||||||
|
|
||||||
# write out java files
|
# write out java files
|
||||||
for name, values in sorted(ENUMS_JAVA.items()):
|
for name, values in sorted(ENUMS.items()):
|
||||||
with open(root + "/java/com/facebook/yoga/Yoga%s.java" % name, "w") as f:
|
with open(root + "/java/com/facebook/yoga/Yoga%s.java" % name, "w") as f:
|
||||||
f.write(get_license("java"))
|
f.write(get_license("java"))
|
||||||
f.write("package com.facebook.yoga;\n\n")
|
f.write("package com.facebook.yoga;\n\n")
|
||||||
@@ -276,48 +258,6 @@ for name, values in sorted(ENUMS_JAVA.items()):
|
|||||||
f.write(" }\n")
|
f.write(" }\n")
|
||||||
f.write("}\n")
|
f.write("}\n")
|
||||||
|
|
||||||
# write out Kotlin files
|
|
||||||
for name, values in sorted(ENUMS_KOTLIN.items()):
|
|
||||||
with open(root + "/java/com/facebook/yoga/Yoga%s.kt" % name, "w") as f:
|
|
||||||
f.write(get_license("kotlin"))
|
|
||||||
f.write("package com.facebook.yoga\n\n")
|
|
||||||
f.write("public enum class Yoga%s(public val intValue: Int) {\n" % name)
|
|
||||||
if len(values) > 0:
|
|
||||||
for value in values:
|
|
||||||
if isinstance(value, tuple):
|
|
||||||
f.write(" %s(%d)" % (to_kotlin_upper(value[0]), value[1]))
|
|
||||||
else:
|
|
||||||
f.write(" %s(%d)" % (to_kotlin_upper(value), values.index(value)))
|
|
||||||
if values.index(value) is len(values) - 1:
|
|
||||||
f.write(";\n")
|
|
||||||
else:
|
|
||||||
f.write(",\n")
|
|
||||||
else:
|
|
||||||
f.write("__EMPTY(-1);")
|
|
||||||
f.write("\n")
|
|
||||||
f.write(" public fun intValue(): Int = intValue\n")
|
|
||||||
f.write("\n")
|
|
||||||
f.write(" public companion object {\n")
|
|
||||||
f.write(" @JvmStatic\n")
|
|
||||||
f.write(" public fun fromInt(value: Int): Yoga%s =\n" % name)
|
|
||||||
f.write(" when (value) {\n")
|
|
||||||
for value in values:
|
|
||||||
if isinstance(value, tuple):
|
|
||||||
f.write(
|
|
||||||
" %d -> %s\n" % (value[1], to_kotlin_upper(value[0]))
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
f.write(
|
|
||||||
" %d -> %s\n"
|
|
||||||
% (values.index(value), to_kotlin_upper(value))
|
|
||||||
)
|
|
||||||
f.write(
|
|
||||||
' else -> throw IllegalArgumentException("Unknown enum value: $value")\n'
|
|
||||||
)
|
|
||||||
f.write(" }\n")
|
|
||||||
f.write(" }\n")
|
|
||||||
f.write("}\n")
|
|
||||||
|
|
||||||
# write out TypeScript file
|
# write out TypeScript file
|
||||||
with open(root + "/javascript/src/generated/YGEnums.ts", "w") as f:
|
with open(root + "/javascript/src/generated/YGEnums.ts", "w") as f:
|
||||||
f.write(get_license("js"))
|
f.write(get_license("js"))
|
||||||
|
@@ -2,18 +2,6 @@
|
|||||||
<div style="width:10px; height: 10px; position: absolute; start: 10px; top: 10px;"></div>
|
<div style="width:10px; height: 10px; position: absolute; start: 10px; top: 10px;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="absolute_layout_width_height_left_auto_right" style="width: 100px; height: 100px">
|
|
||||||
<div style="width: 10px; height: 10px; position: absolute; left: auto; right: 10px;"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="absolute_layout_width_height_left_right_auto" style="width: 100px; height: 100px">
|
|
||||||
<div style="width: 10px; height: 10px; position: absolute; left: 10px; right: auto;"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="absolute_layout_width_height_left_auto_right_auto" style="width: 100px; height: 100px">
|
|
||||||
<div style="width: 10px; height: 10px; position: absolute; left: auto; right: auto;"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="absolute_layout_width_height_end_bottom" style="width: 100px; height: 100px;">
|
<div id="absolute_layout_width_height_end_bottom" style="width: 100px; height: 100px;">
|
||||||
<div style="width:10px; height: 10px; position: absolute; end: 10px; bottom: 10px;"></div>
|
<div style="width:10px; height: 10px; position: absolute; end: 10px; bottom: 10px;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -448,32 +448,3 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="height: 50px; width: 50px; margin-left: 20px;"></div>
|
<div style="height: 50px; width: 50px; margin-left: 20px;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="align_content_stretch_and_align_items_flex_end_with_flex_wrap"
|
|
||||||
style="width: 300px; height: 300px; flex-direction: row; flex-wrap: wrap; align-content: stretch;align-items: flex-end;">
|
|
||||||
<div style="height: 50px; width: 150px; align-self: flex-start;"></div>
|
|
||||||
<div style="height: 100px; width: 120px;"></div>
|
|
||||||
<div style="height: 50px; width: 120px;"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="align_content_stretch_and_align_items_flex_start_with_flex_wrap"
|
|
||||||
style="width: 300px; height: 300px; flex-direction: row; flex-wrap: wrap; align-content: stretch;align-items: flex-start;">
|
|
||||||
<div style="height: 50px; width: 150px; align-self: flex-end;"></div>
|
|
||||||
<div style="height: 100px; width: 120px;"></div>
|
|
||||||
<div style="height: 50px; width: 120px;"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="align_content_stretch_and_align_items_center_with_flex_wrap"
|
|
||||||
style="width: 300px; height: 300px; flex-direction: row; flex-wrap: wrap; align-content: stretch;align-items: center;">
|
|
||||||
<div style="height: 50px; width: 150px; align-self: flex-end;"></div>
|
|
||||||
<div style="height: 100px; width: 120px;"></div>
|
|
||||||
<div style="height: 50px; width: 120px;"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="align_content_stretch_and_align_items_stretch_with_flex_wrap"
|
|
||||||
style="width: 300px; height: 300px; flex-direction: row; flex-wrap: wrap; align-content: stretch;align-items: stretch;">
|
|
||||||
<div style="height: 50px; width: 150px; align-self: flex-end;"></div>
|
|
||||||
<div style="height: 100px; width: 120px;"></div>
|
|
||||||
<div style="height: 50px; width: 120px;"></div>
|
|
||||||
</div>
|
|
||||||
|
@@ -240,14 +240,3 @@
|
|||||||
<div style="position:relative; width:50px; height:50px;">
|
<div style="position:relative; width:50px; height:50px;">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="align_items_non_stretch_s526008"
|
|
||||||
style="flex-direction: column; width: 400px; height: 400px;">
|
|
||||||
<div style="flex-direction: row;">
|
|
||||||
<div style="flex-direction: column; align-items: flex-start;">
|
|
||||||
<div>
|
|
||||||
<div style="width: 0; height: 10px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
@@ -2,10 +2,10 @@
|
|||||||
<div id="aspect_ratio_does_not_stretch_cross_axis_dim" data-disabled="true" style="width: 300px; height: 300px;">
|
<div id="aspect_ratio_does_not_stretch_cross_axis_dim" data-disabled="true" style="width: 300px; height: 300px;">
|
||||||
<div style="flex: 1; overflow: scroll;">
|
<div style="flex: 1; overflow: scroll;">
|
||||||
<div style="flex-direction: row;">
|
<div style="flex-direction: row;">
|
||||||
<div style="flex: 2; aspect-ratio: 1;"></div>
|
<div style="flex: 2; aspect-ratio: 1;"></div>
|
||||||
<div style="width: 5px"></div>
|
<div style="width: 5px"></div>
|
||||||
<div style="flex: 1">
|
<div style="flex: 1">
|
||||||
<div style="flex: 1; aspect-ratio: 1;">
|
<div style="flex: 1; aspect-ratio: 1;">
|
||||||
<div style="width: 5px"></div>
|
<div style="width: 5px"></div>
|
||||||
<div style="flex: 1; aspect-ratio: 1;"></div>
|
<div style="flex: 1; aspect-ratio: 1;"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -13,7 +13,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="zero_aspect_ratio_behaves_like_auto" style="width: 300px; height: 300px;">
|
|
||||||
<div style="aspect-ratio: 0; width: 50px"></div>
|
|
||||||
</div>
|
|
||||||
|
@@ -1,25 +0,0 @@
|
|||||||
<div id="auto_width" style="width: auto; height: 50px; flex-direction: row;">
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="auto_height" style="width: 50px; height: auto;">
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="auto_flex_basis" style="width: 50px; flex-basis: auto;">
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
<div style="width: 50px; height: 50px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="auto_position" style="width: 50px; height: 50px;">
|
|
||||||
<div style="width: 25px; height: 25px; right: auto"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="auto_margin" style="width: 50px; height: 50px;">
|
|
||||||
<div style="width: 25px; height: 25px; margin-left: auto"></div>
|
|
||||||
</div>
|
|
@@ -1,252 +0,0 @@
|
|||||||
<div id="box_sizing_content_box_simple"
|
|
||||||
style="width: 100px; height: 100px; padding: 5px; border-width: 10px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_simple"
|
|
||||||
style="width: 100px; height: 100px; padding: 5px; border-width: 10px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_percent" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50%; height: 25%; padding: 4px; border-width: 16px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_percent" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50%; height: 25%; padding: 4px; border-width: 16px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_absolute" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50; height: 25%; padding: 12px; border-width: 8px; box-sizing: content-box; position: absolute;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_absolute" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50; height: 25%; padding: 12px; border-width: 8px; box-sizing: border-box; position: absolute;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_comtaining_block"
|
|
||||||
style="width: 100px; height: 100px; padding: 12px; border-width: 8px; box-sizing: content-box; ">
|
|
||||||
<div style="width: 75; height: 75; position: static;">
|
|
||||||
<div style="width: 50px; height: 25%; position: absolute;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_comtaining_block"
|
|
||||||
style="width: 100px; height: 100px; padding: 12px; border-width: 8px; box-sizing: border-box; ">
|
|
||||||
<div style="width: 75; height: 75; position: static;">
|
|
||||||
<div style="width: 50px; height: 25%; position: absolute;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_padding_only"
|
|
||||||
style="width: 100px; height: 100px; padding: 5px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_padding_only_percent" style="width: 100px; height: 150px;">
|
|
||||||
<div style="width: 50px; height: 75px; padding: 10%; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_padding_only" style="width: 100px; height: 100px; padding: 5px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_padding_only_percent" style="width: 100px; height: 150px;">
|
|
||||||
<div style="width: 50px; height: 75px; padding: 10%; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_border_only"
|
|
||||||
style="width: 100px; height: 100px; border-width: 10px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_border_only_percent" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50%; height: 75; border-width: 10%; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_border_only"
|
|
||||||
style="width: 100px; height: 100px; border-width: 10px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_border_only_percent" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50%; height: 75; border-width: 10%; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_no_padding_no_border" style="width: 100px; height: 100px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_no_padding_no_border" style="width: 100px; height: 100px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_children"
|
|
||||||
style="width: 100px; height: 100px; padding: 5px; border-width: 10px; box-sizing: content-box">
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_children"
|
|
||||||
style="width: 100px; height: 100px; padding: 5px; border-width: 10px; box-sizing: border-box">
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_siblings" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px; box-sizing: content-box; padding: 10px; border-width: 10px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_siblings" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px; box-sizing: border-box; padding: 10px; border-width: 10px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_max_width" style="width: 100px; height: 100px;">
|
|
||||||
<div style="max-width: 50px; height: 25px; box-sizing: content-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_max_width" style="width: 100px; height: 100px;">
|
|
||||||
<div style="max-width: 50px; height: 25px; box-sizing: border-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_max_height" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50px; max-height: 50px; box-sizing: content-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_max_height" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50px; max-height: 50px; box-sizing: border-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_min_width" style="width: 100px; height: 100px;">
|
|
||||||
<div style="min-width: 50px; height: 25px; box-sizing: content-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_min_width" style="width: 100px; height: 100px;">
|
|
||||||
<div style="min-width: 50px; height: 25px; box-sizing: border-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_min_height" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50px; min-height: 50px; box-sizing: content-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_min_height" style="width: 100px; height: 100px;">
|
|
||||||
<div style="width: 50px; min-height: 50px; box-sizing: border-box; padding: 5px; border-width: 15px"></div>
|
|
||||||
<div style="width: 25px; height: 25px"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_no_height_no_width" style="width: 100px; height: 100px;">
|
|
||||||
<div style="box-sizing: content-box; padding: 2px; border-width: 7px">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_no_height_no_width" style="width: 100px; height: 100px;">
|
|
||||||
<div style="box-sizing: border-box; padding: 2px; border-width: 7px">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_nested"
|
|
||||||
style="width: 100px; height: 100px; box-sizing: content-box; padding: 15px; border-width: 3px;">
|
|
||||||
<div style="width: 20px; height: 20px; box-sizing: content-box; padding: 2px; border-width: 7px">
|
|
||||||
<div style="width: 10px; height: 5px; box-sizing: content-box; padding: 1px; border-width: 2px"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_nested"
|
|
||||||
style="width: 100px; height: 100px; box-sizing: border-box; padding: 15px; border-width: 3px;">
|
|
||||||
<div style="width: 20px; height: 20px; box-sizing: border-box; padding: 2px; border-width: 7px">
|
|
||||||
<div style="width: 10px; height: 5px; box-sizing: border-box; padding: 1px; border-width: 2px"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_nested_alternating"
|
|
||||||
style="width: 100px; height: 100px; box-sizing: content-box; padding: 3px; border-width: 2px;">
|
|
||||||
<div style="width: 40px; height: 40px; box-sizing: border-box; padding: 8px; border-width: 2px">
|
|
||||||
<div style="width: 20px; height: 25px; box-sizing: content-box; padding: 3px; border-width: 6px">
|
|
||||||
<div style="width: 10px; height: 5px; box-sizing: border-box; padding: 1px; border-width: 1px">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_nested_alternating"
|
|
||||||
style="width: 100px; height: 100px; box-sizing: border-box; padding: 3px; border-width: 2px;">
|
|
||||||
<div style="width: 40px; height: 40px; box-sizing: content-box; padding: 8px; border-width: 2px">
|
|
||||||
<div style="width: 20px; height: 25px; box-sizing: border-box; padding: 3px; border-width: 6px">
|
|
||||||
<div style="width: 10px; height: 5px; box-sizing: content-box; padding: 1px; border-width: 1px">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="box_sizing_content_box_flex_basis_row"
|
|
||||||
style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="flex-basis: 50px; height: 25px; padding: 5px; border-width: 10px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_flex_basis_row" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="flex-basis: 50px; height: 25px; padding: 5px; border-width: 10px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="box_sizing_content_box_flex_basis_column"
|
|
||||||
style="width: 100px; height: 100px; flex-direction: column;">
|
|
||||||
<div style="flex-basis: 50px; height: 25px; padding: 5px; border-width: 10px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_flex_basis_column" style="width: 100px; height: 100px; flex-direction: column;">
|
|
||||||
<div style="flex-basis: 50px; height: 25px; padding: 5px; border-width: 10px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_padding_start"
|
|
||||||
style="width: 100px; height: 100px; padding-start: 5px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_padding_start"
|
|
||||||
style="width: 100px; height: 100px; padding-start: 5px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_padding_end"
|
|
||||||
style="width: 100px; height: 100px; padding-end: 5px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_padding_end"
|
|
||||||
style="width: 100px; height: 100px; padding-end: 5px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_border_start"
|
|
||||||
style="width: 100px; height: 100px; border-start-width: 5px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_border_start"
|
|
||||||
style="width: 100px; height: 100px; border-start-width: 5px; box-sizing: border-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_content_box_border_end"
|
|
||||||
style="width: 100px; height: 100px; border-end-width: 5px; box-sizing: content-box">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="box_sizing_border_box_border_end"
|
|
||||||
style="width: 100px; height: 100px; border-end-width: 5px; box-sizing: border-box">
|
|
||||||
</div>
|
|
@@ -29,61 +29,3 @@
|
|||||||
<div id="display_none_with_position_absolute" style="width: 100px; height: 100px;">
|
<div id="display_none_with_position_absolute" style="width: 100px; height: 100px;">
|
||||||
<div style="display:none; position: absolute; width: 100px; height: 100px"></div>
|
<div style="display:none; position: absolute; width: 100px; height: 100px"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="display_contents" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="display: contents;">
|
|
||||||
<div style="flex: 1; height: 10px;"></div>
|
|
||||||
<div style="flex: 1; height: 20px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="display_contents_fixed_size" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="display: contents; width: 50px; height: 50px;">
|
|
||||||
<div style="flex: 1; height: 10px;"></div>
|
|
||||||
<div style="flex: 1; height: 20px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="display_contents_with_margin" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="width: 20px; height: 20px; display: contents; margin: 10px;"></div>
|
|
||||||
<div style="flex-grow: 1;"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="display_contents_with_padding" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="display: contents; padding: 10px;">
|
|
||||||
<div style="flex: 1; height: 10px;"></div>
|
|
||||||
<div style="flex: 1; height: 20px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="display_contents_with_position" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="display: contents; top: 10px;">
|
|
||||||
<div style="flex: 1; height: 10px;"></div>
|
|
||||||
<div style="flex: 1; height: 20px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="display_contents_with_position_absolute" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="display: contents; position: absolute; width: 50px; height: 50px;">
|
|
||||||
<div style="flex: 1; height: 10px;"></div>
|
|
||||||
<div style="flex: 1; height: 20px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="display_contents_nested" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="display: contents;">
|
|
||||||
<div style="display: contents;">
|
|
||||||
<div style="flex: 1; height: 10px;"></div>
|
|
||||||
<div style="flex: 1; height: 20px;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="display_contents_with_siblings" style="width: 100px; height: 100px; flex-direction: row;">
|
|
||||||
<div style="flex: 1; height: 30px;"></div>
|
|
||||||
<div style="display: contents;">
|
|
||||||
<div style="flex: 1; height: 10px;"></div>
|
|
||||||
<div style="flex: 1; height: 20px;"></div>
|
|
||||||
</div>
|
|
||||||
<div style="flex: 1; height: 30px;"></div>
|
|
||||||
</div>
|
|
@@ -1,568 +0,0 @@
|
|||||||
<div id="contains_inner_text_long_word" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
LoremipsumdolorsitametconsecteturadipiscingelitSedeleifasdfettortoracauctorFuscerhoncusipsumtemporerosaliquamconsequatPraesentsoda
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_no_width_no_height" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_no_width_no_height_long_word_in_paragraph"
|
|
||||||
style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus
|
|
||||||
loremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumlorem
|
|
||||||
Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_fixed_width" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;width:100px">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_no_width_fixed_height" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;height:20px">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_fixed_width_fixed_height" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;width: 50px; height:20px">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_max_width_max_height" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;max-width: 50px; max-height:20px">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_max_width_max_height_column" style="width:2000px; align-items: flex-start;">
|
|
||||||
<div style="max-width: 50px;">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div id="contains_inner_text_max_width" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;max-width:100px">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_fixed_width_shorter_text" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;width:100px">
|
|
||||||
Lorem ipsum
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_fixed_height_shorter_text" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;height:100px">
|
|
||||||
Lorem ipsum
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contains_inner_text_max_height" style="width:2000px;height:2000px;align-items: flex-start;">
|
|
||||||
<div style="flex-direction:row;max-height:20px">
|
|
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at
|
|
||||||
volutpat
|
|
||||||
libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus
|
|
||||||
fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus
|
|
||||||
vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor,
|
|
||||||
vitae
|
|
||||||
finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet
|
|
||||||
consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo
|
|
||||||
tincidunt
|
|
||||||
finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam
|
|
||||||
vulputate eleifasd lectus vel varius.
|
|
||||||
Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis
|
|
||||||
in
|
|
||||||
faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel
|
|
||||||
venenatis
|
|
||||||
turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed
|
|
||||||
nunc
|
|
||||||
malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor
|
|
||||||
lobortis.
|
|
||||||
Sed at consectetur ipsum.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="max_content_width" style="flex-direction: row; width:max-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_width" style="width: 90px;">
|
|
||||||
<div style="flex-direction: row; width: fit-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="stretch_width" style="width: 500px;">
|
|
||||||
<div style="flex-direction: row; width: -webkit-fill-available; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="max_content_height" style="height:max-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_height" style="height: 90px; ">
|
|
||||||
<div style="height: fit-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="stretch_height" style="height: 500px;">
|
|
||||||
<div style="height: -webkit-fill-available; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="max_content_flex_basis_column" style="flex-basis: max-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_flex_basis_column" style="height: 90px;">
|
|
||||||
<div style="flex-basis: fit-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="stretch_flex_basis_column" style="height: 500px;">
|
|
||||||
<div style="flex-basis: -webkit-fill-available; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="max_content_flex_basis_row" style="flex-direction: row; flex-basis: max-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 500px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_flex_basis_row" style="width: 90px;">
|
|
||||||
<div style="flex-direction: row; flex-basis: fit-content; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="stretch_flex_basis_row" style="width: 500px;">
|
|
||||||
<div style="flex-direction: row; flex-basis: -webkit-fill-available; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="max_content_max_width"
|
|
||||||
style="flex-direction: row; max-width:max-content; width: 200px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_max_width" style="width: 90px;">
|
|
||||||
<div style="flex-direction: row; max-width: fit-content; width: 110px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="stretch_max_width" style="width: 500px;">
|
|
||||||
<div style="flex-direction: row; max-width: -webkit-fill-available; width: 600px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="max_content_min_width"
|
|
||||||
style="flex-direction: row; min-width:max-content; width: 100px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_min_width" style="width: 90px;">
|
|
||||||
<div style="flex-direction: row; min-width: fit-content; width: 90px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="stretch_min_width" style="width: 500px;">
|
|
||||||
<div style="flex-direction: row; min-width: -webkit-fill-available; width: 400px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 100px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 25px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="max_content_max_height" style="max-height:max-content; height: 200px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_max_height" style="height: 90px;">
|
|
||||||
<div style="max-height: fit-content; height: 110px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="stretch_max_height" style="height: 500px;">
|
|
||||||
<div style="max-height: -webkit-fill-available; flex-wrap: wrap; height: 600px;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="max_content_min_height" style="min-height:max-content; height: 100px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="fit_content_min_height" style="height: 90px;">
|
|
||||||
<div style="min-height: fit-content; height: 90px; flex-wrap: wrap;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="stretch_min_height" style="height: 500px;">
|
|
||||||
<div style="min-height: -webkit-fill-available; flex-wrap: wrap; height: 400px;">
|
|
||||||
<div style="width: 50px; height: 50px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 100px;">
|
|
||||||
</div>
|
|
||||||
<div style="width: 50px; height: 25px;">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_max_content_width" style="width: 200px">
|
|
||||||
<div style="width: max-content;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum sdafhasdfkjlasdhlkajsfhasldkfhasdlkahsdflkjasdhflaksdfasdlkjhasdlfjahsdfljkasdhalsdfhas dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_stretch_width" style="width: 200px">
|
|
||||||
<div style="width: -webkit-fill-available;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_fit_content_width" style="width: 200px">
|
|
||||||
<div style="width: fit-content;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum sdafhasdfkjlasdhlkajsfhasldkfhasdlkahsdflkjasdhflaksdfasdlkjhasdlfjahsdfljkasdhalsdfhas dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_max_content_min_width" style="width: 200px">
|
|
||||||
<div style="min-width: max-content; width: 200px;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum sdafhasdfkjlasdhlkajsfhasldkfhasdlkahsdflkjasdhflaksdfasdlkjhasdlfjahsdfljkasdhalsdfhas dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_stretch_min_width" style="width: 200px">
|
|
||||||
<div style="min-width: -webkit-fill-available; width: 100px;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" data-disabled="true" id="text_fit_content_min_width" style="width: 200px">
|
|
||||||
<div style="min-width: fit-content; width: 300px">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum sdafhasdfkjlasdhlkajsfhasldkfhasdlkahsdflkjasdhflaksdfasdlkjhasdlfjahsdfljkasdhalsdfhas dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_max_content_max_width" style="width: 200px">
|
|
||||||
<div style="max-width: max-content; width: 2000px;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum sdafhasdfkjlasdhlkajsfhasldkfhasdlkahsdflkjasdhflaksdfasdlkjhasdlfjahsdfljkasdhalsdfhas dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_stretch_max_width" style="width: 200px">
|
|
||||||
<div style="max-width: -webkit-fill-available; width: 300px;">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-disabled="true" id="text_fit_content_max_width" style="width: 200px">
|
|
||||||
<div style="max-width: fit-content; width: 1000px">
|
|
||||||
<div style="flex-direction:row;">
|
|
||||||
Lorem ipsum sdafhasdfkjlasdhlkajsfhasldkfhasdlkahsdflkjasdhflaksdfasdlkjhasdlfjahsdfljkasdhalsdfhas dolor sit amet
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@@ -157,15 +157,13 @@
|
|||||||
<div style="width: 40px;"></div>
|
<div style="width: 40px;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO T208209388: fallback to start vs flexstart in overflowed cases -->
|
<div id="justify_content_overflow_row_reverse_space_around" style="width: 102px; height: 102px; flex-direction: row-reverse; justify-content: space-around;">
|
||||||
<div data-disabled="true" id="justify_content_overflow_row_reverse_space_around" style="width: 102px; height: 102px; flex-direction: row-reverse; justify-content: space-around;">
|
|
||||||
<div style="width: 40px;"></div>
|
<div style="width: 40px;"></div>
|
||||||
<div style="width: 40px;"></div>
|
<div style="width: 40px;"></div>
|
||||||
<div style="width: 40px;"></div>
|
<div style="width: 40px;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO T208209388: fallback to start vs flexstart in overflowed cases -->
|
<div id="justify_content_overflow_row_reverse_space_evenly" style="width: 102px; height: 102px; flex-direction: row-reverse; justify-content: space-evenly;">
|
||||||
<div data-disabled="true" id="justify_content_overflow_row_reverse_space_evenly" style="width: 102px; height: 102px; flex-direction: row-reverse; justify-content: space-evenly;">
|
|
||||||
<div style="width: 40px;"></div>
|
<div style="width: 40px;"></div>
|
||||||
<div style="width: 40px;"></div>
|
<div style="width: 40px;"></div>
|
||||||
<div style="width: 40px;"></div>
|
<div style="width: 40px;"></div>
|
||||||
|
@@ -693,20 +693,3 @@
|
|||||||
style="height: 50%; width: 50%; position: absolute; border-width: 3px 2px 1px 4px; padding: 7px 5px 4px 3px; margin: 11px 15px 1px 12px">
|
style="height: 50%; width: 50%; position: absolute; border-width: 3px 2px 1px 4px; padding: 7px 5px 4px 3px; margin: 11px 15px 1px 12px">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="static_position_absolute_child_multiple">
|
|
||||||
<div style="width: 400px; height: 400px; padding: 100px; position: relative">
|
|
||||||
<div style="height:100px; width: 100px; position: static">
|
|
||||||
<div style="height: 50px; width: 10%; position: absolute">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="height:100px; width: 100px; position: static">
|
|
||||||
<div style="height: 50px; width: 50%; position: absolute">
|
|
||||||
</div>
|
|
||||||
<div style="height: 50px; width: 50%; position: absolute">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="height: 50px; width: 25px; position: absolute">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
Binary file not shown.
@@ -12,44 +12,15 @@ function toValueCpp(value) {
|
|||||||
return n + (Number(n) == n && n % 1 !== 0 ? 'f' : '');
|
return n + (Number(n) == n && n % 1 !== 0 ? 'f' : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
function toFunctionNameCpp(value) {
|
function toFunctionName(value) {
|
||||||
if (value.indexOf('%') >= 0) {
|
if (value.indexOf('%') >= 0) {
|
||||||
return 'Percent';
|
return 'Percent';
|
||||||
} else if (value.indexOf('Auto') >= 0) {
|
} else if (value.indexOf('Auto') >= 0) {
|
||||||
return 'Auto';
|
return 'Auto';
|
||||||
} else if (value.indexOf('MaxContent') >= 0) {
|
|
||||||
return 'MaxContent';
|
|
||||||
} else if (value.indexOf('FitContent') >= 0) {
|
|
||||||
return 'FitContent';
|
|
||||||
} else if (value.indexOf('Stretch') >= 0) {
|
|
||||||
return 'Stretch';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function keywordFunctionCpp(functionPrefix, nodeName, value) {
|
|
||||||
const functionSuffix = toFunctionNameCpp(value);
|
|
||||||
if (
|
|
||||||
functionSuffix == 'Auto' ||
|
|
||||||
functionSuffix == 'MaxContent' ||
|
|
||||||
functionSuffix == 'FitContent' ||
|
|
||||||
functionSuffix == 'Stretch'
|
|
||||||
) {
|
|
||||||
return functionPrefix + functionSuffix + '(' + nodeName + ');';
|
|
||||||
} else {
|
|
||||||
return (
|
|
||||||
functionPrefix +
|
|
||||||
functionSuffix +
|
|
||||||
'(' +
|
|
||||||
nodeName +
|
|
||||||
', ' +
|
|
||||||
toValueCpp(value) +
|
|
||||||
');'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const CPPEmitter = function () {
|
const CPPEmitter = function () {
|
||||||
Emitter.call(this, 'cpp', ' ');
|
Emitter.call(this, 'cpp', ' ');
|
||||||
};
|
};
|
||||||
@@ -59,12 +30,7 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
emitPrologue: {
|
emitPrologue: {
|
||||||
value: function () {
|
value: function () {
|
||||||
this.push([
|
this.push(['#include <gtest/gtest.h>', '#include <yoga/Yoga.h>', '']);
|
||||||
'#include <gtest/gtest.h>',
|
|
||||||
'#include <yoga/Yoga.h>',
|
|
||||||
'#include "../util/TestUtil.h"',
|
|
||||||
'',
|
|
||||||
]);
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -78,7 +44,7 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
this.push('');
|
this.push('');
|
||||||
}
|
}
|
||||||
|
|
||||||
this.push('YGConfigRef config = YGConfigNew();');
|
this.push('const YGConfigRef config = YGConfigNew();');
|
||||||
for (const i in experiments) {
|
for (const i in experiments) {
|
||||||
this.push(
|
this.push(
|
||||||
'YGConfigSetExperimentalFeatureEnabled(config, YGExperimentalFeature' +
|
'YGConfigSetExperimentalFeatureEnabled(config, YGExperimentalFeature' +
|
||||||
@@ -92,7 +58,9 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
emitTestTreePrologue: {
|
emitTestTreePrologue: {
|
||||||
value: function (nodeName) {
|
value: function (nodeName) {
|
||||||
this.push('YGNodeRef ' + nodeName + ' = YGNodeNewWithConfig(config);');
|
this.push(
|
||||||
|
'const YGNodeRef ' + nodeName + ' = YGNodeNewWithConfig(config);',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -165,20 +133,12 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
YGWrapWrap: {value: 'YGWrapWrap'},
|
YGWrapWrap: {value: 'YGWrapWrap'},
|
||||||
YGWrapWrapReverse: {value: 'YGWrapWrapReverse'},
|
YGWrapWrapReverse: {value: 'YGWrapWrapReverse'},
|
||||||
|
|
||||||
YGBoxSizingBorderBox: {value: 'YGBoxSizingBorderBox'},
|
|
||||||
YGBoxSizingContentBox: {value: 'YGBoxSizingContentBox'},
|
|
||||||
|
|
||||||
YGUndefined: {value: 'YGUndefined'},
|
YGUndefined: {value: 'YGUndefined'},
|
||||||
|
|
||||||
YGDisplayFlex: {value: 'YGDisplayFlex'},
|
YGDisplayFlex: {value: 'YGDisplayFlex'},
|
||||||
YGDisplayNone: {value: 'YGDisplayNone'},
|
YGDisplayNone: {value: 'YGDisplayNone'},
|
||||||
YGDisplayContents: {value: 'YGDisplayContents'},
|
|
||||||
YGAuto: {value: 'YGAuto'},
|
YGAuto: {value: 'YGAuto'},
|
||||||
|
|
||||||
YGMaxContent: {value: 'MaxContent'},
|
|
||||||
YGFitContent: {value: 'FitContent'},
|
|
||||||
YGStretch: {value: 'Stretch'},
|
|
||||||
|
|
||||||
YGNodeCalculateLayout: {
|
YGNodeCalculateLayout: {
|
||||||
value: function (node, dir, _experiments) {
|
value: function (node, dir, _experiments) {
|
||||||
this.push(
|
this.push(
|
||||||
@@ -265,7 +225,7 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(
|
this.push(
|
||||||
'YGNodeStyleSetAspectRatio' +
|
'YGNodeStyleSetAspectRatio' +
|
||||||
toFunctionNameCpp(value) +
|
toFunctionName(value) +
|
||||||
'(' +
|
'(' +
|
||||||
nodeName +
|
nodeName +
|
||||||
', ' +
|
', ' +
|
||||||
@@ -307,7 +267,15 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
YGNodeStyleSetFlexBasis: {
|
YGNodeStyleSetFlexBasis: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordFunctionCpp('YGNodeStyleSetFlexBasis', nodeName, value));
|
this.push(
|
||||||
|
'YGNodeStyleSetFlexBasis' +
|
||||||
|
toFunctionName(value) +
|
||||||
|
'(' +
|
||||||
|
nodeName +
|
||||||
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
|
');',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -351,6 +319,20 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
YGNodeStyleSetHeight: {
|
||||||
|
value: function (nodeName, value) {
|
||||||
|
this.push(
|
||||||
|
'YGNodeStyleSetHeight' +
|
||||||
|
toFunctionName(value) +
|
||||||
|
'(' +
|
||||||
|
nodeName +
|
||||||
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
|
');',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
YGNodeStyleSetJustifyContent: {
|
YGNodeStyleSetJustifyContent: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(
|
this.push(
|
||||||
@@ -373,7 +355,7 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
}
|
}
|
||||||
this.push(
|
this.push(
|
||||||
'YGNodeStyleSetMargin' +
|
'YGNodeStyleSetMargin' +
|
||||||
toFunctionNameCpp(value) +
|
toFunctionName(value) +
|
||||||
'(' +
|
'(' +
|
||||||
nodeName +
|
nodeName +
|
||||||
', ' +
|
', ' +
|
||||||
@@ -384,39 +366,59 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetHeight: {
|
|
||||||
value: function (nodeName, value) {
|
|
||||||
this.push(keywordFunctionCpp('YGNodeStyleSetHeight', nodeName, value));
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
YGNodeStyleSetWidth: {
|
|
||||||
value: function (nodeName, value) {
|
|
||||||
this.push(keywordFunctionCpp('YGNodeStyleSetWidth', nodeName, value));
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
YGNodeStyleSetMaxHeight: {
|
YGNodeStyleSetMaxHeight: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordFunctionCpp('YGNodeStyleSetMaxHeight', nodeName, value));
|
this.push(
|
||||||
|
'YGNodeStyleSetMaxHeight' +
|
||||||
|
toFunctionName(value) +
|
||||||
|
'(' +
|
||||||
|
nodeName +
|
||||||
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
|
');',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetMaxWidth: {
|
YGNodeStyleSetMaxWidth: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordFunctionCpp('YGNodeStyleSetMaxWidth', nodeName, value));
|
this.push(
|
||||||
|
'YGNodeStyleSetMaxWidth' +
|
||||||
|
toFunctionName(value) +
|
||||||
|
'(' +
|
||||||
|
nodeName +
|
||||||
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
|
');',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetMinHeight: {
|
YGNodeStyleSetMinHeight: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordFunctionCpp('YGNodeStyleSetMinHeight', nodeName, value));
|
this.push(
|
||||||
|
'YGNodeStyleSetMinHeight' +
|
||||||
|
toFunctionName(value) +
|
||||||
|
'(' +
|
||||||
|
nodeName +
|
||||||
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
|
');',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetMinWidth: {
|
YGNodeStyleSetMinWidth: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordFunctionCpp('YGNodeStyleSetMinWidth', nodeName, value));
|
this.push(
|
||||||
|
'YGNodeStyleSetMinWidth' +
|
||||||
|
toFunctionName(value) +
|
||||||
|
'(' +
|
||||||
|
nodeName +
|
||||||
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
|
');',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -432,7 +434,7 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
value: function (nodeName, edge, value) {
|
value: function (nodeName, edge, value) {
|
||||||
this.push(
|
this.push(
|
||||||
'YGNodeStyleSetPadding' +
|
'YGNodeStyleSetPadding' +
|
||||||
toFunctionNameCpp(value) +
|
toFunctionName(value) +
|
||||||
'(' +
|
'(' +
|
||||||
nodeName +
|
nodeName +
|
||||||
', ' +
|
', ' +
|
||||||
@@ -446,20 +448,15 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
YGNodeStyleSetPosition: {
|
YGNodeStyleSetPosition: {
|
||||||
value: function (nodeName, edge, value) {
|
value: function (nodeName, edge, value) {
|
||||||
let valueStr = toValueCpp(value);
|
|
||||||
if (valueStr != 'YGAuto') {
|
|
||||||
valueStr = ', ' + valueStr;
|
|
||||||
} else {
|
|
||||||
valueStr = '';
|
|
||||||
}
|
|
||||||
this.push(
|
this.push(
|
||||||
'YGNodeStyleSetPosition' +
|
'YGNodeStyleSetPosition' +
|
||||||
toFunctionNameCpp(value) +
|
toFunctionName(value) +
|
||||||
'(' +
|
'(' +
|
||||||
nodeName +
|
nodeName +
|
||||||
', ' +
|
', ' +
|
||||||
edge +
|
edge +
|
||||||
valueStr +
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
');',
|
');',
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
@@ -477,11 +474,25 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
YGNodeStyleSetWidth: {
|
||||||
|
value: function (nodeName, value) {
|
||||||
|
this.push(
|
||||||
|
'YGNodeStyleSetWidth' +
|
||||||
|
toFunctionName(value) +
|
||||||
|
'(' +
|
||||||
|
nodeName +
|
||||||
|
', ' +
|
||||||
|
toValueCpp(value) +
|
||||||
|
');',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
YGNodeStyleSetGap: {
|
YGNodeStyleSetGap: {
|
||||||
value: function (nodeName, gap, value) {
|
value: function (nodeName, gap, value) {
|
||||||
this.push(
|
this.push(
|
||||||
'YGNodeStyleSetGap' +
|
'YGNodeStyleSetGap' +
|
||||||
toFunctionNameCpp(value) +
|
toFunctionName(value) +
|
||||||
'(' +
|
'(' +
|
||||||
nodeName +
|
nodeName +
|
||||||
', ' +
|
', ' +
|
||||||
@@ -492,21 +503,4 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetBoxSizing: {
|
|
||||||
value: function (nodeName, value) {
|
|
||||||
this.push(
|
|
||||||
'YGNodeStyleSetBoxSizing(' + nodeName + ', ' + toValueCpp(value) + ');',
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
YGNodeSetMeasureFunc: {
|
|
||||||
value: function (nodeName, innerText, _) {
|
|
||||||
this.push(`YGNodeSetContext(${nodeName}, (void*)"${innerText}");`);
|
|
||||||
this.push(
|
|
||||||
`YGNodeSetMeasureFunc(${nodeName}, &facebook::yoga::test::IntrinsicSizeMeasure);`,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
@@ -100,21 +100,15 @@ for (const fileName of fixtures) {
|
|||||||
await driver.get('file://' + process.cwd() + '/test.html');
|
await driver.get('file://' + process.cwd() + '/test.html');
|
||||||
const logs = await driver.manage().logs().get(logging.Type.BROWSER);
|
const logs = await driver.manage().logs().get(logging.Type.BROWSER);
|
||||||
|
|
||||||
const testLogs = logs.filter(
|
|
||||||
log => !log.message.replace(/^[^"]*/, '').startsWith('"gentest-log:'),
|
|
||||||
);
|
|
||||||
|
|
||||||
await fs.writeFile(
|
await fs.writeFile(
|
||||||
`${yogaDir}/tests/generated/${fileNameNoExtension}.cpp`,
|
`${yogaDir}/tests/generated/${fileNameNoExtension}.cpp`,
|
||||||
addSignatureToSourceCode(
|
addSignatureToSourceCode(JSON.parse(logs[0].message.replace(/^[^"]*/, ''))),
|
||||||
JSON.parse(testLogs[0].message.replace(/^[^"]*/, '')),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
await fs.writeFile(
|
await fs.writeFile(
|
||||||
`${yogaDir}/java/tests/generated/com/facebook/yoga/${fileNameNoExtension}.java`,
|
`${yogaDir}/java/tests/com/facebook/yoga/${fileNameNoExtension}.java`,
|
||||||
addSignatureToSourceCode(
|
addSignatureToSourceCode(
|
||||||
JSON.parse(testLogs[1].message.replace(/^[^"]*/, '')).replace(
|
JSON.parse(logs[1].message.replace(/^[^"]*/, '')).replace(
|
||||||
'YogaTest',
|
'YogaTest',
|
||||||
fileNameNoExtension,
|
fileNameNoExtension,
|
||||||
),
|
),
|
||||||
@@ -124,7 +118,7 @@ for (const fileName of fixtures) {
|
|||||||
await fs.writeFile(
|
await fs.writeFile(
|
||||||
`${yogaDir}/javascript/tests/generated/${fileNameNoExtension}.test.ts`,
|
`${yogaDir}/javascript/tests/generated/${fileNameNoExtension}.test.ts`,
|
||||||
addSignatureToSourceCode(
|
addSignatureToSourceCode(
|
||||||
JSON.parse(testLogs[2].message.replace(/^[^"]*/, '')).replace(
|
JSON.parse(logs[2].message.replace(/^[^"]*/, '')).replace(
|
||||||
'YogaTest',
|
'YogaTest',
|
||||||
fileNameNoExtension,
|
fileNameNoExtension,
|
||||||
),
|
),
|
||||||
|
@@ -17,38 +17,10 @@ function toMethodName(value) {
|
|||||||
return 'Percent';
|
return 'Percent';
|
||||||
} else if (value.indexOf('AUTO') >= 0) {
|
} else if (value.indexOf('AUTO') >= 0) {
|
||||||
return 'Auto';
|
return 'Auto';
|
||||||
} else if (value.indexOf('MAX_CONTENT') >= 0) {
|
|
||||||
return 'MaxContent';
|
|
||||||
} else if (value.indexOf('FIT_CONTENT') >= 0) {
|
|
||||||
return 'FitContent';
|
|
||||||
} else if (value.indexOf('STRETCH') >= 0) {
|
|
||||||
return 'Stretch';
|
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function keywordMethod(methodPrefix, nodeName, value) {
|
|
||||||
const methodSuffix = toMethodName(value);
|
|
||||||
if (
|
|
||||||
methodSuffix == 'Auto' ||
|
|
||||||
methodSuffix == 'MaxContent' ||
|
|
||||||
methodSuffix == 'FitContent' ||
|
|
||||||
methodSuffix == 'Stretch'
|
|
||||||
) {
|
|
||||||
return nodeName + '.' + methodPrefix + methodSuffix + '();';
|
|
||||||
} else {
|
|
||||||
return (
|
|
||||||
nodeName +
|
|
||||||
'.' +
|
|
||||||
methodPrefix +
|
|
||||||
methodSuffix +
|
|
||||||
'(' +
|
|
||||||
toValueJava(value) +
|
|
||||||
'f);'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const JavaEmitter = function () {
|
const JavaEmitter = function () {
|
||||||
Emitter.call(this, 'java', ' ');
|
Emitter.call(this, 'java', ' ');
|
||||||
};
|
};
|
||||||
@@ -83,7 +55,6 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
'import org.junit.Test;',
|
'import org.junit.Test;',
|
||||||
'import org.junit.runner.RunWith;',
|
'import org.junit.runner.RunWith;',
|
||||||
'import org.junit.runners.Parameterized;',
|
'import org.junit.runners.Parameterized;',
|
||||||
'import com.facebook.yoga.utils.TestUtils;',
|
|
||||||
'',
|
'',
|
||||||
'@RunWith(Parameterized.class)',
|
'@RunWith(Parameterized.class)',
|
||||||
'public class YogaTest {',
|
'public class YogaTest {',
|
||||||
@@ -206,20 +177,12 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
YGDisplayFlex: {value: 'YogaDisplay.FLEX'},
|
YGDisplayFlex: {value: 'YogaDisplay.FLEX'},
|
||||||
YGDisplayNone: {value: 'YogaDisplay.NONE'},
|
YGDisplayNone: {value: 'YogaDisplay.NONE'},
|
||||||
YGDisplayContents: {value: 'YogaDisplay.CONTENTS'},
|
|
||||||
YGAuto: {value: 'YogaConstants.AUTO'},
|
YGAuto: {value: 'YogaConstants.AUTO'},
|
||||||
|
|
||||||
YGWrapNoWrap: {value: 'YogaWrap.NO_WRAP'},
|
YGWrapNoWrap: {value: 'YogaWrap.NO_WRAP'},
|
||||||
YGWrapWrap: {value: 'YogaWrap.WRAP'},
|
YGWrapWrap: {value: 'YogaWrap.WRAP'},
|
||||||
YGWrapWrapReverse: {value: 'YogaWrap.WRAP_REVERSE'},
|
YGWrapWrapReverse: {value: 'YogaWrap.WRAP_REVERSE'},
|
||||||
|
|
||||||
YGBoxSizingBorderBox: {value: 'YogaBoxSizing.BORDER_BOX'},
|
|
||||||
YGBoxSizingContentBox: {value: 'YogaBoxSizing.CONTENT_BOX'},
|
|
||||||
|
|
||||||
YGMaxContent: {value: 'MAX_CONTENT'},
|
|
||||||
YGFitContent: {value: 'FIT_CONTENT'},
|
|
||||||
YGStretch: {value: 'STRETCH'},
|
|
||||||
|
|
||||||
YGNodeCalculateLayout: {
|
YGNodeCalculateLayout: {
|
||||||
value: function (node, dir, _experiments) {
|
value: function (node, dir, _experiments) {
|
||||||
this.push(node + '.setDirection(' + dir + ');');
|
this.push(node + '.setDirection(' + dir + ');');
|
||||||
@@ -306,7 +269,14 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
YGNodeStyleSetFlexBasis: {
|
YGNodeStyleSetFlexBasis: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordMethod('setFlexBasis', nodeName, value));
|
this.push(
|
||||||
|
nodeName +
|
||||||
|
'.setFlexBasis' +
|
||||||
|
toMethodName(value) +
|
||||||
|
'(' +
|
||||||
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -334,6 +304,19 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
YGNodeStyleSetHeight: {
|
||||||
|
value: function (nodeName, value) {
|
||||||
|
this.push(
|
||||||
|
nodeName +
|
||||||
|
'.setHeight' +
|
||||||
|
toMethodName(value) +
|
||||||
|
'(' +
|
||||||
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
YGNodeStyleSetJustifyContent: {
|
YGNodeStyleSetJustifyContent: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(nodeName + '.setJustifyContent(' + toValueJava(value) + ');');
|
this.push(nodeName + '.setJustifyContent(' + toValueJava(value) + ');');
|
||||||
@@ -361,39 +344,55 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetHeight: {
|
|
||||||
value: function (nodeName, value) {
|
|
||||||
this.push(keywordMethod('setHeight', nodeName, value));
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
YGNodeStyleSetWidth: {
|
|
||||||
value: function (nodeName, value) {
|
|
||||||
this.push(keywordMethod('setWidth', nodeName, value));
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
YGNodeStyleSetMaxHeight: {
|
YGNodeStyleSetMaxHeight: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordMethod('setMaxHeight', nodeName, value));
|
this.push(
|
||||||
|
nodeName +
|
||||||
|
'.setMaxHeight' +
|
||||||
|
toMethodName(value) +
|
||||||
|
'(' +
|
||||||
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetMaxWidth: {
|
YGNodeStyleSetMaxWidth: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordMethod('setMaxWidth', nodeName, value));
|
this.push(
|
||||||
|
nodeName +
|
||||||
|
'.setMaxWidth' +
|
||||||
|
toMethodName(value) +
|
||||||
|
'(' +
|
||||||
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetMinHeight: {
|
YGNodeStyleSetMinHeight: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordMethod('setMinHeight', nodeName, value));
|
this.push(
|
||||||
|
nodeName +
|
||||||
|
'.setMinHeight' +
|
||||||
|
toMethodName(value) +
|
||||||
|
'(' +
|
||||||
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetMinWidth: {
|
YGNodeStyleSetMinWidth: {
|
||||||
value: function (nodeName, value) {
|
value: function (nodeName, value) {
|
||||||
this.push(keywordMethod('setMinWidth', nodeName, value));
|
this.push(
|
||||||
|
nodeName +
|
||||||
|
'.setMinWidth' +
|
||||||
|
toMethodName(value) +
|
||||||
|
'(' +
|
||||||
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -420,21 +419,15 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
YGNodeStyleSetPosition: {
|
YGNodeStyleSetPosition: {
|
||||||
value: function (nodeName, edge, value) {
|
value: function (nodeName, edge, value) {
|
||||||
let valueStr = toValueJava(value);
|
|
||||||
|
|
||||||
if (valueStr == 'YogaConstants.AUTO') {
|
|
||||||
valueStr = '';
|
|
||||||
} else {
|
|
||||||
valueStr = ', ' + valueStr + 'f';
|
|
||||||
}
|
|
||||||
this.push(
|
this.push(
|
||||||
nodeName +
|
nodeName +
|
||||||
'.setPosition' +
|
'.setPosition' +
|
||||||
toMethodName(value) +
|
toMethodName(value) +
|
||||||
'(' +
|
'(' +
|
||||||
edge +
|
edge +
|
||||||
valueStr +
|
', ' +
|
||||||
');',
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -445,6 +438,19 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
YGNodeStyleSetWidth: {
|
||||||
|
value: function (nodeName, value) {
|
||||||
|
this.push(
|
||||||
|
nodeName +
|
||||||
|
'.setWidth' +
|
||||||
|
toMethodName(value) +
|
||||||
|
'(' +
|
||||||
|
toValueJava(value) +
|
||||||
|
'f);',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
YGNodeStyleSetGap: {
|
YGNodeStyleSetGap: {
|
||||||
value: function (nodeName, gap, value) {
|
value: function (nodeName, gap, value) {
|
||||||
this.push(
|
this.push(
|
||||||
@@ -459,19 +465,4 @@ JavaEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetBoxSizing: {
|
|
||||||
value: function (nodeName, value) {
|
|
||||||
this.push(nodeName + '.setBoxSizing(' + toValueJava(value) + ');');
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
YGNodeSetMeasureFunc: {
|
|
||||||
value: function (nodeName, innerText, _) {
|
|
||||||
this.push(`${nodeName}.setData("${innerText}");`);
|
|
||||||
this.push(
|
|
||||||
`${nodeName}.setMeasureFunction(new TestUtils.intrinsicMeasureFunction());`,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
@@ -15,9 +15,6 @@ function toValueJavascript(value) {
|
|||||||
if (value.match(/^[0-9.e+-]+px$/i)) return parseFloat(value);
|
if (value.match(/^[0-9.e+-]+px$/i)) return parseFloat(value);
|
||||||
if (value.match(/^[0-9.e+-]+%/i)) return JSON.stringify(value);
|
if (value.match(/^[0-9.e+-]+%/i)) return JSON.stringify(value);
|
||||||
if (value == 'Yoga.AUTO') return '"auto"';
|
if (value == 'Yoga.AUTO') return '"auto"';
|
||||||
if (value == 'max-content') return '"max-content"';
|
|
||||||
if (value == 'fit-content') return '"fit-content"';
|
|
||||||
if (value == 'stretch') return '"stretch"';
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,14 +23,10 @@ JavascriptEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
emitPrologue: {
|
emitPrologue: {
|
||||||
value: function () {
|
value: function () {
|
||||||
this.push(
|
|
||||||
"import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'",
|
|
||||||
);
|
|
||||||
this.push("import Yoga from 'yoga-layout';");
|
this.push("import Yoga from 'yoga-layout';");
|
||||||
this.push('import {');
|
this.push('import {');
|
||||||
this.pushIndent();
|
this.pushIndent();
|
||||||
this.push('Align,');
|
this.push('Align,');
|
||||||
this.push('BoxSizing,');
|
|
||||||
this.push('Direction,');
|
this.push('Direction,');
|
||||||
this.push('Display,');
|
this.push('Display,');
|
||||||
this.push('Edge,');
|
this.push('Edge,');
|
||||||
@@ -174,14 +167,6 @@ JavascriptEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
YGDisplayFlex: {value: 'Display.Flex'},
|
YGDisplayFlex: {value: 'Display.Flex'},
|
||||||
YGDisplayNone: {value: 'Display.None'},
|
YGDisplayNone: {value: 'Display.None'},
|
||||||
YGDisplayContents: {value: 'Display.Contents'},
|
|
||||||
|
|
||||||
YGBoxSizingBorderBox: {value: 'BoxSizing.BorderBox'},
|
|
||||||
YGBoxSizingContentBox: {value: 'BoxSizing.ContentBox'},
|
|
||||||
|
|
||||||
YGMaxContent: {value: 'max-content'},
|
|
||||||
YGFitContent: {value: 'fit-content'},
|
|
||||||
YGStretch: {value: 'stretch'},
|
|
||||||
|
|
||||||
YGNodeCalculateLayout: {
|
YGNodeCalculateLayout: {
|
||||||
value: function (node, dir, _experiments) {
|
value: function (node, dir, _experiments) {
|
||||||
@@ -376,22 +361,14 @@ JavascriptEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
|
|
||||||
YGNodeStyleSetPosition: {
|
YGNodeStyleSetPosition: {
|
||||||
value: function (nodeName, edge, value) {
|
value: function (nodeName, edge, value) {
|
||||||
const valueStr = toValueJavascript(value);
|
this.push(
|
||||||
|
nodeName +
|
||||||
if (valueStr == "'auto'") {
|
'.setPosition(' +
|
||||||
this.push(
|
toValueJavascript(edge) +
|
||||||
nodeName + '.setPositionAuto(' + toValueJavascript(edge) + ');',
|
', ' +
|
||||||
);
|
toValueJavascript(value) +
|
||||||
} else {
|
');',
|
||||||
this.push(
|
);
|
||||||
nodeName +
|
|
||||||
'.setPosition(' +
|
|
||||||
toValueJavascript(edge) +
|
|
||||||
', ' +
|
|
||||||
valueStr +
|
|
||||||
');',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -421,20 +398,4 @@ JavascriptEmitter.prototype = Object.create(Emitter.prototype, {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
YGNodeStyleSetBoxSizing: {
|
|
||||||
value: function (nodeName, value) {
|
|
||||||
this.push(nodeName + '.setBoxSizing(' + toValueJavascript(value) + ');');
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
YGNodeSetMeasureFunc: {
|
|
||||||
value: function (nodeName, innerText, flexDirection) {
|
|
||||||
this.push(
|
|
||||||
`${nodeName}.setMeasureFunc(instrinsicSizeMeasureFunc.bind({text: "${innerText}", flexDirection: ${toValueJavascript(
|
|
||||||
flexDirection,
|
|
||||||
)}}));`,
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
@@ -1,11 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
function gentestLog(message) {
|
|
||||||
console.log('gentest-log: ', message);
|
|
||||||
}
|
|
@@ -11,33 +11,30 @@ import * as fs from 'node:fs/promises';
|
|||||||
import {dirname} from 'path';
|
import {dirname} from 'path';
|
||||||
import {fileURLToPath} from 'url';
|
import {fileURLToPath} from 'url';
|
||||||
import signedsource from 'signedsource';
|
import signedsource from 'signedsource';
|
||||||
import {glob} from 'glob';
|
|
||||||
|
|
||||||
const yogaRootDir = dirname(dirname(fileURLToPath(import.meta.url)));
|
const yogaDir = dirname(dirname(fileURLToPath(import.meta.url)));
|
||||||
|
const cppTestDir = `${yogaDir}/tests/generated`;
|
||||||
|
const jsTestDir = `${yogaDir}/javascript/tests/generated`;
|
||||||
|
const javaTestDir = `${yogaDir}/java/tests/com/facebook/yoga`;
|
||||||
|
const testDirs = [cppTestDir, jsTestDir, javaTestDir];
|
||||||
|
|
||||||
const filesToValidate = await glob(
|
for (const testDir of testDirs) {
|
||||||
[
|
const tests = await fs.readdir(testDir);
|
||||||
'tests/generated/**/*.{h,cpp}',
|
|
||||||
'javascript/tests/generated/**/*.test.ts',
|
|
||||||
'java/tests/generated/com/facebook/yoga/**/*.java',
|
|
||||||
],
|
|
||||||
{
|
|
||||||
cwd: yogaRootDir,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
console.log(`Found ${filesToValidate.length} files to validate`);
|
for (const test of tests) {
|
||||||
|
const testData = await fs.readFile(`${testDir}/${test}`, 'utf8');
|
||||||
for (const file of filesToValidate) {
|
try {
|
||||||
const content = await fs.readFile(`${yogaRootDir}/${file}`, 'utf8');
|
const validSignature = signedsource.verifySignature(testData);
|
||||||
if (signedsource.isSigned(content)) {
|
if (!validSignature) {
|
||||||
console.log(`Checking ${file}`);
|
console.error(`Invalid signature for ${test}`);
|
||||||
const validSignature = signedsource.verifySignature(content);
|
process.exitCode = 1;
|
||||||
if (!validSignature) {
|
}
|
||||||
console.error(`Invalid signature "${file}"`);
|
} catch (e) {
|
||||||
process.exitCode = 1;
|
// Java test dir does not separate generated tests from non-generated ones
|
||||||
|
if (testDir != javaTestDir) {
|
||||||
|
console.error(`${test}: ${e}`);
|
||||||
|
process.exitCode = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
console.log(`Skipped ${file}`);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -175,7 +175,6 @@ function checkDefaultValues() {
|
|||||||
{style: 'right', value: 'undefined'},
|
{style: 'right', value: 'undefined'},
|
||||||
{style: 'bottom', value: 'undefined'},
|
{style: 'bottom', value: 'undefined'},
|
||||||
{style: 'display', value: 'flex'},
|
{style: 'display', value: 'flex'},
|
||||||
{style: 'box-sizing', value: 'border-box'},
|
|
||||||
].forEach(item => {
|
].forEach(item => {
|
||||||
assert(
|
assert(
|
||||||
isDefaultStyleValue(item.style, item.value),
|
isDefaultStyleValue(item.style, item.value),
|
||||||
@@ -194,6 +193,7 @@ function setupTestTree(
|
|||||||
index,
|
index,
|
||||||
) {
|
) {
|
||||||
e.emitTestTreePrologue(nodeName);
|
e.emitTestTreePrologue(nodeName);
|
||||||
|
|
||||||
for (const style in node.style) {
|
for (const style in node.style) {
|
||||||
// Skip position info for root as it messes up tests
|
// Skip position info for root as it messes up tests
|
||||||
if (
|
if (
|
||||||
@@ -207,6 +207,7 @@ function setupTestTree(
|
|||||||
) {
|
) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isDefaultStyleValue(style, node.style[style])) {
|
if (!isDefaultStyleValue(style, node.style[style])) {
|
||||||
switch (style) {
|
switch (style) {
|
||||||
case 'aspect-ratio':
|
case 'aspect-ratio':
|
||||||
@@ -519,11 +520,6 @@ function setupTestTree(
|
|||||||
case 'display':
|
case 'display':
|
||||||
e.YGNodeStyleSetDisplay(nodeName, displayValue(e, node.style[style]));
|
e.YGNodeStyleSetDisplay(nodeName, displayValue(e, node.style[style]));
|
||||||
break;
|
break;
|
||||||
case 'box-sizing':
|
|
||||||
e.YGNodeStyleSetBoxSizing(
|
|
||||||
nodeName,
|
|
||||||
boxSizingValue(e, node.style[style]),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -532,14 +528,6 @@ function setupTestTree(
|
|||||||
e.YGNodeInsertChild(parentName, nodeName, index);
|
e.YGNodeInsertChild(parentName, nodeName, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (node.innerText && node.children.length === 0) {
|
|
||||||
e.YGNodeSetMeasureFunc(
|
|
||||||
nodeName,
|
|
||||||
node.innerText,
|
|
||||||
flexDirectionValue(e, node.style['flex-direction']),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let i = 0; i < node.children.length; i++) {
|
for (let i = 0; i < node.children.length; i++) {
|
||||||
e.push('');
|
e.push('');
|
||||||
const childName = nodeName + '_child' + i;
|
const childName = nodeName + '_child' + i;
|
||||||
@@ -658,13 +646,6 @@ function pointValue(e, value) {
|
|||||||
return e.YGAuto;
|
return e.YGAuto;
|
||||||
case 'undefined':
|
case 'undefined':
|
||||||
return e.YGUndefined;
|
return e.YGUndefined;
|
||||||
case 'max-content':
|
|
||||||
return e.YGMaxContent;
|
|
||||||
case 'fit-content':
|
|
||||||
return e.YGFitContent;
|
|
||||||
case 'stretch':
|
|
||||||
case '-webkit-fill-available':
|
|
||||||
return e.YGStretch;
|
|
||||||
default:
|
default:
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
@@ -676,17 +657,6 @@ function displayValue(e, value) {
|
|||||||
return e.YGDisplayFlex;
|
return e.YGDisplayFlex;
|
||||||
case 'none':
|
case 'none':
|
||||||
return e.YGDisplayNone;
|
return e.YGDisplayNone;
|
||||||
case 'contents':
|
|
||||||
return e.YGDisplayContents;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function boxSizingValue(e, value) {
|
|
||||||
switch (value) {
|
|
||||||
case 'border-box':
|
|
||||||
return e.YGBoxSizingBorderBox;
|
|
||||||
case 'content-box':
|
|
||||||
return e.YGBoxSizingContentBox;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -753,7 +723,6 @@ function calculateTree(root, parentOffsetLeft, parentOffsetTop) {
|
|||||||
? child.dataset.experiments.split(' ')
|
? child.dataset.experiments.split(' ')
|
||||||
: [],
|
: [],
|
||||||
disabled: child.dataset.disabled === 'true',
|
disabled: child.dataset.disabled === 'true',
|
||||||
innerText: child.innerText,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const size = getRoundedSize(child);
|
const size = getRoundedSize(child);
|
||||||
@@ -808,7 +777,6 @@ function getYogaStyle(node) {
|
|||||||
'row-gap',
|
'row-gap',
|
||||||
'display',
|
'display',
|
||||||
'aspect-ratio',
|
'aspect-ratio',
|
||||||
'box-sizing',
|
|
||||||
].reduce((map, key) => {
|
].reduce((map, key) => {
|
||||||
map[key] =
|
map[key] =
|
||||||
node.style[key] || getComputedStyle(node, null).getPropertyValue(key);
|
node.style[key] || getComputedStyle(node, null).getPropertyValue(key);
|
||||||
|
@@ -3,8 +3,8 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"gentest": "node --disable-warning=ExperimentalWarning --loader=babel-register-esm ./gentest-driver.ts",
|
"gentest": "node --loader=babel-register-esm ./gentest-driver.ts",
|
||||||
"gentest-validate": "node --disable-warning=ExperimentalWarning --loader=babel-register-esm ./gentest-validate.ts"
|
"gentest-validate": "node --loader=babel-register-esm ./gentest-validate.ts"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -19,7 +19,6 @@
|
|||||||
"@types/minimist": "^1.2.5",
|
"@types/minimist": "^1.2.5",
|
||||||
"@types/node": "^20.10.3",
|
"@types/node": "^20.10.3",
|
||||||
"@types/selenium-webdriver": "^4.1.21",
|
"@types/selenium-webdriver": "^4.1.21",
|
||||||
"babel-register-esm": "^1.2.5",
|
"babel-register-esm": "^1.2.5"
|
||||||
"glob": "^10.4.2"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,79 +1,70 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>%s</title>
|
||||||
|
<script src="gentest.js"></script>
|
||||||
|
<script src="gentest-cpp.js"></script>
|
||||||
|
<script src="gentest-java.js"></script>
|
||||||
|
<script src="gentest-javascript.js"></script>
|
||||||
|
|
||||||
<head>
|
<style>
|
||||||
<meta charset="UTF-8">
|
body {
|
||||||
<title>%s</title>
|
padding: 0;
|
||||||
<script src="gentest.js"></script>
|
margin: 0;
|
||||||
<script src="gentest-cpp.js"></script>
|
font-family: Helvetica;
|
||||||
<script src="gentest-java.js"></script>
|
font-size: 14px;
|
||||||
<script src="gentest-javascript.js"></script>
|
font-weight: 100;
|
||||||
<script src="gentest-log.js"></script>
|
}
|
||||||
|
|
||||||
<style>
|
div, span {
|
||||||
@font-face {
|
box-sizing: border-box;
|
||||||
font-family: 'Ahem';
|
position: relative;
|
||||||
src: url('./fonts/Ahem.ttf') format('truetype');
|
border: 0 solid black;
|
||||||
}
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
align-content: flex-start;
|
||||||
|
justify-content: flex-start;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body > * {
|
||||||
padding: 0;
|
position: absolute;
|
||||||
margin: 0;
|
}
|
||||||
font: 10px/1 Ahem;
|
|
||||||
font-weight: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
div,
|
#ltr-container > * {
|
||||||
span {
|
position: absolute;
|
||||||
box-sizing: border-box;
|
direction: ltr;
|
||||||
position: relative;
|
}
|
||||||
border: 0 solid black;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: stretch;
|
|
||||||
align-content: flex-start;
|
|
||||||
justify-content: flex-start;
|
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
body>* {
|
#rtl-container > * {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
direction: rtl;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
#ltr-container>* {
|
<body>
|
||||||
position: absolute;
|
<div id='ltr-container'>
|
||||||
direction: ltr;
|
|
||||||
}
|
|
||||||
|
|
||||||
#rtl-container>* {
|
%s
|
||||||
position: absolute;
|
|
||||||
direction: rtl;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
<div id='default'></div>
|
||||||
</head>
|
</div>
|
||||||
|
<div id='rtl-container'>
|
||||||
|
|
||||||
<body>
|
%s
|
||||||
<div id='ltr-container'>
|
|
||||||
|
|
||||||
%s
|
<div id='default'></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id='default'></div>
|
<div>
|
||||||
</div>
|
|
||||||
<div id='rtl-container'>
|
|
||||||
|
|
||||||
%s
|
%s
|
||||||
|
|
||||||
<div id='default'></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
|
|
||||||
%s
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -11,4 +11,4 @@ android.useAndroidX=true
|
|||||||
|
|
||||||
org.gradle.jvmargs=-Xmx1536M
|
org.gradle.jvmargs=-Xmx1536M
|
||||||
|
|
||||||
VERSION_NAME=0.0.0
|
VERSION_NAME=3.1.0
|
||||||
|
17
gradle/gradle-enterprise.gradle.kts.sample
Normal file
17
gradle/gradle-enterprise.gradle.kts.sample
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// You can use this script to configure the gradleEnterprise{} block in your build.
|
||||||
|
// You need to rename this file to ./gradle/gradle-enterprise.gradle.kts in order for
|
||||||
|
// this to be processed.
|
||||||
|
extensions.getByName("gradleEnterprise").withGroovyBuilder {
|
||||||
|
setProperty("server", "https://your-gradle-enterprise-instance.example.com")
|
||||||
|
getProperty("buildScan").withGroovyBuilder {
|
||||||
|
"publishAlways"()
|
||||||
|
"tag"(if(System.getenv("CI") != null) "CI" else "Local")
|
||||||
|
}
|
||||||
|
}
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
3
gradle/wrapper/gradle-wrapper.properties
vendored
3
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,7 +1,6 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
26
gradlew
vendored
26
gradlew
vendored
@@ -15,8 +15,6 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
#
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
@@ -57,7 +55,7 @@
|
|||||||
# Darwin, MinGW, and NonStop.
|
# Darwin, MinGW, and NonStop.
|
||||||
#
|
#
|
||||||
# (3) This script is generated from the Groovy template
|
# (3) This script is generated from the Groovy template
|
||||||
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||||
# within the Gradle project.
|
# within the Gradle project.
|
||||||
#
|
#
|
||||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||||
@@ -85,8 +83,7 @@ done
|
|||||||
# This is normally unused
|
# This is normally unused
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
APP_BASE_NAME=${0##*/}
|
APP_BASE_NAME=${0##*/}
|
||||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD=maximum
|
MAX_FD=maximum
|
||||||
@@ -133,13 +130,10 @@ location of your Java installation."
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
JAVACMD=java
|
JAVACMD=java
|
||||||
if ! command -v java >/dev/null 2>&1
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
then
|
|
||||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
|
||||||
|
|
||||||
Please set the JAVA_HOME variable in your environment to match the
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
location of your Java installation."
|
location of your Java installation."
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Increase the maximum file descriptors if we can.
|
# Increase the maximum file descriptors if we can.
|
||||||
@@ -147,7 +141,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|||||||
case $MAX_FD in #(
|
case $MAX_FD in #(
|
||||||
max*)
|
max*)
|
||||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||||
# shellcheck disable=SC2039,SC3045
|
# shellcheck disable=SC3045
|
||||||
MAX_FD=$( ulimit -H -n ) ||
|
MAX_FD=$( ulimit -H -n ) ||
|
||||||
warn "Could not query maximum file descriptor limit"
|
warn "Could not query maximum file descriptor limit"
|
||||||
esac
|
esac
|
||||||
@@ -155,7 +149,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|||||||
'' | soft) :;; #(
|
'' | soft) :;; #(
|
||||||
*)
|
*)
|
||||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||||
# shellcheck disable=SC2039,SC3045
|
# shellcheck disable=SC3045
|
||||||
ulimit -n "$MAX_FD" ||
|
ulimit -n "$MAX_FD" ||
|
||||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||||
esac
|
esac
|
||||||
@@ -204,11 +198,11 @@ fi
|
|||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
|
|
||||||
# Collect all arguments for the java command:
|
# Collect all arguments for the java command;
|
||||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||||
# and any embedded shellness will be escaped.
|
# shell script including quotes and variable substitutions, so put them in
|
||||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
# double quotes to make sure that they get re-expanded; and
|
||||||
# treated as '${Hostname}' itself on the command line.
|
# * put everything else in single quotes, so that it's not re-expanded.
|
||||||
|
|
||||||
set -- \
|
set -- \
|
||||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||||
|
22
gradlew.bat
vendored
22
gradlew.bat
vendored
@@ -13,8 +13,6 @@
|
|||||||
@rem See the License for the specific language governing permissions and
|
@rem See the License for the specific language governing permissions and
|
||||||
@rem limitations under the License.
|
@rem limitations under the License.
|
||||||
@rem
|
@rem
|
||||||
@rem SPDX-License-Identifier: Apache-2.0
|
|
||||||
@rem
|
|
||||||
|
|
||||||
@if "%DEBUG%"=="" @echo off
|
@if "%DEBUG%"=="" @echo off
|
||||||
@rem ##########################################################################
|
@rem ##########################################################################
|
||||||
@@ -45,11 +43,11 @@ set JAVA_EXE=java.exe
|
|||||||
%JAVA_EXE% -version >NUL 2>&1
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
if %ERRORLEVEL% equ 0 goto execute
|
if %ERRORLEVEL% equ 0 goto execute
|
||||||
|
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
echo location of your Java installation. 1>&2
|
echo location of your Java installation.
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
@@ -59,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
|||||||
|
|
||||||
if exist "%JAVA_EXE%" goto execute
|
if exist "%JAVA_EXE%" goto execute
|
||||||
|
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
echo. 1>&2
|
echo.
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
echo location of your Java installation. 1>&2
|
echo location of your Java installation.
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
|
@@ -1,17 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<!--
|
|
||||||
Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
|
|
||||||
This source code is licensed under the MIT license found in the
|
|
||||||
LICENSE file in the root directory of this source tree.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="com.facebook.yoga"
|
|
||||||
android:versionCode="1"
|
|
||||||
android:versionName="1.0"
|
|
||||||
>
|
|
||||||
|
|
||||||
<application/>
|
<application/>
|
||||||
|
|
||||||
|
@@ -9,7 +9,6 @@ plugins {
|
|||||||
id("com.android.library")
|
id("com.android.library")
|
||||||
id("maven-publish")
|
id("maven-publish")
|
||||||
id("signing")
|
id("signing")
|
||||||
id("org.jetbrains.kotlin.android")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "com.facebook.yoga"
|
group = "com.facebook.yoga"
|
||||||
@@ -22,16 +21,15 @@ val ndkVersionProperty: String by rootProject.extra
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = "com.facebook.yoga"
|
namespace = "com.facebook.yoga"
|
||||||
compileSdk = 35
|
compileSdk = 34
|
||||||
buildToolsVersion = "35.0.0"
|
buildToolsVersion = "34.0.0"
|
||||||
ndkVersion = "27.1.12297006"
|
ndkVersion = "26.0.10792818"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdk = 21
|
minSdk = 21
|
||||||
consumerProguardFiles("proguard-rules.pro")
|
consumerProguardFiles("proguard-rules.pro")
|
||||||
|
|
||||||
ndk { abiFilters.addAll(setOf("x86", "x86_64", "armeabi-v7a", "arm64-v8a")) }
|
ndk { abiFilters.addAll(setOf("x86", "x86_64", "armeabi-v7a", "arm64-v8a")) }
|
||||||
externalNativeBuild { cmake { arguments("-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON") } }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
externalNativeBuild { cmake { path("CMakeLists.txt") } }
|
externalNativeBuild { cmake { path("CMakeLists.txt") } }
|
||||||
@@ -49,8 +47,6 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlinOptions { jvmTarget = "1.8" }
|
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
multipleVariants {
|
multipleVariants {
|
||||||
withSourcesJar()
|
withSourcesJar()
|
||||||
@@ -63,7 +59,6 @@ android {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
||||||
implementation("com.facebook.soloader:soloader:0.10.5")
|
implementation("com.facebook.soloader:soloader:0.10.5")
|
||||||
implementation("androidx.core:core-ktx:1.16.0")
|
|
||||||
testImplementation("junit:junit:4.12")
|
testImplementation("junit:junit:4.12")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
25
java/com/facebook/yoga/YogaConstants.java
Normal file
25
java/com/facebook/yoga/YogaConstants.java
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.facebook.yoga;
|
||||||
|
|
||||||
|
public class YogaConstants {
|
||||||
|
|
||||||
|
public static final float UNDEFINED = Float.NaN;
|
||||||
|
|
||||||
|
public static boolean isUndefined(float value) {
|
||||||
|
return Float.compare(value, UNDEFINED) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isUndefined(YogaValue value) {
|
||||||
|
return value.unit == YogaUnit.UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static float getUndefined() {
|
||||||
|
return UNDEFINED;
|
||||||
|
}
|
||||||
|
}
|
@@ -1,18 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.facebook.yoga
|
|
||||||
|
|
||||||
public object YogaConstants {
|
|
||||||
@JvmField public val UNDEFINED: Float = Float.NaN
|
|
||||||
|
|
||||||
@JvmStatic public fun isUndefined(value: Float): Boolean = value.compareTo(UNDEFINED) == 0
|
|
||||||
|
|
||||||
@JvmStatic public fun isUndefined(value: YogaValue): Boolean = value.unit == YogaUnit.UNDEFINED
|
|
||||||
|
|
||||||
@JvmStatic public fun getUndefined(): Float = UNDEFINED
|
|
||||||
}
|
|
@@ -9,13 +9,14 @@
|
|||||||
|
|
||||||
package com.facebook.yoga;
|
package com.facebook.yoga;
|
||||||
|
|
||||||
public enum YogaBoxSizing {
|
public enum YogaDirection {
|
||||||
BORDER_BOX(0),
|
INHERIT(0),
|
||||||
CONTENT_BOX(1);
|
LTR(1),
|
||||||
|
RTL(2);
|
||||||
|
|
||||||
private final int mIntValue;
|
private final int mIntValue;
|
||||||
|
|
||||||
YogaBoxSizing(int intValue) {
|
YogaDirection(int intValue) {
|
||||||
mIntValue = intValue;
|
mIntValue = intValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,10 +24,11 @@ public enum YogaBoxSizing {
|
|||||||
return mIntValue;
|
return mIntValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static YogaBoxSizing fromInt(int value) {
|
public static YogaDirection fromInt(int value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case 0: return BORDER_BOX;
|
case 0: return INHERIT;
|
||||||
case 1: return CONTENT_BOX;
|
case 1: return LTR;
|
||||||
|
case 2: return RTL;
|
||||||
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// @generated by enums.py
|
|
||||||
|
|
||||||
package com.facebook.yoga
|
|
||||||
|
|
||||||
public enum class YogaDirection(public val intValue: Int) {
|
|
||||||
INHERIT(0),
|
|
||||||
LTR(1),
|
|
||||||
RTL(2);
|
|
||||||
|
|
||||||
public fun intValue(): Int = intValue
|
|
||||||
|
|
||||||
public companion object {
|
|
||||||
@JvmStatic
|
|
||||||
public fun fromInt(value: Int): YogaDirection =
|
|
||||||
when (value) {
|
|
||||||
0 -> INHERIT
|
|
||||||
1 -> LTR
|
|
||||||
2 -> RTL
|
|
||||||
else -> throw IllegalArgumentException("Unknown enum value: $value")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -11,8 +11,7 @@ package com.facebook.yoga;
|
|||||||
|
|
||||||
public enum YogaDisplay {
|
public enum YogaDisplay {
|
||||||
FLEX(0),
|
FLEX(0),
|
||||||
NONE(1),
|
NONE(1);
|
||||||
CONTENTS(2);
|
|
||||||
|
|
||||||
private final int mIntValue;
|
private final int mIntValue;
|
||||||
|
|
||||||
@@ -28,7 +27,6 @@ public enum YogaDisplay {
|
|||||||
switch (value) {
|
switch (value) {
|
||||||
case 0: return FLEX;
|
case 0: return FLEX;
|
||||||
case 1: return NONE;
|
case 1: return NONE;
|
||||||
case 2: return CONTENTS;
|
|
||||||
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -12,7 +12,7 @@ package com.facebook.yoga;
|
|||||||
public enum YogaErrata {
|
public enum YogaErrata {
|
||||||
NONE(0),
|
NONE(0),
|
||||||
STRETCH_FLEX_BASIS(1),
|
STRETCH_FLEX_BASIS(1),
|
||||||
ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING(2),
|
ABSOLUTE_POSITIONING_INCORRECT(2),
|
||||||
ABSOLUTE_PERCENT_AGAINST_INNER_SIZE(4),
|
ABSOLUTE_PERCENT_AGAINST_INNER_SIZE(4),
|
||||||
ALL(2147483647),
|
ALL(2147483647),
|
||||||
CLASSIC(2147483646);
|
CLASSIC(2147483646);
|
||||||
@@ -31,7 +31,7 @@ public enum YogaErrata {
|
|||||||
switch (value) {
|
switch (value) {
|
||||||
case 0: return NONE;
|
case 0: return NONE;
|
||||||
case 1: return STRETCH_FLEX_BASIS;
|
case 1: return STRETCH_FLEX_BASIS;
|
||||||
case 2: return ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING;
|
case 2: return ABSOLUTE_POSITIONING_INCORRECT;
|
||||||
case 4: return ABSOLUTE_PERCENT_AGAINST_INNER_SIZE;
|
case 4: return ABSOLUTE_PERCENT_AGAINST_INNER_SIZE;
|
||||||
case 2147483647: return ALL;
|
case 2147483647: return ALL;
|
||||||
case 2147483646: return CLASSIC;
|
case 2147483646: return CLASSIC;
|
||||||
|
@@ -56,8 +56,6 @@ public class YogaNative {
|
|||||||
static native void jni_YGNodeStyleSetAlignContentJNI(long nativePointer, int alignContent);
|
static native void jni_YGNodeStyleSetAlignContentJNI(long nativePointer, int alignContent);
|
||||||
static native int jni_YGNodeStyleGetPositionTypeJNI(long nativePointer);
|
static native int jni_YGNodeStyleGetPositionTypeJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetPositionTypeJNI(long nativePointer, int positionType);
|
static native void jni_YGNodeStyleSetPositionTypeJNI(long nativePointer, int positionType);
|
||||||
static native int jni_YGNodeStyleGetBoxSizingJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetBoxSizingJNI(long nativePointer, int boxSizing);
|
|
||||||
static native int jni_YGNodeStyleGetFlexWrapJNI(long nativePointer);
|
static native int jni_YGNodeStyleGetFlexWrapJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetFlexWrapJNI(long nativePointer, int wrapType);
|
static native void jni_YGNodeStyleSetFlexWrapJNI(long nativePointer, int wrapType);
|
||||||
static native int jni_YGNodeStyleGetOverflowJNI(long nativePointer);
|
static native int jni_YGNodeStyleGetOverflowJNI(long nativePointer);
|
||||||
@@ -74,9 +72,6 @@ public class YogaNative {
|
|||||||
static native void jni_YGNodeStyleSetFlexBasisJNI(long nativePointer, float flexBasis);
|
static native void jni_YGNodeStyleSetFlexBasisJNI(long nativePointer, float flexBasis);
|
||||||
static native void jni_YGNodeStyleSetFlexBasisPercentJNI(long nativePointer, float percent);
|
static native void jni_YGNodeStyleSetFlexBasisPercentJNI(long nativePointer, float percent);
|
||||||
static native void jni_YGNodeStyleSetFlexBasisAutoJNI(long nativePointer);
|
static native void jni_YGNodeStyleSetFlexBasisAutoJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetFlexBasisMaxContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetFlexBasisFitContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetFlexBasisStretchJNI(long nativePointer);
|
|
||||||
static native long jni_YGNodeStyleGetMarginJNI(long nativePointer, int edge);
|
static native long jni_YGNodeStyleGetMarginJNI(long nativePointer, int edge);
|
||||||
static native void jni_YGNodeStyleSetMarginJNI(long nativePointer, int edge, float margin);
|
static native void jni_YGNodeStyleSetMarginJNI(long nativePointer, int edge, float margin);
|
||||||
static native void jni_YGNodeStyleSetMarginPercentJNI(long nativePointer, int edge, float percent);
|
static native void jni_YGNodeStyleSetMarginPercentJNI(long nativePointer, int edge, float percent);
|
||||||
@@ -89,48 +84,29 @@ public class YogaNative {
|
|||||||
static native long jni_YGNodeStyleGetPositionJNI(long nativePointer, int edge);
|
static native long jni_YGNodeStyleGetPositionJNI(long nativePointer, int edge);
|
||||||
static native void jni_YGNodeStyleSetPositionJNI(long nativePointer, int edge, float position);
|
static native void jni_YGNodeStyleSetPositionJNI(long nativePointer, int edge, float position);
|
||||||
static native void jni_YGNodeStyleSetPositionPercentJNI(long nativePointer, int edge, float percent);
|
static native void jni_YGNodeStyleSetPositionPercentJNI(long nativePointer, int edge, float percent);
|
||||||
static native void jni_YGNodeStyleSetPositionAutoJNI(long nativePointer, int edge);
|
|
||||||
static native long jni_YGNodeStyleGetWidthJNI(long nativePointer);
|
static native long jni_YGNodeStyleGetWidthJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetWidthJNI(long nativePointer, float width);
|
static native void jni_YGNodeStyleSetWidthJNI(long nativePointer, float width);
|
||||||
static native void jni_YGNodeStyleSetWidthPercentJNI(long nativePointer, float percent);
|
static native void jni_YGNodeStyleSetWidthPercentJNI(long nativePointer, float percent);
|
||||||
static native void jni_YGNodeStyleSetWidthAutoJNI(long nativePointer);
|
static native void jni_YGNodeStyleSetWidthAutoJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetWidthMaxContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetWidthFitContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetWidthStretchJNI(long nativePointer);
|
|
||||||
static native long jni_YGNodeStyleGetHeightJNI(long nativePointer);
|
static native long jni_YGNodeStyleGetHeightJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetHeightJNI(long nativePointer, float height);
|
static native void jni_YGNodeStyleSetHeightJNI(long nativePointer, float height);
|
||||||
static native void jni_YGNodeStyleSetHeightPercentJNI(long nativePointer, float percent);
|
static native void jni_YGNodeStyleSetHeightPercentJNI(long nativePointer, float percent);
|
||||||
static native void jni_YGNodeStyleSetHeightAutoJNI(long nativePointer);
|
static native void jni_YGNodeStyleSetHeightAutoJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetHeightMaxContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetHeightFitContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetHeightStretchJNI(long nativePointer);
|
|
||||||
static native long jni_YGNodeStyleGetMinWidthJNI(long nativePointer);
|
static native long jni_YGNodeStyleGetMinWidthJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetMinWidthJNI(long nativePointer, float minWidth);
|
static native void jni_YGNodeStyleSetMinWidthJNI(long nativePointer, float minWidth);
|
||||||
static native void jni_YGNodeStyleSetMinWidthPercentJNI(long nativePointer, float percent);
|
static native void jni_YGNodeStyleSetMinWidthPercentJNI(long nativePointer, float percent);
|
||||||
static native void jni_YGNodeStyleSetMinWidthMaxContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMinWidthFitContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMinWidthStretchJNI(long nativePointer);
|
|
||||||
static native long jni_YGNodeStyleGetMinHeightJNI(long nativePointer);
|
static native long jni_YGNodeStyleGetMinHeightJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetMinHeightJNI(long nativePointer, float minHeight);
|
static native void jni_YGNodeStyleSetMinHeightJNI(long nativePointer, float minHeight);
|
||||||
static native void jni_YGNodeStyleSetMinHeightPercentJNI(long nativePointer, float percent);
|
static native void jni_YGNodeStyleSetMinHeightPercentJNI(long nativePointer, float percent);
|
||||||
static native void jni_YGNodeStyleSetMinHeightMaxContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMinHeightFitContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMinHeightStretchJNI(long nativePointer);
|
|
||||||
static native long jni_YGNodeStyleGetMaxWidthJNI(long nativePointer);
|
static native long jni_YGNodeStyleGetMaxWidthJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetMaxWidthJNI(long nativePointer, float maxWidth);
|
static native void jni_YGNodeStyleSetMaxWidthJNI(long nativePointer, float maxWidth);
|
||||||
static native void jni_YGNodeStyleSetMaxWidthPercentJNI(long nativePointer, float percent);
|
static native void jni_YGNodeStyleSetMaxWidthPercentJNI(long nativePointer, float percent);
|
||||||
static native void jni_YGNodeStyleSetMaxWidthMaxContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMaxWidthFitContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMaxWidthStretchJNI(long nativePointer);
|
|
||||||
static native long jni_YGNodeStyleGetMaxHeightJNI(long nativePointer);
|
static native long jni_YGNodeStyleGetMaxHeightJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetMaxHeightJNI(long nativePointer, float maxheight);
|
static native void jni_YGNodeStyleSetMaxHeightJNI(long nativePointer, float maxheight);
|
||||||
static native void jni_YGNodeStyleSetMaxHeightPercentJNI(long nativePointer, float percent);
|
static native void jni_YGNodeStyleSetMaxHeightPercentJNI(long nativePointer, float percent);
|
||||||
static native void jni_YGNodeStyleSetMaxHeightMaxContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMaxHeightFitContentJNI(long nativePointer);
|
|
||||||
static native void jni_YGNodeStyleSetMaxHeightStretchJNI(long nativePointer);
|
|
||||||
static native float jni_YGNodeStyleGetAspectRatioJNI(long nativePointer);
|
static native float jni_YGNodeStyleGetAspectRatioJNI(long nativePointer);
|
||||||
static native void jni_YGNodeStyleSetAspectRatioJNI(long nativePointer, float aspectRatio);
|
static native void jni_YGNodeStyleSetAspectRatioJNI(long nativePointer, float aspectRatio);
|
||||||
static native long jni_YGNodeStyleGetGapJNI(long nativePointer, int gutter);
|
static native float jni_YGNodeStyleGetGapJNI(long nativePointer, int gutter);
|
||||||
static native void jni_YGNodeStyleSetGapJNI(long nativePointer, int gutter, float gapLength);
|
static native void jni_YGNodeStyleSetGapJNI(long nativePointer, int gutter, float gapLength);
|
||||||
static native void jni_YGNodeStyleSetGapPercentJNI(long nativePointer, int gutter, float gapLength);
|
static native void jni_YGNodeStyleSetGapPercentJNI(long nativePointer, int gutter, float gapLength);
|
||||||
static native void jni_YGNodeSetHasMeasureFuncJNI(long nativePointer, boolean hasMeasureFunc);
|
static native void jni_YGNodeSetHasMeasureFuncJNI(long nativePointer, boolean hasMeasureFunc);
|
||||||
|
@@ -88,10 +88,6 @@ public abstract class YogaNode implements YogaProps {
|
|||||||
|
|
||||||
public abstract void setPositionType(YogaPositionType positionType);
|
public abstract void setPositionType(YogaPositionType positionType);
|
||||||
|
|
||||||
public abstract YogaBoxSizing getBoxSizing();
|
|
||||||
|
|
||||||
public abstract void setBoxSizing(YogaBoxSizing boxSizing);
|
|
||||||
|
|
||||||
public abstract YogaWrap getWrap();
|
public abstract YogaWrap getWrap();
|
||||||
|
|
||||||
public abstract void setWrap(YogaWrap flexWrap);
|
public abstract void setWrap(YogaWrap flexWrap);
|
||||||
@@ -124,12 +120,6 @@ public abstract class YogaNode implements YogaProps {
|
|||||||
|
|
||||||
public abstract void setFlexBasisAuto();
|
public abstract void setFlexBasisAuto();
|
||||||
|
|
||||||
public abstract void setFlexBasisMaxContent();
|
|
||||||
|
|
||||||
public abstract void setFlexBasisFitContent();
|
|
||||||
|
|
||||||
public abstract void setFlexBasisStretch();
|
|
||||||
|
|
||||||
public abstract YogaValue getMargin(YogaEdge edge);
|
public abstract YogaValue getMargin(YogaEdge edge);
|
||||||
|
|
||||||
public abstract void setMargin(YogaEdge edge, float margin);
|
public abstract void setMargin(YogaEdge edge, float margin);
|
||||||
@@ -154,8 +144,6 @@ public abstract class YogaNode implements YogaProps {
|
|||||||
|
|
||||||
public abstract void setPositionPercent(YogaEdge edge, float percent);
|
public abstract void setPositionPercent(YogaEdge edge, float percent);
|
||||||
|
|
||||||
public abstract void setPositionAuto(YogaEdge edge);
|
|
||||||
|
|
||||||
public abstract YogaValue getWidth();
|
public abstract YogaValue getWidth();
|
||||||
|
|
||||||
public abstract void setWidth(float width);
|
public abstract void setWidth(float width);
|
||||||
@@ -164,12 +152,6 @@ public abstract class YogaNode implements YogaProps {
|
|||||||
|
|
||||||
public abstract void setWidthAuto();
|
public abstract void setWidthAuto();
|
||||||
|
|
||||||
public abstract void setWidthMaxContent();
|
|
||||||
|
|
||||||
public abstract void setWidthFitContent();
|
|
||||||
|
|
||||||
public abstract void setWidthStretch();
|
|
||||||
|
|
||||||
public abstract YogaValue getHeight();
|
public abstract YogaValue getHeight();
|
||||||
|
|
||||||
public abstract void setHeight(float height);
|
public abstract void setHeight(float height);
|
||||||
@@ -178,65 +160,35 @@ public abstract class YogaNode implements YogaProps {
|
|||||||
|
|
||||||
public abstract void setHeightAuto();
|
public abstract void setHeightAuto();
|
||||||
|
|
||||||
public abstract void setHeightMaxContent();
|
|
||||||
|
|
||||||
public abstract void setHeightFitContent();
|
|
||||||
|
|
||||||
public abstract void setHeightStretch();
|
|
||||||
|
|
||||||
public abstract YogaValue getMinWidth();
|
public abstract YogaValue getMinWidth();
|
||||||
|
|
||||||
public abstract void setMinWidth(float minWidth);
|
public abstract void setMinWidth(float minWidth);
|
||||||
|
|
||||||
public abstract void setMinWidthPercent(float percent);
|
public abstract void setMinWidthPercent(float percent);
|
||||||
|
|
||||||
public abstract void setMinWidthMaxContent();
|
|
||||||
|
|
||||||
public abstract void setMinWidthFitContent();
|
|
||||||
|
|
||||||
public abstract void setMinWidthStretch();
|
|
||||||
|
|
||||||
public abstract YogaValue getMinHeight();
|
public abstract YogaValue getMinHeight();
|
||||||
|
|
||||||
public abstract void setMinHeight(float minHeight);
|
public abstract void setMinHeight(float minHeight);
|
||||||
|
|
||||||
public abstract void setMinHeightPercent(float percent);
|
public abstract void setMinHeightPercent(float percent);
|
||||||
|
|
||||||
public abstract void setMinHeightMaxContent();
|
|
||||||
|
|
||||||
public abstract void setMinHeightFitContent();
|
|
||||||
|
|
||||||
public abstract void setMinHeightStretch();
|
|
||||||
|
|
||||||
public abstract YogaValue getMaxWidth();
|
public abstract YogaValue getMaxWidth();
|
||||||
|
|
||||||
public abstract void setMaxWidth(float maxWidth);
|
public abstract void setMaxWidth(float maxWidth);
|
||||||
|
|
||||||
public abstract void setMaxWidthPercent(float percent);
|
public abstract void setMaxWidthPercent(float percent);
|
||||||
|
|
||||||
public abstract void setMaxWidthMaxContent();
|
|
||||||
|
|
||||||
public abstract void setMaxWidthFitContent();
|
|
||||||
|
|
||||||
public abstract void setMaxWidthStretch();
|
|
||||||
|
|
||||||
public abstract YogaValue getMaxHeight();
|
public abstract YogaValue getMaxHeight();
|
||||||
|
|
||||||
public abstract void setMaxHeight(float maxheight);
|
public abstract void setMaxHeight(float maxheight);
|
||||||
|
|
||||||
public abstract void setMaxHeightPercent(float percent);
|
public abstract void setMaxHeightPercent(float percent);
|
||||||
|
|
||||||
public abstract void setMaxHeightMaxContent();
|
|
||||||
|
|
||||||
public abstract void setMaxHeightFitContent();
|
|
||||||
|
|
||||||
public abstract void setMaxHeightStretch();
|
|
||||||
|
|
||||||
public abstract float getAspectRatio();
|
public abstract float getAspectRatio();
|
||||||
|
|
||||||
public abstract void setAspectRatio(float aspectRatio);
|
public abstract void setAspectRatio(float aspectRatio);
|
||||||
|
|
||||||
public abstract YogaValue getGap(YogaGutter gutter);
|
public abstract float getGap(YogaGutter gutter);
|
||||||
|
|
||||||
public abstract void setGap(YogaGutter gutter, float gapLength);
|
public abstract void setGap(YogaGutter gutter, float gapLength);
|
||||||
|
|
||||||
|
@@ -32,7 +32,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
private static final byte LAYOUT_BORDER_START_INDEX = 14;
|
private static final byte LAYOUT_BORDER_START_INDEX = 14;
|
||||||
|
|
||||||
@Nullable private YogaNodeJNIBase mOwner;
|
@Nullable private YogaNodeJNIBase mOwner;
|
||||||
@Nullable private YogaConfig mConfig;
|
|
||||||
@Nullable private List<YogaNodeJNIBase> mChildren;
|
@Nullable private List<YogaNodeJNIBase> mChildren;
|
||||||
@Nullable private YogaMeasureFunction mMeasureFunction;
|
@Nullable private YogaMeasureFunction mMeasureFunction;
|
||||||
@Nullable private YogaBaselineFunction mBaselineFunction;
|
@Nullable private YogaBaselineFunction mBaselineFunction;
|
||||||
@@ -58,7 +57,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
|
|
||||||
YogaNodeJNIBase(YogaConfig config) {
|
YogaNodeJNIBase(YogaConfig config) {
|
||||||
this(YogaNative.jni_YGNodeNewWithConfigJNI(((YogaConfigJNIBase) config).mNativePointer));
|
this(YogaNative.jni_YGNodeNewWithConfigJNI(((YogaConfigJNIBase) config).mNativePointer));
|
||||||
mConfig = config; // makes sure the YogaConfig is not garbage collected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void reset() {
|
public void reset() {
|
||||||
@@ -301,14 +299,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetPositionTypeJNI(mNativePointer, positionType.intValue());
|
YogaNative.jni_YGNodeStyleSetPositionTypeJNI(mNativePointer, positionType.intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
public YogaBoxSizing getBoxSizing() {
|
|
||||||
return YogaBoxSizing.fromInt(YogaNative.jni_YGNodeStyleGetBoxSizingJNI(mNativePointer));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBoxSizing(YogaBoxSizing boxSizing) {
|
|
||||||
YogaNative.jni_YGNodeStyleSetBoxSizingJNI(mNativePointer, boxSizing.intValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaWrap getWrap() {
|
public YogaWrap getWrap() {
|
||||||
return YogaWrap.fromInt(YogaNative.jni_YGNodeStyleGetFlexWrapJNI(mNativePointer));
|
return YogaWrap.fromInt(YogaNative.jni_YGNodeStyleGetFlexWrapJNI(mNativePointer));
|
||||||
}
|
}
|
||||||
@@ -373,18 +363,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetFlexBasisAutoJNI(mNativePointer);
|
YogaNative.jni_YGNodeStyleSetFlexBasisAutoJNI(mNativePointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFlexBasisMaxContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetFlexBasisMaxContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFlexBasisFitContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetFlexBasisFitContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFlexBasisStretch() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetFlexBasisStretchJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaValue getMargin(YogaEdge edge) {
|
public YogaValue getMargin(YogaEdge edge) {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetMarginJNI(mNativePointer, edge.intValue()));
|
return valueFromLong(YogaNative.jni_YGNodeStyleGetMarginJNI(mNativePointer, edge.intValue()));
|
||||||
}
|
}
|
||||||
@@ -433,10 +411,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetPositionPercentJNI(mNativePointer, edge.intValue(), percent);
|
YogaNative.jni_YGNodeStyleSetPositionPercentJNI(mNativePointer, edge.intValue(), percent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPositionAuto(YogaEdge edge) {
|
|
||||||
YogaNative.jni_YGNodeStyleSetPositionAutoJNI(mNativePointer, edge.intValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaValue getWidth() {
|
public YogaValue getWidth() {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetWidthJNI(mNativePointer));
|
return valueFromLong(YogaNative.jni_YGNodeStyleGetWidthJNI(mNativePointer));
|
||||||
}
|
}
|
||||||
@@ -453,18 +427,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetWidthAutoJNI(mNativePointer);
|
YogaNative.jni_YGNodeStyleSetWidthAutoJNI(mNativePointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setWidthMaxContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetWidthMaxContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWidthFitContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetWidthFitContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWidthStretch() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetWidthStretchJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaValue getHeight() {
|
public YogaValue getHeight() {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetHeightJNI(mNativePointer));
|
return valueFromLong(YogaNative.jni_YGNodeStyleGetHeightJNI(mNativePointer));
|
||||||
}
|
}
|
||||||
@@ -481,18 +443,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetHeightAutoJNI(mNativePointer);
|
YogaNative.jni_YGNodeStyleSetHeightAutoJNI(mNativePointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHeightMaxContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetHeightMaxContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHeightFitContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetHeightFitContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHeightStretch() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetHeightStretchJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaValue getMinWidth() {
|
public YogaValue getMinWidth() {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetMinWidthJNI(mNativePointer));
|
return valueFromLong(YogaNative.jni_YGNodeStyleGetMinWidthJNI(mNativePointer));
|
||||||
}
|
}
|
||||||
@@ -505,18 +455,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetMinWidthPercentJNI(mNativePointer, percent);
|
YogaNative.jni_YGNodeStyleSetMinWidthPercentJNI(mNativePointer, percent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMinWidthMaxContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMinWidthMaxContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinWidthFitContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMinWidthFitContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinWidthStretch() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMinWidthStretchJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaValue getMinHeight() {
|
public YogaValue getMinHeight() {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetMinHeightJNI(mNativePointer));
|
return valueFromLong(YogaNative.jni_YGNodeStyleGetMinHeightJNI(mNativePointer));
|
||||||
}
|
}
|
||||||
@@ -529,18 +467,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetMinHeightPercentJNI(mNativePointer, percent);
|
YogaNative.jni_YGNodeStyleSetMinHeightPercentJNI(mNativePointer, percent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMinHeightMaxContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMinHeightMaxContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinHeightFitContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMinHeightFitContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMinHeightStretch() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMinHeightStretchJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaValue getMaxWidth() {
|
public YogaValue getMaxWidth() {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetMaxWidthJNI(mNativePointer));
|
return valueFromLong(YogaNative.jni_YGNodeStyleGetMaxWidthJNI(mNativePointer));
|
||||||
}
|
}
|
||||||
@@ -553,18 +479,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetMaxWidthPercentJNI(mNativePointer, percent);
|
YogaNative.jni_YGNodeStyleSetMaxWidthPercentJNI(mNativePointer, percent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxWidthMaxContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMaxWidthMaxContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxWidthFitContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMaxWidthFitContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxWidthStretch() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMaxWidthStretchJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public YogaValue getMaxHeight() {
|
public YogaValue getMaxHeight() {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetMaxHeightJNI(mNativePointer));
|
return valueFromLong(YogaNative.jni_YGNodeStyleGetMaxHeightJNI(mNativePointer));
|
||||||
}
|
}
|
||||||
@@ -577,18 +491,6 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
YogaNative.jni_YGNodeStyleSetMaxHeightPercentJNI(mNativePointer, percent);
|
YogaNative.jni_YGNodeStyleSetMaxHeightPercentJNI(mNativePointer, percent);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxHeightMaxContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMaxHeightMaxContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxHeightFitContent() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMaxHeightFitContentJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxHeightStretch() {
|
|
||||||
YogaNative.jni_YGNodeStyleSetMaxHeightStretchJNI(mNativePointer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public float getAspectRatio() {
|
public float getAspectRatio() {
|
||||||
return YogaNative.jni_YGNodeStyleGetAspectRatioJNI(mNativePointer);
|
return YogaNative.jni_YGNodeStyleGetAspectRatioJNI(mNativePointer);
|
||||||
}
|
}
|
||||||
@@ -811,8 +713,8 @@ public abstract class YogaNodeJNIBase extends YogaNode implements Cloneable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public YogaValue getGap(YogaGutter gutter) {
|
public float getGap(YogaGutter gutter) {
|
||||||
return valueFromLong(YogaNative.jni_YGNodeStyleGetGapJNI(mNativePointer, gutter.intValue()));
|
return YogaNative.jni_YGNodeStyleGetGapJNI(mNativePointer, gutter.intValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -15,33 +15,15 @@ public interface YogaProps {
|
|||||||
|
|
||||||
void setWidthPercent(float percent);
|
void setWidthPercent(float percent);
|
||||||
|
|
||||||
void setWidthAuto();
|
|
||||||
|
|
||||||
void setWidthMaxContent();
|
|
||||||
|
|
||||||
void setWidthFitContent();
|
|
||||||
|
|
||||||
void setWidthStretch();
|
|
||||||
|
|
||||||
void setMinWidth(float minWidth);
|
void setMinWidth(float minWidth);
|
||||||
|
|
||||||
void setMinWidthPercent(float percent);
|
void setMinWidthPercent(float percent);
|
||||||
|
|
||||||
void setMinWidthMaxContent();
|
|
||||||
|
|
||||||
void setMinWidthFitContent();
|
|
||||||
|
|
||||||
void setMinWidthStretch();
|
|
||||||
|
|
||||||
void setMaxWidth(float maxWidth);
|
void setMaxWidth(float maxWidth);
|
||||||
|
|
||||||
void setMaxWidthPercent(float percent);
|
void setMaxWidthPercent(float percent);
|
||||||
|
|
||||||
void setMaxWidthMaxContent();
|
void setWidthAuto();
|
||||||
|
|
||||||
void setMaxWidthFitContent();
|
|
||||||
|
|
||||||
void setMaxWidthStretch();
|
|
||||||
|
|
||||||
/* Height properties */
|
/* Height properties */
|
||||||
|
|
||||||
@@ -49,33 +31,15 @@ public interface YogaProps {
|
|||||||
|
|
||||||
void setHeightPercent(float percent);
|
void setHeightPercent(float percent);
|
||||||
|
|
||||||
void setHeightAuto();
|
|
||||||
|
|
||||||
void setHeightMaxContent();
|
|
||||||
|
|
||||||
void setHeightFitContent();
|
|
||||||
|
|
||||||
void setHeightStretch();
|
|
||||||
|
|
||||||
void setMinHeight(float minHeight);
|
void setMinHeight(float minHeight);
|
||||||
|
|
||||||
void setMinHeightPercent(float percent);
|
void setMinHeightPercent(float percent);
|
||||||
|
|
||||||
void setMinHeightMaxContent();
|
|
||||||
|
|
||||||
void setMinHeightFitContent();
|
|
||||||
|
|
||||||
void setMinHeightStretch();
|
|
||||||
|
|
||||||
void setMaxHeight(float maxHeight);
|
void setMaxHeight(float maxHeight);
|
||||||
|
|
||||||
void setMaxHeightPercent(float percent);
|
void setMaxHeightPercent(float percent);
|
||||||
|
|
||||||
void setMaxHeightMaxContent();
|
void setHeightAuto();
|
||||||
|
|
||||||
void setMaxHeightFitContent();
|
|
||||||
|
|
||||||
void setMaxHeightStretch();
|
|
||||||
|
|
||||||
/* Margin properties */
|
/* Margin properties */
|
||||||
|
|
||||||
@@ -117,12 +81,6 @@ public interface YogaProps {
|
|||||||
|
|
||||||
void setFlexBasis(float flexBasis);
|
void setFlexBasis(float flexBasis);
|
||||||
|
|
||||||
void setFlexBasisMaxContent();
|
|
||||||
|
|
||||||
void setFlexBasisFitContent();
|
|
||||||
|
|
||||||
void setFlexBasisStretch();
|
|
||||||
|
|
||||||
void setFlexDirection(YogaFlexDirection direction);
|
void setFlexDirection(YogaFlexDirection direction);
|
||||||
|
|
||||||
void setFlexGrow(float flexGrow);
|
void setFlexGrow(float flexGrow);
|
||||||
@@ -147,8 +105,6 @@ public interface YogaProps {
|
|||||||
|
|
||||||
void setBaselineFunction(YogaBaselineFunction yogaBaselineFunction);
|
void setBaselineFunction(YogaBaselineFunction yogaBaselineFunction);
|
||||||
|
|
||||||
void setBoxSizing(YogaBoxSizing boxSizing);
|
|
||||||
|
|
||||||
/* Getters */
|
/* Getters */
|
||||||
|
|
||||||
YogaValue getWidth();
|
YogaValue getWidth();
|
||||||
@@ -192,6 +148,4 @@ public interface YogaProps {
|
|||||||
YogaValue getPosition(YogaEdge edge);
|
YogaValue getPosition(YogaEdge edge);
|
||||||
|
|
||||||
float getBorder(YogaEdge edge);
|
float getBorder(YogaEdge edge);
|
||||||
|
|
||||||
YogaBoxSizing getBoxSizing();
|
|
||||||
}
|
}
|
||||||
|
@@ -13,10 +13,7 @@ public enum YogaUnit {
|
|||||||
UNDEFINED(0),
|
UNDEFINED(0),
|
||||||
POINT(1),
|
POINT(1),
|
||||||
PERCENT(2),
|
PERCENT(2),
|
||||||
AUTO(3),
|
AUTO(3);
|
||||||
MAX_CONTENT(4),
|
|
||||||
FIT_CONTENT(5),
|
|
||||||
STRETCH(6);
|
|
||||||
|
|
||||||
private final int mIntValue;
|
private final int mIntValue;
|
||||||
|
|
||||||
@@ -34,9 +31,6 @@ public enum YogaUnit {
|
|||||||
case 1: return POINT;
|
case 1: return POINT;
|
||||||
case 2: return PERCENT;
|
case 2: return PERCENT;
|
||||||
case 3: return AUTO;
|
case 3: return AUTO;
|
||||||
case 4: return MAX_CONTENT;
|
|
||||||
case 5: return FIT_CONTENT;
|
|
||||||
case 6: return STRETCH;
|
|
||||||
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -429,28 +429,6 @@ static void jni_YGNodeCopyStyleJNI(
|
|||||||
YGNodeStyleSet##name##Auto(_jlong2YGNodeRef(nativePointer)); \
|
YGNodeStyleSet##name##Auto(_jlong2YGNodeRef(nativePointer)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define YG_NODE_JNI_STYLE_UNIT_PROP_AUTO_INTRINSIC(name) \
|
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_AUTO(name) \
|
|
||||||
YG_NODE_JNI_STYLE_UNIT_INTRINSIC(name)
|
|
||||||
|
|
||||||
#define YG_NODE_JNI_STYLE_UNIT_PROP_INTRINSIC(name) \
|
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP(name) \
|
|
||||||
YG_NODE_JNI_STYLE_UNIT_INTRINSIC(name)
|
|
||||||
|
|
||||||
#define YG_NODE_JNI_STYLE_UNIT_INTRINSIC(name) \
|
|
||||||
static void jni_YGNodeStyleSet##name##MaxContentJNI( \
|
|
||||||
JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) { \
|
|
||||||
YGNodeStyleSet##name##MaxContent(_jlong2YGNodeRef(nativePointer)); \
|
|
||||||
} \
|
|
||||||
static void jni_YGNodeStyleSet##name##FitContentJNI( \
|
|
||||||
JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) { \
|
|
||||||
YGNodeStyleSet##name##FitContent(_jlong2YGNodeRef(nativePointer)); \
|
|
||||||
} \
|
|
||||||
static void jni_YGNodeStyleSet##name##StretchJNI( \
|
|
||||||
JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) { \
|
|
||||||
YGNodeStyleSet##name##Stretch(_jlong2YGNodeRef(nativePointer)); \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define YG_NODE_JNI_STYLE_EDGE_UNIT_PROP(name) \
|
#define YG_NODE_JNI_STYLE_EDGE_UNIT_PROP(name) \
|
||||||
static jlong jni_YGNodeStyleGet##name##JNI( \
|
static jlong jni_YGNodeStyleGet##name##JNI( \
|
||||||
JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer, jint edge) { \
|
JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer, jint edge) { \
|
||||||
@@ -482,14 +460,6 @@ static void jni_YGNodeCopyStyleJNI(
|
|||||||
static_cast<float>(value)); \
|
static_cast<float>(value)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define YG_NODE_JNI_STYLE_EDGE_UNIT_PROP_AUTO(name) \
|
|
||||||
YG_NODE_JNI_STYLE_EDGE_UNIT_PROP(name) \
|
|
||||||
static void jni_YGNodeStyleSet##name##AutoJNI( \
|
|
||||||
JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer, jint edge) { \
|
|
||||||
YGNodeStyleSet##name##Auto( \
|
|
||||||
_jlong2YGNodeRef(nativePointer), static_cast<YGEdge>(edge)); \
|
|
||||||
}
|
|
||||||
|
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGDirection, Direction);
|
YG_NODE_JNI_STYLE_PROP(jint, YGDirection, Direction);
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGFlexDirection, FlexDirection);
|
YG_NODE_JNI_STYLE_PROP(jint, YGFlexDirection, FlexDirection);
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGJustify, JustifyContent);
|
YG_NODE_JNI_STYLE_PROP(jint, YGJustify, JustifyContent);
|
||||||
@@ -497,7 +467,6 @@ YG_NODE_JNI_STYLE_PROP(jint, YGAlign, AlignItems);
|
|||||||
YG_NODE_JNI_STYLE_PROP(jint, YGAlign, AlignSelf);
|
YG_NODE_JNI_STYLE_PROP(jint, YGAlign, AlignSelf);
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGAlign, AlignContent);
|
YG_NODE_JNI_STYLE_PROP(jint, YGAlign, AlignContent);
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGPositionType, PositionType);
|
YG_NODE_JNI_STYLE_PROP(jint, YGPositionType, PositionType);
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGBoxSizing, BoxSizing);
|
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGWrap, FlexWrap);
|
YG_NODE_JNI_STYLE_PROP(jint, YGWrap, FlexWrap);
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGOverflow, Overflow);
|
YG_NODE_JNI_STYLE_PROP(jint, YGOverflow, Overflow);
|
||||||
YG_NODE_JNI_STYLE_PROP(jint, YGDisplay, Display);
|
YG_NODE_JNI_STYLE_PROP(jint, YGDisplay, Display);
|
||||||
@@ -505,15 +474,15 @@ YG_NODE_JNI_STYLE_PROP(jfloat, float, Flex);
|
|||||||
YG_NODE_JNI_STYLE_PROP(jfloat, float, FlexGrow);
|
YG_NODE_JNI_STYLE_PROP(jfloat, float, FlexGrow);
|
||||||
YG_NODE_JNI_STYLE_PROP(jfloat, float, FlexShrink);
|
YG_NODE_JNI_STYLE_PROP(jfloat, float, FlexShrink);
|
||||||
|
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_AUTO_INTRINSIC(FlexBasis);
|
YG_NODE_JNI_STYLE_UNIT_PROP_AUTO(FlexBasis);
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_AUTO_INTRINSIC(Width);
|
YG_NODE_JNI_STYLE_UNIT_PROP_AUTO(Width);
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_INTRINSIC(MinWidth);
|
YG_NODE_JNI_STYLE_UNIT_PROP(MinWidth);
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_INTRINSIC(MaxWidth);
|
YG_NODE_JNI_STYLE_UNIT_PROP(MaxWidth);
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_AUTO_INTRINSIC(Height);
|
YG_NODE_JNI_STYLE_UNIT_PROP_AUTO(Height);
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_INTRINSIC(MinHeight);
|
YG_NODE_JNI_STYLE_UNIT_PROP(MinHeight);
|
||||||
YG_NODE_JNI_STYLE_UNIT_PROP_INTRINSIC(MaxHeight);
|
YG_NODE_JNI_STYLE_UNIT_PROP(MaxHeight);
|
||||||
|
|
||||||
YG_NODE_JNI_STYLE_EDGE_UNIT_PROP_AUTO(Position);
|
YG_NODE_JNI_STYLE_EDGE_UNIT_PROP(Position);
|
||||||
|
|
||||||
static jlong jni_YGNodeStyleGetMarginJNI(
|
static jlong jni_YGNodeStyleGetMarginJNI(
|
||||||
JNIEnv* /*env*/,
|
JNIEnv* /*env*/,
|
||||||
@@ -725,13 +694,13 @@ jni_YGNodeCloneJNI(JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) {
|
|||||||
return reinterpret_cast<jlong>(clonedYogaNode);
|
return reinterpret_cast<jlong>(clonedYogaNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
static jlong jni_YGNodeStyleGetGapJNI(
|
static jfloat jni_YGNodeStyleGetGapJNI(
|
||||||
JNIEnv* /*env*/,
|
JNIEnv* /*env*/,
|
||||||
jobject /*obj*/,
|
jobject /*obj*/,
|
||||||
jlong nativePointer,
|
jlong nativePointer,
|
||||||
jint gutter) {
|
jint gutter) {
|
||||||
return YogaValue::asJavaLong(YGNodeStyleGetGap(
|
return (jfloat)YGNodeStyleGetGap(
|
||||||
_jlong2YGNodeRef(nativePointer), static_cast<YGGutter>(gutter)));
|
_jlong2YGNodeRef(nativePointer), static_cast<YGGutter>(gutter));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void jni_YGNodeStyleSetGapJNI(
|
static void jni_YGNodeStyleSetGapJNI(
|
||||||
@@ -842,12 +811,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetPositionTypeJNI",
|
{"jni_YGNodeStyleSetPositionTypeJNI",
|
||||||
"(JI)V",
|
"(JI)V",
|
||||||
(void*)jni_YGNodeStyleSetPositionTypeJNI},
|
(void*)jni_YGNodeStyleSetPositionTypeJNI},
|
||||||
{"jni_YGNodeStyleGetBoxSizingJNI",
|
|
||||||
"(J)I",
|
|
||||||
(void*)jni_YGNodeStyleGetBoxSizingJNI},
|
|
||||||
{"jni_YGNodeStyleSetBoxSizingJNI",
|
|
||||||
"(JI)V",
|
|
||||||
(void*)jni_YGNodeStyleSetBoxSizingJNI},
|
|
||||||
{"jni_YGNodeStyleGetFlexWrapJNI",
|
{"jni_YGNodeStyleGetFlexWrapJNI",
|
||||||
"(J)I",
|
"(J)I",
|
||||||
(void*)jni_YGNodeStyleGetFlexWrapJNI},
|
(void*)jni_YGNodeStyleGetFlexWrapJNI},
|
||||||
@@ -892,15 +855,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetFlexBasisAutoJNI",
|
{"jni_YGNodeStyleSetFlexBasisAutoJNI",
|
||||||
"(J)V",
|
"(J)V",
|
||||||
(void*)jni_YGNodeStyleSetFlexBasisAutoJNI},
|
(void*)jni_YGNodeStyleSetFlexBasisAutoJNI},
|
||||||
{"jni_YGNodeStyleSetFlexBasisMaxContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetFlexBasisMaxContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetFlexBasisFitContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetFlexBasisFitContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetFlexBasisStretchJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetFlexBasisStretchJNI},
|
|
||||||
{"jni_YGNodeStyleGetMarginJNI",
|
{"jni_YGNodeStyleGetMarginJNI",
|
||||||
"(JI)J",
|
"(JI)J",
|
||||||
(void*)jni_YGNodeStyleGetMarginJNI},
|
(void*)jni_YGNodeStyleGetMarginJNI},
|
||||||
@@ -937,9 +891,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetPositionPercentJNI",
|
{"jni_YGNodeStyleSetPositionPercentJNI",
|
||||||
"(JIF)V",
|
"(JIF)V",
|
||||||
(void*)jni_YGNodeStyleSetPositionPercentJNI},
|
(void*)jni_YGNodeStyleSetPositionPercentJNI},
|
||||||
{"jni_YGNodeStyleSetPositionAutoJNI",
|
|
||||||
"(JI)V",
|
|
||||||
(void*)jni_YGNodeStyleSetPositionAutoJNI},
|
|
||||||
{"jni_YGNodeStyleGetWidthJNI", "(J)J", (void*)jni_YGNodeStyleGetWidthJNI},
|
{"jni_YGNodeStyleGetWidthJNI", "(J)J", (void*)jni_YGNodeStyleGetWidthJNI},
|
||||||
{"jni_YGNodeStyleSetWidthJNI", "(JF)V", (void*)jni_YGNodeStyleSetWidthJNI},
|
{"jni_YGNodeStyleSetWidthJNI", "(JF)V", (void*)jni_YGNodeStyleSetWidthJNI},
|
||||||
{"jni_YGNodeStyleSetWidthPercentJNI",
|
{"jni_YGNodeStyleSetWidthPercentJNI",
|
||||||
@@ -948,15 +899,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetWidthAutoJNI",
|
{"jni_YGNodeStyleSetWidthAutoJNI",
|
||||||
"(J)V",
|
"(J)V",
|
||||||
(void*)jni_YGNodeStyleSetWidthAutoJNI},
|
(void*)jni_YGNodeStyleSetWidthAutoJNI},
|
||||||
{"jni_YGNodeStyleSetWidthMaxContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetWidthMaxContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetWidthFitContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetWidthFitContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetWidthStretchJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetWidthStretchJNI},
|
|
||||||
{"jni_YGNodeStyleGetHeightJNI", "(J)J", (void*)jni_YGNodeStyleGetHeightJNI},
|
{"jni_YGNodeStyleGetHeightJNI", "(J)J", (void*)jni_YGNodeStyleGetHeightJNI},
|
||||||
{"jni_YGNodeStyleSetHeightJNI",
|
{"jni_YGNodeStyleSetHeightJNI",
|
||||||
"(JF)V",
|
"(JF)V",
|
||||||
@@ -967,15 +909,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetHeightAutoJNI",
|
{"jni_YGNodeStyleSetHeightAutoJNI",
|
||||||
"(J)V",
|
"(J)V",
|
||||||
(void*)jni_YGNodeStyleSetHeightAutoJNI},
|
(void*)jni_YGNodeStyleSetHeightAutoJNI},
|
||||||
{"jni_YGNodeStyleSetHeightMaxContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetHeightMaxContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetHeightFitContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetHeightFitContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetHeightStretchJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetHeightStretchJNI},
|
|
||||||
{"jni_YGNodeStyleGetMinWidthJNI",
|
{"jni_YGNodeStyleGetMinWidthJNI",
|
||||||
"(J)J",
|
"(J)J",
|
||||||
(void*)jni_YGNodeStyleGetMinWidthJNI},
|
(void*)jni_YGNodeStyleGetMinWidthJNI},
|
||||||
@@ -985,15 +918,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetMinWidthPercentJNI",
|
{"jni_YGNodeStyleSetMinWidthPercentJNI",
|
||||||
"(JF)V",
|
"(JF)V",
|
||||||
(void*)jni_YGNodeStyleSetMinWidthPercentJNI},
|
(void*)jni_YGNodeStyleSetMinWidthPercentJNI},
|
||||||
{"jni_YGNodeStyleSetMinWidthMaxContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMinWidthMaxContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMinWidthFitContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMinWidthFitContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMinWidthStretchJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMinWidthStretchJNI},
|
|
||||||
{"jni_YGNodeStyleGetMinHeightJNI",
|
{"jni_YGNodeStyleGetMinHeightJNI",
|
||||||
"(J)J",
|
"(J)J",
|
||||||
(void*)jni_YGNodeStyleGetMinHeightJNI},
|
(void*)jni_YGNodeStyleGetMinHeightJNI},
|
||||||
@@ -1003,15 +927,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetMinHeightPercentJNI",
|
{"jni_YGNodeStyleSetMinHeightPercentJNI",
|
||||||
"(JF)V",
|
"(JF)V",
|
||||||
(void*)jni_YGNodeStyleSetMinHeightPercentJNI},
|
(void*)jni_YGNodeStyleSetMinHeightPercentJNI},
|
||||||
{"jni_YGNodeStyleSetMinHeightMaxContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMinHeightMaxContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMinHeightFitContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMinHeightFitContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMinHeightStretchJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMinHeightStretchJNI},
|
|
||||||
{"jni_YGNodeStyleGetMaxWidthJNI",
|
{"jni_YGNodeStyleGetMaxWidthJNI",
|
||||||
"(J)J",
|
"(J)J",
|
||||||
(void*)jni_YGNodeStyleGetMaxWidthJNI},
|
(void*)jni_YGNodeStyleGetMaxWidthJNI},
|
||||||
@@ -1021,15 +936,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetMaxWidthPercentJNI",
|
{"jni_YGNodeStyleSetMaxWidthPercentJNI",
|
||||||
"(JF)V",
|
"(JF)V",
|
||||||
(void*)jni_YGNodeStyleSetMaxWidthPercentJNI},
|
(void*)jni_YGNodeStyleSetMaxWidthPercentJNI},
|
||||||
{"jni_YGNodeStyleSetMaxWidthMaxContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMaxWidthMaxContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMaxWidthFitContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMaxWidthFitContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMaxWidthStretchJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMaxWidthStretchJNI},
|
|
||||||
{"jni_YGNodeStyleGetMaxHeightJNI",
|
{"jni_YGNodeStyleGetMaxHeightJNI",
|
||||||
"(J)J",
|
"(J)J",
|
||||||
(void*)jni_YGNodeStyleGetMaxHeightJNI},
|
(void*)jni_YGNodeStyleGetMaxHeightJNI},
|
||||||
@@ -1039,15 +945,6 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeStyleSetMaxHeightPercentJNI",
|
{"jni_YGNodeStyleSetMaxHeightPercentJNI",
|
||||||
"(JF)V",
|
"(JF)V",
|
||||||
(void*)jni_YGNodeStyleSetMaxHeightPercentJNI},
|
(void*)jni_YGNodeStyleSetMaxHeightPercentJNI},
|
||||||
{"jni_YGNodeStyleSetMaxHeightMaxContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMaxHeightMaxContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMaxHeightFitContentJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMaxHeightFitContentJNI},
|
|
||||||
{"jni_YGNodeStyleSetMaxHeightStretchJNI",
|
|
||||||
"(J)V",
|
|
||||||
(void*)jni_YGNodeStyleSetMaxHeightStretchJNI},
|
|
||||||
{"jni_YGNodeStyleGetAspectRatioJNI",
|
{"jni_YGNodeStyleGetAspectRatioJNI",
|
||||||
"(J)F",
|
"(J)F",
|
||||||
(void*)jni_YGNodeStyleGetAspectRatioJNI},
|
(void*)jni_YGNodeStyleGetAspectRatioJNI},
|
||||||
@@ -1057,7 +954,7 @@ static JNINativeMethod methods[] = {
|
|||||||
{"jni_YGNodeSetHasMeasureFuncJNI",
|
{"jni_YGNodeSetHasMeasureFuncJNI",
|
||||||
"(JZ)V",
|
"(JZ)V",
|
||||||
(void*)jni_YGNodeSetHasMeasureFuncJNI},
|
(void*)jni_YGNodeSetHasMeasureFuncJNI},
|
||||||
{"jni_YGNodeStyleGetGapJNI", "(JI)J", (void*)jni_YGNodeStyleGetGapJNI},
|
{"jni_YGNodeStyleGetGapJNI", "(JI)F", (void*)jni_YGNodeStyleGetGapJNI},
|
||||||
{"jni_YGNodeStyleSetGapJNI", "(JIF)V", (void*)jni_YGNodeStyleSetGapJNI},
|
{"jni_YGNodeStyleSetGapJNI", "(JIF)V", (void*)jni_YGNodeStyleSetGapJNI},
|
||||||
{"jni_YGNodeStyleSetGapPercentJNI",
|
{"jni_YGNodeStyleSetGapPercentJNI",
|
||||||
"(JIF)V",
|
"(JIF)V",
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<c4a613bef526a87ca88e3b28e1abc215>>
|
* @generated SignedSource<<3ccb0b2604c647cde1c76fc2629a3113>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAbsolutePositionTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAbsolutePositionTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGAbsolutePositionTest {
|
public class YGAbsolutePositionTest {
|
||||||
@@ -70,135 +69,6 @@ public class YGAbsolutePositionTest {
|
|||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_absolute_layout_width_height_left_auto_right() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(100f);
|
|
||||||
root.setHeight(100f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root_child0.setPositionAuto(YogaEdge.LEFT);
|
|
||||||
root_child0.setPosition(YogaEdge.RIGHT, 10f);
|
|
||||||
root_child0.setWidth(10f);
|
|
||||||
root_child0.setHeight(10f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(80f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(80f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_absolute_layout_width_height_left_right_auto() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(100f);
|
|
||||||
root.setHeight(100f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root_child0.setPosition(YogaEdge.LEFT, 10f);
|
|
||||||
root_child0.setPositionAuto(YogaEdge.RIGHT);
|
|
||||||
root_child0.setWidth(10f);
|
|
||||||
root_child0.setHeight(10f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(10f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(10f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_absolute_layout_width_height_left_auto_right_auto() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(100f);
|
|
||||||
root.setHeight(100f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root_child0.setPositionAuto(YogaEdge.LEFT);
|
|
||||||
root_child0.setPositionAuto(YogaEdge.RIGHT);
|
|
||||||
root_child0.setWidth(10f);
|
|
||||||
root_child0.setHeight(10f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(90f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void test_absolute_layout_width_height_end_bottom() {
|
public void test_absolute_layout_width_height_end_bottom() {
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
YogaConfig config = YogaConfigFactory.create();
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<cafd5a49032616243a68af66ae440904>>
|
* @generated SignedSource<<bd8a962cdd17e27c9a61363c7e25044c>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignContentTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignContentTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGAlignContentTest {
|
public class YGAlignContentTest {
|
||||||
@@ -5207,305 +5206,6 @@ public class YGAlignContentTest {
|
|||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_align_content_stretch_and_align_items_flex_end_with_flex_wrap() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setFlexDirection(YogaFlexDirection.ROW);
|
|
||||||
root.setAlignContent(YogaAlign.STRETCH);
|
|
||||||
root.setAlignItems(YogaAlign.FLEX_END);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWrap(YogaWrap.WRAP);
|
|
||||||
root.setWidth(300f);
|
|
||||||
root.setHeight(300f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setAlignSelf(YogaAlign.FLEX_START);
|
|
||||||
root_child0.setWidth(150f);
|
|
||||||
root_child0.setHeight(50f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child1 = createNode(config);
|
|
||||||
root_child1.setWidth(120f);
|
|
||||||
root_child1.setHeight(100f);
|
|
||||||
root.addChildAt(root_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child2 = createNode(config);
|
|
||||||
root_child2.setWidth(120f);
|
|
||||||
root_child2.setHeight(50f);
|
|
||||||
root.addChildAt(root_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(75f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(250f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(30f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(75f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(180f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(250f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_align_content_stretch_and_align_items_flex_start_with_flex_wrap() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setFlexDirection(YogaFlexDirection.ROW);
|
|
||||||
root.setAlignContent(YogaAlign.STRETCH);
|
|
||||||
root.setAlignItems(YogaAlign.FLEX_START);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWrap(YogaWrap.WRAP);
|
|
||||||
root.setWidth(300f);
|
|
||||||
root.setHeight(300f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setAlignSelf(YogaAlign.FLEX_END);
|
|
||||||
root_child0.setWidth(150f);
|
|
||||||
root_child0.setHeight(50f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child1 = createNode(config);
|
|
||||||
root_child1.setWidth(120f);
|
|
||||||
root_child1.setHeight(100f);
|
|
||||||
root.addChildAt(root_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child2 = createNode(config);
|
|
||||||
root_child2.setWidth(120f);
|
|
||||||
root_child2.setHeight(50f);
|
|
||||||
root.addChildAt(root_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(125f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(175f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(125f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(30f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(180f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(175f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_align_content_stretch_and_align_items_center_with_flex_wrap() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setFlexDirection(YogaFlexDirection.ROW);
|
|
||||||
root.setAlignContent(YogaAlign.STRETCH);
|
|
||||||
root.setAlignItems(YogaAlign.CENTER);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWrap(YogaWrap.WRAP);
|
|
||||||
root.setWidth(300f);
|
|
||||||
root.setHeight(300f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setAlignSelf(YogaAlign.FLEX_END);
|
|
||||||
root_child0.setWidth(150f);
|
|
||||||
root_child0.setHeight(50f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child1 = createNode(config);
|
|
||||||
root_child1.setWidth(120f);
|
|
||||||
root_child1.setHeight(100f);
|
|
||||||
root.addChildAt(root_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child2 = createNode(config);
|
|
||||||
root_child2.setWidth(120f);
|
|
||||||
root_child2.setHeight(50f);
|
|
||||||
root.addChildAt(root_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(125f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(38f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(213f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(125f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(30f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(38f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(180f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(213f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_align_content_stretch_and_align_items_stretch_with_flex_wrap() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setFlexDirection(YogaFlexDirection.ROW);
|
|
||||||
root.setAlignContent(YogaAlign.STRETCH);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWrap(YogaWrap.WRAP);
|
|
||||||
root.setWidth(300f);
|
|
||||||
root.setHeight(300f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setAlignSelf(YogaAlign.FLEX_END);
|
|
||||||
root_child0.setWidth(150f);
|
|
||||||
root_child0.setHeight(50f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child1 = createNode(config);
|
|
||||||
root_child1.setWidth(120f);
|
|
||||||
root_child1.setHeight(100f);
|
|
||||||
root.addChildAt(root_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child2 = createNode(config);
|
|
||||||
root_child2.setWidth(120f);
|
|
||||||
root_child2.setHeight(50f);
|
|
||||||
root.addChildAt(root_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(125f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(175f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(150f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(125f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(30f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(180f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(175f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(120f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
private YogaNode createNode(YogaConfig config) {
|
private YogaNode createNode(YogaConfig config) {
|
||||||
return mNodeFactory.create(config);
|
return mNodeFactory.create(config);
|
||||||
}
|
}
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<84597dd8b2c4f3aac1f21abe68f25308>>
|
* @generated SignedSource<<17eb6adbebe0409ff047a82dc3257d91>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignItemsTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignItemsTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGAlignItemsTest {
|
public class YGAlignItemsTest {
|
||||||
@@ -2293,86 +2292,6 @@ public class YGAlignItemsTest {
|
|||||||
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_align_items_non_stretch_s526008() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(400f);
|
|
||||||
root.setHeight(400f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setFlexDirection(YogaFlexDirection.ROW);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child0 = createNode(config);
|
|
||||||
root_child0_child0.setAlignItems(YogaAlign.FLEX_START);
|
|
||||||
root_child0.addChildAt(root_child0_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child0_child0 = createNode(config);
|
|
||||||
root_child0_child0.addChildAt(root_child0_child0_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child0_child0_child0 = createNode(config);
|
|
||||||
root_child0_child0_child0_child0.setHeight(10f);
|
|
||||||
root_child0_child0_child0.addChildAt(root_child0_child0_child0_child0, 0);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child0_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(400f, root_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child0_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
private YogaNode createNode(YogaConfig config) {
|
private YogaNode createNode(YogaConfig config) {
|
||||||
return mNodeFactory.create(config);
|
return mNodeFactory.create(config);
|
||||||
}
|
}
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<90c29809153285d8773124e93961ba55>>
|
* @generated SignedSource<<473604215dcf5ee686799fe2c2dc2004>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignSelfTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignSelfTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGAlignSelfTest {
|
public class YGAlignSelfTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<245b1ad71f126cebcb48b66239bbc759>>
|
* @generated SignedSource<<a6047e80a41c4f9d4de130eaba8f57c0>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAndroidNewsFeed.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAndroidNewsFeed.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGAndroidNewsFeed {
|
public class YGAndroidNewsFeed {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<37a01c67158df025b1b43b8378071746>>
|
* @generated SignedSource<<474f52d92a8fc32c66d5b5c1cc446124>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAspectRatioTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAspectRatioTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGAspectRatioTest {
|
public class YGAspectRatioTest {
|
||||||
@@ -179,46 +178,6 @@ public class YGAspectRatioTest {
|
|||||||
assertEquals(197f, root_child0_child0_child2_child0_child1.getLayoutHeight(), 0.0f);
|
assertEquals(197f, root_child0_child0_child2_child0_child1.getLayoutHeight(), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_zero_aspect_ratio_behaves_like_auto() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(300f);
|
|
||||||
root.setHeight(300f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setWidth(50f);
|
|
||||||
root_child0.setAspectRatio(0 / 1f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(300f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(250f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
private YogaNode createNode(YogaConfig config) {
|
private YogaNode createNode(YogaConfig config) {
|
||||||
return mNodeFactory.create(config);
|
return mNodeFactory.create(config);
|
||||||
}
|
}
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<d4e5fb968cdc2a3a64ddc14d21e8f867>>
|
* @generated SignedSource<<c313aae6965f21b021d2dae0af1173bf>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGBorderTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGBorderTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGBorderTest {
|
public class YGBorderTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<6a430747c0b764e9fb683f023b45391a>>
|
* @generated SignedSource<<0f79d7debf11777b10de09656cb38147>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDimensionTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDimensionTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGDimensionTest {
|
public class YGDimensionTest {
|
393
java/tests/com/facebook/yoga/YGDisplayTest.java
Normal file
393
java/tests/com/facebook/yoga/YGDisplayTest.java
Normal file
@@ -0,0 +1,393 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
* @generated SignedSource<<b1b955741beb678b9f3f72a74ad0ae50>>
|
||||||
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDisplayTest.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.facebook.yoga;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.Ignore;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.Parameterized;
|
||||||
|
|
||||||
|
@RunWith(Parameterized.class)
|
||||||
|
public class YGDisplayTest {
|
||||||
|
@Parameterized.Parameters(name = "{0}")
|
||||||
|
public static Iterable<TestParametrization.NodeFactory> nodeFactories() {
|
||||||
|
return TestParametrization.nodeFactories();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Parameterized.Parameter public TestParametrization.NodeFactory mNodeFactory;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_display_none() {
|
||||||
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
|
final YogaNode root = createNode(config);
|
||||||
|
root.setFlexDirection(YogaFlexDirection.ROW);
|
||||||
|
root.setPositionType(YogaPositionType.ABSOLUTE);
|
||||||
|
root.setWidth(100f);
|
||||||
|
root.setHeight(100f);
|
||||||
|
|
||||||
|
final YogaNode root_child0 = createNode(config);
|
||||||
|
root_child0.setFlexGrow(1f);
|
||||||
|
root.addChildAt(root_child0, 0);
|
||||||
|
|
||||||
|
final YogaNode root_child1 = createNode(config);
|
||||||
|
root_child1.setFlexGrow(1f);
|
||||||
|
root_child1.setDisplay(YogaDisplay.NONE);
|
||||||
|
root.addChildAt(root_child1, 1);
|
||||||
|
root.setDirection(YogaDirection.LTR);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
root.setDirection(YogaDirection.RTL);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_display_none_fixed_size() {
|
||||||
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
|
final YogaNode root = createNode(config);
|
||||||
|
root.setFlexDirection(YogaFlexDirection.ROW);
|
||||||
|
root.setPositionType(YogaPositionType.ABSOLUTE);
|
||||||
|
root.setWidth(100f);
|
||||||
|
root.setHeight(100f);
|
||||||
|
|
||||||
|
final YogaNode root_child0 = createNode(config);
|
||||||
|
root_child0.setFlexGrow(1f);
|
||||||
|
root.addChildAt(root_child0, 0);
|
||||||
|
|
||||||
|
final YogaNode root_child1 = createNode(config);
|
||||||
|
root_child1.setWidth(20f);
|
||||||
|
root_child1.setHeight(20f);
|
||||||
|
root_child1.setDisplay(YogaDisplay.NONE);
|
||||||
|
root.addChildAt(root_child1, 1);
|
||||||
|
root.setDirection(YogaDirection.LTR);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
root.setDirection(YogaDirection.RTL);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_display_none_with_margin() {
|
||||||
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
|
final YogaNode root = createNode(config);
|
||||||
|
root.setFlexDirection(YogaFlexDirection.ROW);
|
||||||
|
root.setPositionType(YogaPositionType.ABSOLUTE);
|
||||||
|
root.setWidth(100f);
|
||||||
|
root.setHeight(100f);
|
||||||
|
|
||||||
|
final YogaNode root_child0 = createNode(config);
|
||||||
|
root_child0.setMargin(YogaEdge.LEFT, 10f);
|
||||||
|
root_child0.setMargin(YogaEdge.TOP, 10f);
|
||||||
|
root_child0.setMargin(YogaEdge.RIGHT, 10f);
|
||||||
|
root_child0.setMargin(YogaEdge.BOTTOM, 10f);
|
||||||
|
root_child0.setWidth(20f);
|
||||||
|
root_child0.setHeight(20f);
|
||||||
|
root_child0.setDisplay(YogaDisplay.NONE);
|
||||||
|
root.addChildAt(root_child0, 0);
|
||||||
|
|
||||||
|
final YogaNode root_child1 = createNode(config);
|
||||||
|
root_child1.setFlexGrow(1f);
|
||||||
|
root.addChildAt(root_child1, 1);
|
||||||
|
root.setDirection(YogaDirection.LTR);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
root.setDirection(YogaDirection.RTL);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_display_none_with_child() {
|
||||||
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
|
final YogaNode root = createNode(config);
|
||||||
|
root.setFlexDirection(YogaFlexDirection.ROW);
|
||||||
|
root.setPositionType(YogaPositionType.ABSOLUTE);
|
||||||
|
root.setWidth(100f);
|
||||||
|
root.setHeight(100f);
|
||||||
|
|
||||||
|
final YogaNode root_child0 = createNode(config);
|
||||||
|
root_child0.setFlexGrow(1f);
|
||||||
|
root_child0.setFlexShrink(1f);
|
||||||
|
root_child0.setFlexBasisPercent(0f);
|
||||||
|
root.addChildAt(root_child0, 0);
|
||||||
|
|
||||||
|
final YogaNode root_child1 = createNode(config);
|
||||||
|
root_child1.setFlexGrow(1f);
|
||||||
|
root_child1.setFlexShrink(1f);
|
||||||
|
root_child1.setFlexBasisPercent(0f);
|
||||||
|
root_child1.setDisplay(YogaDisplay.NONE);
|
||||||
|
root.addChildAt(root_child1, 1);
|
||||||
|
|
||||||
|
final YogaNode root_child1_child0 = createNode(config);
|
||||||
|
root_child1_child0.setFlexGrow(1f);
|
||||||
|
root_child1_child0.setFlexShrink(1f);
|
||||||
|
root_child1_child0.setFlexBasisPercent(0f);
|
||||||
|
root_child1_child0.setWidth(20f);
|
||||||
|
root_child1.addChildAt(root_child1_child0, 0);
|
||||||
|
|
||||||
|
final YogaNode root_child2 = createNode(config);
|
||||||
|
root_child2.setFlexGrow(1f);
|
||||||
|
root_child2.setFlexShrink(1f);
|
||||||
|
root_child2.setFlexBasisPercent(0f);
|
||||||
|
root.addChildAt(root_child2, 2);
|
||||||
|
root.setDirection(YogaDirection.LTR);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(50f, root_child2.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child2.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
root.setDirection(YogaDirection.RTL);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(50f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child2.getLayoutHeight(), 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_display_none_with_position() {
|
||||||
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
|
final YogaNode root = createNode(config);
|
||||||
|
root.setFlexDirection(YogaFlexDirection.ROW);
|
||||||
|
root.setPositionType(YogaPositionType.ABSOLUTE);
|
||||||
|
root.setWidth(100f);
|
||||||
|
root.setHeight(100f);
|
||||||
|
|
||||||
|
final YogaNode root_child0 = createNode(config);
|
||||||
|
root_child0.setFlexGrow(1f);
|
||||||
|
root.addChildAt(root_child0, 0);
|
||||||
|
|
||||||
|
final YogaNode root_child1 = createNode(config);
|
||||||
|
root_child1.setFlexGrow(1f);
|
||||||
|
root_child1.setPosition(YogaEdge.TOP, 10f);
|
||||||
|
root_child1.setDisplay(YogaDisplay.NONE);
|
||||||
|
root.addChildAt(root_child1, 1);
|
||||||
|
root.setDirection(YogaDirection.LTR);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
root.setDirection(YogaDirection.RTL);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void test_display_none_with_position_absolute() {
|
||||||
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
|
final YogaNode root = createNode(config);
|
||||||
|
root.setPositionType(YogaPositionType.ABSOLUTE);
|
||||||
|
root.setWidth(100f);
|
||||||
|
root.setHeight(100f);
|
||||||
|
|
||||||
|
final YogaNode root_child0 = createNode(config);
|
||||||
|
root_child0.setPositionType(YogaPositionType.ABSOLUTE);
|
||||||
|
root_child0.setWidth(100f);
|
||||||
|
root_child0.setHeight(100f);
|
||||||
|
root_child0.setDisplay(YogaDisplay.NONE);
|
||||||
|
root.addChildAt(root_child0, 0);
|
||||||
|
root.setDirection(YogaDirection.LTR);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
root.setDirection(YogaDirection.RTL);
|
||||||
|
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
||||||
|
|
||||||
|
assertEquals(0f, root.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
|
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
private YogaNode createNode(YogaConfig config) {
|
||||||
|
return mNodeFactory.create(config);
|
||||||
|
}
|
||||||
|
}
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<5e698842feb033db77ff508df3f33b4a>>
|
* @generated SignedSource<<5bb2b698f40c9c95737a77fff84f7700>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGFlexDirectionTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGFlexDirectionTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGFlexDirectionTest {
|
public class YGFlexDirectionTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<a33d3aa3ed335ded287fa37f788c321c>>
|
* @generated SignedSource<<744d504e2ab572337ace7a2589bc3570>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGFlexTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGFlexTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGFlexTest {
|
public class YGFlexTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<f977e27ada480c9023d16368fae4fab2>>
|
* @generated SignedSource<<ef62c060fc074248a6d6db6c619f38d4>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGFlexWrapTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGFlexWrapTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGFlexWrapTest {
|
public class YGFlexWrapTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<feba5f3f4c830be8a570d3a4c9deb8eb>>
|
* @generated SignedSource<<bb0dd2eb7bd992caee5efdd08b65a756>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGGapTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGGapTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGGapTest {
|
public class YGGapTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<ebd50ee9980922e7e6f3beabff5375ea>>
|
* @generated SignedSource<<a4f2e216ee29aa4a703244d1e18e5c3b>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGJustifyContentTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGJustifyContentTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGJustifyContentTest {
|
public class YGJustifyContentTest {
|
||||||
@@ -1790,7 +1789,6 @@ public class YGJustifyContentTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void test_justify_content_overflow_row_reverse_space_around() {
|
public void test_justify_content_overflow_row_reverse_space_around() {
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
@@ -1820,17 +1818,17 @@ public class YGJustifyContentTest {
|
|||||||
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(80f, root_child0.getLayoutX(), 0.0f);
|
assertEquals(62f, root_child0.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(40f, root_child1.getLayoutX(), 0.0f);
|
assertEquals(22f, root_child1.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
assertEquals(-18f, root_child2.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
||||||
@@ -1843,24 +1841,23 @@ public class YGJustifyContentTest {
|
|||||||
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(-18f, root_child0.getLayoutX(), 0.0f);
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(22f, root_child1.getLayoutX(), 0.0f);
|
assertEquals(40f, root_child1.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(62f, root_child2.getLayoutX(), 0.0f);
|
assertEquals(80f, root_child2.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void test_justify_content_overflow_row_reverse_space_evenly() {
|
public void test_justify_content_overflow_row_reverse_space_evenly() {
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
YogaConfig config = YogaConfigFactory.create();
|
||||||
|
|
||||||
@@ -1890,17 +1887,17 @@ public class YGJustifyContentTest {
|
|||||||
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(80f, root_child0.getLayoutX(), 0.0f);
|
assertEquals(62f, root_child0.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(40f, root_child1.getLayoutX(), 0.0f);
|
assertEquals(22f, root_child1.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
assertEquals(-18f, root_child2.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
||||||
@@ -1913,17 +1910,17 @@ public class YGJustifyContentTest {
|
|||||||
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
assertEquals(102f, root.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(-18f, root_child0.getLayoutX(), 0.0f);
|
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child0.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(22f, root_child1.getLayoutX(), 0.0f);
|
assertEquals(40f, root_child1.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child1.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child1.getLayoutHeight(), 0.0f);
|
||||||
|
|
||||||
assertEquals(62f, root_child2.getLayoutX(), 0.0f);
|
assertEquals(80f, root_child2.getLayoutX(), 0.0f);
|
||||||
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
||||||
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
assertEquals(40f, root_child2.getLayoutWidth(), 0.0f);
|
||||||
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
assertEquals(102f, root_child2.getLayoutHeight(), 0.0f);
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<f9410af3e2849999ef3aec09cebbeef1>>
|
* @generated SignedSource<<be80692a6b8a8fee76e2060f62f9ae36>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGMarginTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGMarginTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGMarginTest {
|
public class YGMarginTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<19cdc4fc9425af726b656ef628bab8af>>
|
* @generated SignedSource<<857e5626695bb6b524eb6b609a6c7b55>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGMinMaxDimensionTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGMinMaxDimensionTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGMinMaxDimensionTest {
|
public class YGMinMaxDimensionTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<6116c0f130b77b635a6551b3204c3cf8>>
|
* @generated SignedSource<<e7b2dc11dc748322103e0c8d1196dc64>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGPaddingTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGPaddingTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGPaddingTest {
|
public class YGPaddingTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<27e18496d4ee880d9ba95ad0b2648071>>
|
* @generated SignedSource<<baefd1632c2e9c66e4c42114856aa74f>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGPercentageTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGPercentageTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGPercentageTest {
|
public class YGPercentageTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<06c18c6b3b9735644daf5b5bd0777eb8>>
|
* @generated SignedSource<<40959004b04825e4f8f58e8a6d796047>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGRoundingTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGRoundingTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGRoundingTest {
|
public class YGRoundingTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<26e773ec772f84370bc0f3f53d8221ed>>
|
* @generated SignedSource<<debde6a37b3a2ad5892a15611a2fa8ec>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGSizeOverflowTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGSizeOverflowTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGSizeOverflowTest {
|
public class YGSizeOverflowTest {
|
@@ -4,7 +4,7 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<997d12880828a3c2881898b769618b43>>
|
* @generated SignedSource<<3bbbf27ae54f7b245d6adad352761339>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGStaticPositionTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGStaticPositionTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -16,7 +16,6 @@ import org.junit.Ignore;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.junit.runners.Parameterized;
|
import org.junit.runners.Parameterized;
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
@RunWith(Parameterized.class)
|
||||||
public class YGStaticPositionTest {
|
public class YGStaticPositionTest {
|
||||||
@@ -5887,144 +5886,6 @@ public class YGStaticPositionTest {
|
|||||||
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
assertEquals(100f, root_child0.getLayoutHeight(), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_static_position_absolute_child_multiple() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setPadding(YogaEdge.LEFT, 100);
|
|
||||||
root_child0.setPadding(YogaEdge.TOP, 100);
|
|
||||||
root_child0.setPadding(YogaEdge.RIGHT, 100);
|
|
||||||
root_child0.setPadding(YogaEdge.BOTTOM, 100);
|
|
||||||
root_child0.setWidth(400f);
|
|
||||||
root_child0.setHeight(400f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child0 = createNode(config);
|
|
||||||
root_child0_child0.setPositionType(YogaPositionType.STATIC);
|
|
||||||
root_child0_child0.setWidth(100f);
|
|
||||||
root_child0_child0.setHeight(100f);
|
|
||||||
root_child0.addChildAt(root_child0_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child0_child0 = createNode(config);
|
|
||||||
root_child0_child0_child0.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root_child0_child0_child0.setWidthPercent(10f);
|
|
||||||
root_child0_child0_child0.setHeight(50f);
|
|
||||||
root_child0_child0.addChildAt(root_child0_child0_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child1 = createNode(config);
|
|
||||||
root_child0_child1.setPositionType(YogaPositionType.STATIC);
|
|
||||||
root_child0_child1.setWidth(100f);
|
|
||||||
root_child0_child1.setHeight(100f);
|
|
||||||
root_child0.addChildAt(root_child0_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child1_child0 = createNode(config);
|
|
||||||
root_child0_child1_child0.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root_child0_child1_child0.setWidthPercent(50f);
|
|
||||||
root_child0_child1_child0.setHeight(50f);
|
|
||||||
root_child0_child1.addChildAt(root_child0_child1_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child1_child1 = createNode(config);
|
|
||||||
root_child0_child1_child1.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root_child0_child1_child1.setWidthPercent(50f);
|
|
||||||
root_child0_child1_child1.setHeight(50f);
|
|
||||||
root_child0_child1.addChildAt(root_child0_child1_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child2 = createNode(config);
|
|
||||||
root_child0_child2.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root_child0_child2.setWidth(25f);
|
|
||||||
root_child0_child2.setHeight(50f);
|
|
||||||
root_child0.addChildAt(root_child0_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(400f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(100f, root_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(40f, root_child0_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(100f, root_child0_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(200f, root_child0_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child1_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child1_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(200f, root_child0_child1_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child1_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child1_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child1_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(200f, root_child0_child1_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child1_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(100f, root_child0_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(400f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(400f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(400f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(200f, root_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(60f, root_child0_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(40f, root_child0_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(200f, root_child0_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(200f, root_child0_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(-100f, root_child0_child1_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child1_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(200f, root_child0_child1_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child1_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(-100f, root_child0_child1_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child1_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(200f, root_child0_child1_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child1_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(275f, root_child0_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child0_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
private YogaNode createNode(YogaConfig config) {
|
private YogaNode createNode(YogaConfig config) {
|
||||||
return mNodeFactory.create(config);
|
return mNodeFactory.create(config);
|
||||||
}
|
}
|
@@ -1,97 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.facebook.yoga.utils;
|
|
||||||
|
|
||||||
import com.facebook.yoga.YogaMeasureMode;
|
|
||||||
import com.facebook.yoga.YogaMeasureOutput;
|
|
||||||
import com.facebook.yoga.YogaMeasureFunction;
|
|
||||||
import com.facebook.yoga.YogaNode;
|
|
||||||
import com.facebook.yoga.YogaFlexDirection;
|
|
||||||
|
|
||||||
public class TestUtils {
|
|
||||||
|
|
||||||
public static class intrinsicMeasureFunction implements YogaMeasureFunction {
|
|
||||||
|
|
||||||
private static float widthPerChar = 10;
|
|
||||||
private static float heightPerChar = 10;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public long measure(
|
|
||||||
YogaNode node,
|
|
||||||
float width,
|
|
||||||
YogaMeasureMode widthMode,
|
|
||||||
float height,
|
|
||||||
YogaMeasureMode heightMode) {
|
|
||||||
String text = (String) node.getData();
|
|
||||||
float measuredWidth;
|
|
||||||
float measuredHeight;
|
|
||||||
|
|
||||||
if (widthMode == YogaMeasureMode.EXACTLY) {
|
|
||||||
measuredWidth = width;
|
|
||||||
} else if (widthMode == YogaMeasureMode.AT_MOST) {
|
|
||||||
measuredWidth = Math.min(text.length() * widthPerChar, width);
|
|
||||||
} else {
|
|
||||||
measuredWidth = text.length() * widthPerChar;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (heightMode == YogaMeasureMode.EXACTLY) {
|
|
||||||
measuredHeight = height;
|
|
||||||
} else if (heightMode == YogaMeasureMode.AT_MOST) {
|
|
||||||
measuredHeight =
|
|
||||||
Math.min(
|
|
||||||
caclulateHeight(text, node.getFlexDirection() == YogaFlexDirection.COLUMN
|
|
||||||
? measuredWidth
|
|
||||||
: Math.max(measuredWidth, getWidestWordWidth(text))), height);
|
|
||||||
} else {
|
|
||||||
measuredHeight = caclulateHeight(text, node.getFlexDirection() == YogaFlexDirection.COLUMN
|
|
||||||
? measuredWidth
|
|
||||||
: Math.max(measuredWidth, getWidestWordWidth(text)));
|
|
||||||
}
|
|
||||||
|
|
||||||
return YogaMeasureOutput.make(measuredWidth, measuredHeight);
|
|
||||||
}
|
|
||||||
|
|
||||||
static float getWidestWordWidth(String text) {
|
|
||||||
int widestWordLength = 0;
|
|
||||||
String[] words = text.split(" ");
|
|
||||||
for (String word : words) {
|
|
||||||
int wordLength = word.length();
|
|
||||||
if (widestWordLength < wordLength) {
|
|
||||||
widestWordLength = wordLength;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (float) widestWordLength * widthPerChar;
|
|
||||||
}
|
|
||||||
|
|
||||||
static float caclulateHeight(String text, float measuredWidth) {
|
|
||||||
if (text.length() * widthPerChar <= measuredWidth) {
|
|
||||||
return heightPerChar;
|
|
||||||
}
|
|
||||||
|
|
||||||
String[] words = text.split(" ");
|
|
||||||
float lines = 1;
|
|
||||||
float currentLineLength = 0;
|
|
||||||
for (String word : words) {
|
|
||||||
float wordWidth = word.length() * widthPerChar;
|
|
||||||
if (wordWidth > measuredWidth) {
|
|
||||||
if (currentLineLength > 0) {
|
|
||||||
lines++;
|
|
||||||
}
|
|
||||||
lines++;
|
|
||||||
currentLineLength = 0;
|
|
||||||
} else if (currentLineLength + wordWidth <= measuredWidth) {
|
|
||||||
currentLineLength += wordWidth + widthPerChar;
|
|
||||||
} else {
|
|
||||||
lines++;
|
|
||||||
currentLineLength = wordWidth + widthPerChar;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return (currentLineLength == 0 ? lines - 1 : lines) * heightPerChar;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,325 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @generated SignedSource<<30103b31d09984d8443cf1ba544adeb7>>
|
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAutoTest.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.facebook.yoga;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.junit.runners.Parameterized;
|
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
|
||||||
public class YGAutoTest {
|
|
||||||
@Parameterized.Parameters(name = "{0}")
|
|
||||||
public static Iterable<TestParametrization.NodeFactory> nodeFactories() {
|
|
||||||
return TestParametrization.nodeFactories();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Parameterized.Parameter public TestParametrization.NodeFactory mNodeFactory;
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_auto_width() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setFlexDirection(YogaFlexDirection.ROW);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidthAuto();
|
|
||||||
root.setHeight(50f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setWidth(50f);
|
|
||||||
root_child0.setHeight(50f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child1 = createNode(config);
|
|
||||||
root_child1.setWidth(50f);
|
|
||||||
root_child1.setHeight(50f);
|
|
||||||
root.addChildAt(root_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child2 = createNode(config);
|
|
||||||
root_child2.setWidth(50f);
|
|
||||||
root_child2.setHeight(50f);
|
|
||||||
root.addChildAt(root_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(50f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(100f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(150f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(100f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(50f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_auto_height() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(50f);
|
|
||||||
root.setHeightAuto();
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setWidth(50f);
|
|
||||||
root_child0.setHeight(50f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child1 = createNode(config);
|
|
||||||
root_child1.setWidth(50f);
|
|
||||||
root_child1.setHeight(50f);
|
|
||||||
root.addChildAt(root_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child2 = createNode(config);
|
|
||||||
root_child2.setWidth(50f);
|
|
||||||
root_child2.setHeight(50f);
|
|
||||||
root.addChildAt(root_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(150f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(150f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_auto_flex_basis() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(50f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setWidth(50f);
|
|
||||||
root_child0.setHeight(50f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child1 = createNode(config);
|
|
||||||
root_child1.setWidth(50f);
|
|
||||||
root_child1.setHeight(50f);
|
|
||||||
root.addChildAt(root_child1, 1);
|
|
||||||
|
|
||||||
final YogaNode root_child2 = createNode(config);
|
|
||||||
root_child2.setWidth(50f);
|
|
||||||
root_child2.setHeight(50f);
|
|
||||||
root.addChildAt(root_child2, 2);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(150f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(150f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child2.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(100f, root_child2.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root_child2.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_auto_position() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(50f);
|
|
||||||
root.setHeight(50f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setPositionAuto(YogaEdge.RIGHT);
|
|
||||||
root_child0.setWidth(25f);
|
|
||||||
root_child0.setHeight(25f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(25f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_auto_margin() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(50f);
|
|
||||||
root.setHeight(50f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setMarginAuto(YogaEdge.LEFT);
|
|
||||||
root_child0.setWidth(25f);
|
|
||||||
root_child0.setHeight(25f);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(25f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(50f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(25f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(25f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
private YogaNode createNode(YogaConfig config) {
|
|
||||||
return mNodeFactory.create(config);
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@@ -1,107 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @generated SignedSource<<be0d102e74e15f15050520f21afcaee1>>
|
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDisplayContentsTest.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.facebook.yoga;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.junit.runner.RunWith;
|
|
||||||
import org.junit.runners.Parameterized;
|
|
||||||
import com.facebook.yoga.utils.TestUtils;
|
|
||||||
|
|
||||||
@RunWith(Parameterized.class)
|
|
||||||
public class YGDisplayContentsTest {
|
|
||||||
@Parameterized.Parameters(name = "{0}")
|
|
||||||
public static Iterable<TestParametrization.NodeFactory> nodeFactories() {
|
|
||||||
return TestParametrization.nodeFactories();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Parameterized.Parameter public TestParametrization.NodeFactory mNodeFactory;
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void test_test1() {
|
|
||||||
YogaConfig config = YogaConfigFactory.create();
|
|
||||||
|
|
||||||
final YogaNode root = createNode(config);
|
|
||||||
root.setFlexDirection(YogaFlexDirection.ROW);
|
|
||||||
root.setPositionType(YogaPositionType.ABSOLUTE);
|
|
||||||
root.setWidth(100f);
|
|
||||||
root.setHeight(100f);
|
|
||||||
|
|
||||||
final YogaNode root_child0 = createNode(config);
|
|
||||||
root_child0.setDisplay(YogaDisplay.CONTENTS);
|
|
||||||
root.addChildAt(root_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child0 = createNode(config);
|
|
||||||
root_child0_child0.setFlexGrow(1f);
|
|
||||||
root_child0_child0.setFlexShrink(1f);
|
|
||||||
root_child0_child0.setFlexBasisPercent(0f);
|
|
||||||
root_child0_child0.setHeight(10f);
|
|
||||||
root_child0.addChildAt(root_child0_child0, 0);
|
|
||||||
|
|
||||||
final YogaNode root_child0_child1 = createNode(config);
|
|
||||||
root_child0_child1.setFlexGrow(1f);
|
|
||||||
root_child0_child1.setFlexShrink(1f);
|
|
||||||
root_child0_child1.setFlexBasisPercent(0f);
|
|
||||||
root_child0_child1.setHeight(20f);
|
|
||||||
root_child0.addChildAt(root_child0_child1, 1);
|
|
||||||
root.setDirection(YogaDirection.LTR);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(50f, root_child0_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
root.setDirection(YogaDirection.RTL);
|
|
||||||
root.calculateLayout(YogaConstants.UNDEFINED, YogaConstants.UNDEFINED);
|
|
||||||
|
|
||||||
assertEquals(0f, root.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(100f, root.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(50f, root_child0_child0.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child0.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child0.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(10f, root_child0_child0.getLayoutHeight(), 0.0f);
|
|
||||||
|
|
||||||
assertEquals(0f, root_child0_child1.getLayoutX(), 0.0f);
|
|
||||||
assertEquals(0f, root_child0_child1.getLayoutY(), 0.0f);
|
|
||||||
assertEquals(50f, root_child0_child1.getLayoutWidth(), 0.0f);
|
|
||||||
assertEquals(20f, root_child0_child1.getLayoutHeight(), 0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
private YogaNode createNode(YogaConfig config) {
|
|
||||||
return mNodeFactory.create(config);
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@ const {
|
|||||||
const {existsSync} = require('fs');
|
const {existsSync} = require('fs');
|
||||||
const {readFile, writeFile, rm} = require('fs/promises');
|
const {readFile, writeFile, rm} = require('fs/promises');
|
||||||
|
|
||||||
const {glob} = require('glob');
|
const glob = require('glob');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const which = require('which');
|
const which = require('which');
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "yoga-layout",
|
"name": "yoga-layout",
|
||||||
"version": "0.0.0",
|
"version": "3.1.0",
|
||||||
"description": "An embeddable and performant flexbox layout engine with bindings for multiple languages",
|
"description": "An embeddable and performant flexbox layout engine with bindings for multiple languages",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": "Meta Open Source",
|
"author": "Meta Open Source",
|
||||||
@@ -38,13 +38,14 @@
|
|||||||
"@babel/core": "^7.23.0",
|
"@babel/core": "^7.23.0",
|
||||||
"@babel/preset-env": "^7.23.0",
|
"@babel/preset-env": "^7.23.0",
|
||||||
"@babel/preset-typescript": "^7.23.0",
|
"@babel/preset-typescript": "^7.23.0",
|
||||||
|
"@types/glob": "^8.1.0",
|
||||||
"@types/jest": "^29.5.1",
|
"@types/jest": "^29.5.1",
|
||||||
"@types/node": "^16.18.25",
|
"@types/node": "^16.18.25",
|
||||||
"@types/which": "^3.0.0",
|
"@types/which": "^3.0.0",
|
||||||
"@yogalayout/cmake-bin": "3.28.0-1",
|
"@yogalayout/cmake-bin": "3.28.0-1",
|
||||||
"babel-register-esm": "^1.2.5",
|
"babel-register-esm": "^1.2.5",
|
||||||
"clang-format": "^1.8.0",
|
"clang-format": "^1.8.0",
|
||||||
"glob": "^10.4.2",
|
"glob": "^8.0.3",
|
||||||
"jest": "^29.3.1",
|
"jest": "^29.3.1",
|
||||||
"just-scripts": "^2.1.0",
|
"just-scripts": "^2.1.0",
|
||||||
"ninja-binaries": "^1.11.1",
|
"ninja-binaries": "^1.11.1",
|
||||||
|
@@ -75,10 +75,6 @@ void Node::copyStyle(Node const& other) {
|
|||||||
YGNodeCopyStyle(m_node, other.m_node);
|
YGNodeCopyStyle(m_node, other.m_node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setBoxSizing(int boxSizing) {
|
|
||||||
YGNodeStyleSetBoxSizing(m_node, static_cast<YGBoxSizing>(boxSizing));
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setPositionType(int positionType) {
|
void Node::setPositionType(int positionType) {
|
||||||
YGNodeStyleSetPositionType(m_node, static_cast<YGPositionType>(positionType));
|
YGNodeStyleSetPositionType(m_node, static_cast<YGPositionType>(positionType));
|
||||||
}
|
}
|
||||||
@@ -91,10 +87,6 @@ void Node::setPositionPercent(int edge, double position) {
|
|||||||
YGNodeStyleSetPositionPercent(m_node, static_cast<YGEdge>(edge), position);
|
YGNodeStyleSetPositionPercent(m_node, static_cast<YGEdge>(edge), position);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setPositionAuto(int edge) {
|
|
||||||
YGNodeStyleSetPositionAuto(m_node, static_cast<YGEdge>(edge));
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setAlignContent(int alignContent) {
|
void Node::setAlignContent(int alignContent) {
|
||||||
YGNodeStyleSetAlignContent(m_node, static_cast<YGAlign>(alignContent));
|
YGNodeStyleSetAlignContent(m_node, static_cast<YGAlign>(alignContent));
|
||||||
}
|
}
|
||||||
@@ -160,18 +152,6 @@ void Node::setFlexBasisAuto() {
|
|||||||
YGNodeStyleSetFlexBasisAuto(m_node);
|
YGNodeStyleSetFlexBasisAuto(m_node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setFlexBasisMaxContent() {
|
|
||||||
YGNodeStyleSetFlexBasisMaxContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setFlexBasisFitContent() {
|
|
||||||
YGNodeStyleSetFlexBasisFitContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setFlexBasisStretch() {
|
|
||||||
YGNodeStyleSetFlexBasisStretch(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setFlexGrow(double flexGrow) {
|
void Node::setFlexGrow(double flexGrow) {
|
||||||
YGNodeStyleSetFlexGrow(m_node, flexGrow);
|
YGNodeStyleSetFlexGrow(m_node, flexGrow);
|
||||||
}
|
}
|
||||||
@@ -192,18 +172,6 @@ void Node::setWidthAuto() {
|
|||||||
YGNodeStyleSetWidthAuto(m_node);
|
YGNodeStyleSetWidthAuto(m_node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setWidthMaxContent() {
|
|
||||||
YGNodeStyleSetWidthMaxContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setWidthFitContent() {
|
|
||||||
YGNodeStyleSetWidthFitContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setWidthStretch() {
|
|
||||||
YGNodeStyleSetWidthStretch(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setHeight(double height) {
|
void Node::setHeight(double height) {
|
||||||
YGNodeStyleSetHeight(m_node, height);
|
YGNodeStyleSetHeight(m_node, height);
|
||||||
}
|
}
|
||||||
@@ -216,18 +184,6 @@ void Node::setHeightAuto() {
|
|||||||
YGNodeStyleSetHeightAuto(m_node);
|
YGNodeStyleSetHeightAuto(m_node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setHeightMaxContent() {
|
|
||||||
YGNodeStyleSetHeightMaxContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setHeightFitContent() {
|
|
||||||
YGNodeStyleSetHeightFitContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setHeightStretch() {
|
|
||||||
YGNodeStyleSetHeightStretch(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMinWidth(double minWidth) {
|
void Node::setMinWidth(double minWidth) {
|
||||||
YGNodeStyleSetMinWidth(m_node, minWidth);
|
YGNodeStyleSetMinWidth(m_node, minWidth);
|
||||||
}
|
}
|
||||||
@@ -236,18 +192,6 @@ void Node::setMinWidthPercent(double minWidth) {
|
|||||||
YGNodeStyleSetMinWidthPercent(m_node, minWidth);
|
YGNodeStyleSetMinWidthPercent(m_node, minWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setMinWidthMaxContent() {
|
|
||||||
YGNodeStyleSetMinWidthMaxContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMinWidthFitContent() {
|
|
||||||
YGNodeStyleSetMinWidthFitContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMinWidthStretch() {
|
|
||||||
YGNodeStyleSetMinWidthStretch(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMinHeight(double minHeight) {
|
void Node::setMinHeight(double minHeight) {
|
||||||
YGNodeStyleSetMinHeight(m_node, minHeight);
|
YGNodeStyleSetMinHeight(m_node, minHeight);
|
||||||
}
|
}
|
||||||
@@ -256,18 +200,6 @@ void Node::setMinHeightPercent(double minHeight) {
|
|||||||
YGNodeStyleSetMinHeightPercent(m_node, minHeight);
|
YGNodeStyleSetMinHeightPercent(m_node, minHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setMinHeightMaxContent() {
|
|
||||||
YGNodeStyleSetMinHeightMaxContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMinHeightFitContent() {
|
|
||||||
YGNodeStyleSetMinHeightFitContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMinHeightStretch() {
|
|
||||||
YGNodeStyleSetMinHeightStretch(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMaxWidth(double maxWidth) {
|
void Node::setMaxWidth(double maxWidth) {
|
||||||
YGNodeStyleSetMaxWidth(m_node, maxWidth);
|
YGNodeStyleSetMaxWidth(m_node, maxWidth);
|
||||||
}
|
}
|
||||||
@@ -276,18 +208,6 @@ void Node::setMaxWidthPercent(double maxWidth) {
|
|||||||
YGNodeStyleSetMaxWidthPercent(m_node, maxWidth);
|
YGNodeStyleSetMaxWidthPercent(m_node, maxWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setMaxWidthMaxContent() {
|
|
||||||
YGNodeStyleSetMaxWidthMaxContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMaxWidthFitContent() {
|
|
||||||
YGNodeStyleSetMaxWidthFitContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMaxWidthStretch() {
|
|
||||||
YGNodeStyleSetMaxWidthStretch(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMaxHeight(double maxHeight) {
|
void Node::setMaxHeight(double maxHeight) {
|
||||||
YGNodeStyleSetMaxHeight(m_node, maxHeight);
|
YGNodeStyleSetMaxHeight(m_node, maxHeight);
|
||||||
}
|
}
|
||||||
@@ -296,18 +216,6 @@ void Node::setMaxHeightPercent(double maxHeight) {
|
|||||||
YGNodeStyleSetMaxHeightPercent(m_node, maxHeight);
|
YGNodeStyleSetMaxHeightPercent(m_node, maxHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Node::setMaxHeightMaxContent() {
|
|
||||||
YGNodeStyleSetMaxHeightMaxContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMaxHeightFitContent() {
|
|
||||||
YGNodeStyleSetMaxHeightFitContent(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setMaxHeightStretch() {
|
|
||||||
YGNodeStyleSetMaxHeightStretch(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Node::setAspectRatio(double aspectRatio) {
|
void Node::setAspectRatio(double aspectRatio) {
|
||||||
YGNodeStyleSetAspectRatio(m_node, aspectRatio);
|
YGNodeStyleSetAspectRatio(m_node, aspectRatio);
|
||||||
}
|
}
|
||||||
@@ -336,10 +244,6 @@ void Node::setGapPercent(int gutter, double gapLength) {
|
|||||||
YGNodeStyleSetGapPercent(m_node, static_cast<YGGutter>(gutter), gapLength);
|
YGNodeStyleSetGapPercent(m_node, static_cast<YGGutter>(gutter), gapLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Node::getBoxSizing(void) const {
|
|
||||||
return YGNodeStyleGetBoxSizing(m_node);
|
|
||||||
}
|
|
||||||
|
|
||||||
int Node::getPositionType(void) const {
|
int Node::getPositionType(void) const {
|
||||||
return YGNodeStyleGetPositionType(m_node);
|
return YGNodeStyleGetPositionType(m_node);
|
||||||
}
|
}
|
||||||
@@ -439,9 +343,8 @@ Value Node::getPadding(int edge) const {
|
|||||||
YGNodeStyleGetPadding(m_node, static_cast<YGEdge>(edge)));
|
YGNodeStyleGetPadding(m_node, static_cast<YGEdge>(edge)));
|
||||||
}
|
}
|
||||||
|
|
||||||
Value Node::getGap(int gutter) const {
|
float Node::getGap(int gutter) {
|
||||||
return Value::fromYGValue(
|
return YGNodeStyleGetGap(m_node, static_cast<YGGutter>(gutter));
|
||||||
YGNodeStyleGetGap(m_node, static_cast<YGGutter>(gutter)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Node::isReferenceBaseline() {
|
bool Node::isReferenceBaseline() {
|
||||||
|
@@ -76,7 +76,6 @@ class Node {
|
|||||||
void setPositionType(int positionType);
|
void setPositionType(int positionType);
|
||||||
void setPosition(int edge, double position);
|
void setPosition(int edge, double position);
|
||||||
void setPositionPercent(int edge, double position);
|
void setPositionPercent(int edge, double position);
|
||||||
void setPositionAuto(int edge);
|
|
||||||
|
|
||||||
void setAlignContent(int alignContent);
|
void setAlignContent(int alignContent);
|
||||||
void setAlignItems(int alignItems);
|
void setAlignItems(int alignItems);
|
||||||
@@ -97,46 +96,25 @@ class Node {
|
|||||||
void setFlexBasis(double flexBasis);
|
void setFlexBasis(double flexBasis);
|
||||||
void setFlexBasisPercent(double flexBasis);
|
void setFlexBasisPercent(double flexBasis);
|
||||||
void setFlexBasisAuto();
|
void setFlexBasisAuto();
|
||||||
void setFlexBasisMaxContent();
|
|
||||||
void setFlexBasisFitContent();
|
|
||||||
void setFlexBasisStretch();
|
|
||||||
void setFlexGrow(double flexGrow);
|
void setFlexGrow(double flexGrow);
|
||||||
void setFlexShrink(double flexShrink);
|
void setFlexShrink(double flexShrink);
|
||||||
|
|
||||||
void setWidth(double width);
|
void setWidth(double width);
|
||||||
void setWidthPercent(double width);
|
void setWidthPercent(double width);
|
||||||
void setWidthAuto();
|
void setWidthAuto();
|
||||||
void setWidthMaxContent();
|
|
||||||
void setWidthFitContent();
|
|
||||||
void setWidthStretch();
|
|
||||||
void setHeight(double height);
|
void setHeight(double height);
|
||||||
void setHeightPercent(double height);
|
void setHeightPercent(double height);
|
||||||
void setHeightAuto();
|
void setHeightAuto();
|
||||||
void setHeightMaxContent();
|
|
||||||
void setHeightFitContent();
|
|
||||||
void setHeightStretch();
|
|
||||||
|
|
||||||
void setMinWidth(double minWidth);
|
void setMinWidth(double minWidth);
|
||||||
void setMinWidthPercent(double minWidth);
|
void setMinWidthPercent(double minWidth);
|
||||||
void setMinWidthMaxContent();
|
|
||||||
void setMinWidthFitContent();
|
|
||||||
void setMinWidthStretch();
|
|
||||||
void setMinHeight(double minHeight);
|
void setMinHeight(double minHeight);
|
||||||
void setMinHeightPercent(double minHeight);
|
void setMinHeightPercent(double minHeight);
|
||||||
void setMinHeightMaxContent();
|
|
||||||
void setMinHeightFitContent();
|
|
||||||
void setMinHeightStretch();
|
|
||||||
|
|
||||||
void setMaxWidth(double maxWidth);
|
void setMaxWidth(double maxWidth);
|
||||||
void setMaxWidthPercent(double maxWidth);
|
void setMaxWidthPercent(double maxWidth);
|
||||||
void setMaxWidthMaxContent();
|
|
||||||
void setMaxWidthFitContent();
|
|
||||||
void setMaxWidthStretch();
|
|
||||||
void setMaxHeight(double maxHeight);
|
void setMaxHeight(double maxHeight);
|
||||||
void setMaxHeightPercent(double maxHeight);
|
void setMaxHeightPercent(double maxHeight);
|
||||||
void setMaxHeightMaxContent();
|
|
||||||
void setMaxHeightFitContent();
|
|
||||||
void setMaxHeightStretch();
|
|
||||||
|
|
||||||
void setAspectRatio(double aspectRatio);
|
void setAspectRatio(double aspectRatio);
|
||||||
|
|
||||||
@@ -148,8 +126,6 @@ class Node {
|
|||||||
void setGap(int gutter, double gapLength);
|
void setGap(int gutter, double gapLength);
|
||||||
void setGapPercent(int gutter, double gapLength);
|
void setGapPercent(int gutter, double gapLength);
|
||||||
|
|
||||||
void setBoxSizing(int boxSizing);
|
|
||||||
|
|
||||||
public: // Style getters
|
public: // Style getters
|
||||||
int getPositionType(void) const;
|
int getPositionType(void) const;
|
||||||
Value getPosition(int edge) const;
|
Value getPosition(int edge) const;
|
||||||
@@ -186,9 +162,7 @@ class Node {
|
|||||||
|
|
||||||
Value getPadding(int edge) const;
|
Value getPadding(int edge) const;
|
||||||
|
|
||||||
Value getGap(int gutter) const;
|
float getGap(int gutter);
|
||||||
|
|
||||||
int getBoxSizing(void) const;
|
|
||||||
|
|
||||||
public: // Tree hierarchy mutators
|
public: // Tree hierarchy mutators
|
||||||
void insertChild(Node* child, unsigned index);
|
void insertChild(Node* child, unsigned index);
|
||||||
|
@@ -70,7 +70,6 @@ EMSCRIPTEN_BINDINGS(YOGA_LAYOUT) {
|
|||||||
.function("setPositionType", &Node::setPositionType)
|
.function("setPositionType", &Node::setPositionType)
|
||||||
.function("setPosition", &Node::setPosition)
|
.function("setPosition", &Node::setPosition)
|
||||||
.function("setPositionPercent", &Node::setPositionPercent)
|
.function("setPositionPercent", &Node::setPositionPercent)
|
||||||
.function("setPositionAuto", &Node::setPositionAuto)
|
|
||||||
|
|
||||||
.function("setAlignContent", &Node::setAlignContent)
|
.function("setAlignContent", &Node::setAlignContent)
|
||||||
.function("setAlignItems", &Node::setAlignItems)
|
.function("setAlignItems", &Node::setAlignItems)
|
||||||
@@ -90,48 +89,25 @@ EMSCRIPTEN_BINDINGS(YOGA_LAYOUT) {
|
|||||||
.function("setFlexBasis", &Node::setFlexBasis)
|
.function("setFlexBasis", &Node::setFlexBasis)
|
||||||
.function("setFlexBasisPercent", &Node::setFlexBasisPercent)
|
.function("setFlexBasisPercent", &Node::setFlexBasisPercent)
|
||||||
.function("setFlexBasisAuto", &Node::setFlexBasisAuto)
|
.function("setFlexBasisAuto", &Node::setFlexBasisAuto)
|
||||||
.function("setFlexBasisMaxContent", &Node::setFlexBasisMaxContent)
|
|
||||||
.function("setFlexBasisFitContent", &Node::setFlexBasisFitContent)
|
|
||||||
.function("setFlexBasisStretch", &Node::setFlexBasisStretch)
|
|
||||||
.function("setFlexGrow", &Node::setFlexGrow)
|
.function("setFlexGrow", &Node::setFlexGrow)
|
||||||
.function("setFlexShrink", &Node::setFlexShrink)
|
.function("setFlexShrink", &Node::setFlexShrink)
|
||||||
|
|
||||||
.function("setWidth", &Node::setWidth)
|
.function("setWidth", &Node::setWidth)
|
||||||
.function("setWidthPercent", &Node::setWidthPercent)
|
.function("setWidthPercent", &Node::setWidthPercent)
|
||||||
.function("setWidthAuto", &Node::setWidthAuto)
|
.function("setWidthAuto", &Node::setWidthAuto)
|
||||||
.function("setWidthMaxContent", &Node::setWidthMaxContent)
|
|
||||||
.function("setWidthFitContent", &Node::setWidthFitContent)
|
|
||||||
.function("setWidthStretch", &Node::setWidthStretch)
|
|
||||||
.function("setHeight", &Node::setHeight)
|
.function("setHeight", &Node::setHeight)
|
||||||
.function("setHeightPercent", &Node::setHeightPercent)
|
.function("setHeightPercent", &Node::setHeightPercent)
|
||||||
.function("setHeightAuto", &Node::setHeightAuto)
|
.function("setHeightAuto", &Node::setHeightAuto)
|
||||||
.function("setHeightMaxContent", &Node::setHeightMaxContent)
|
|
||||||
.function("setHeightFitContent", &Node::setHeightFitContent)
|
|
||||||
.function("setHeightStretch", &Node::setHeightStretch)
|
|
||||||
|
|
||||||
.function("setMinWidth", &Node::setMinWidth)
|
.function("setMinWidth", &Node::setMinWidth)
|
||||||
.function("setMinWidthPercent", &Node::setMinWidthPercent)
|
.function("setMinWidthPercent", &Node::setMinWidthPercent)
|
||||||
.function("setMinWidthMaxContent", &Node::setMinWidthMaxContent)
|
|
||||||
.function("setMinWidthFitContent", &Node::setMinWidthFitContent)
|
|
||||||
.function("setMinWidthStretch", &Node::setMinWidthStretch)
|
|
||||||
.function("setMinHeight", &Node::setMinHeight)
|
.function("setMinHeight", &Node::setMinHeight)
|
||||||
.function("setMinHeightPercent", &Node::setMinHeightPercent)
|
.function("setMinHeightPercent", &Node::setMinHeightPercent)
|
||||||
.function("setMinHeightMaxContent", &Node::setMinHeightMaxContent)
|
|
||||||
.function("setMinHeightFitContent", &Node::setMinHeightFitContent)
|
|
||||||
.function("setMinHeightStretch", &Node::setMinHeightStretch)
|
|
||||||
|
|
||||||
.function("setMaxWidth", &Node::setMaxWidth)
|
.function("setMaxWidth", &Node::setMaxWidth)
|
||||||
.function("setMaxWidthPercent", &Node::setMaxWidthPercent)
|
.function("setMaxWidthPercent", &Node::setMaxWidthPercent)
|
||||||
.function("setMaxWidthMaxContent", &Node::setMaxWidthMaxContent)
|
|
||||||
.function("setMaxWidthFitContent", &Node::setMaxWidthFitContent)
|
|
||||||
.function("setMaxWidthStretch", &Node::setMaxWidthStretch)
|
|
||||||
.function("setMaxHeight", &Node::setMaxHeight)
|
.function("setMaxHeight", &Node::setMaxHeight)
|
||||||
.function("setMaxHeightPercent", &Node::setMaxHeightPercent)
|
.function("setMaxHeightPercent", &Node::setMaxHeightPercent)
|
||||||
.function("setMaxHeightMaxContent", &Node::setMaxHeightMaxContent)
|
|
||||||
.function("setMaxHeightFitContent", &Node::setMaxHeightFitContent)
|
|
||||||
.function("setMaxHeightStretch", &Node::setMaxHeightStretch)
|
|
||||||
|
|
||||||
.function("setBoxSizing", &Node::setBoxSizing)
|
|
||||||
|
|
||||||
.function("setAspectRatio", &Node::setAspectRatio)
|
.function("setAspectRatio", &Node::setAspectRatio)
|
||||||
|
|
||||||
@@ -169,8 +145,6 @@ EMSCRIPTEN_BINDINGS(YOGA_LAYOUT) {
|
|||||||
.function("getMaxWidth", &Node::getMaxWidth)
|
.function("getMaxWidth", &Node::getMaxWidth)
|
||||||
.function("getMaxHeight", &Node::getMaxHeight)
|
.function("getMaxHeight", &Node::getMaxHeight)
|
||||||
|
|
||||||
.function("getBoxSizing", &Node::getBoxSizing)
|
|
||||||
|
|
||||||
.function("getAspectRatio", &Node::getAspectRatio)
|
.function("getAspectRatio", &Node::getAspectRatio)
|
||||||
|
|
||||||
.function("getBorder", &Node::getBorder)
|
.function("getBorder", &Node::getBorder)
|
||||||
|
@@ -19,11 +19,6 @@ export enum Align {
|
|||||||
SpaceEvenly = 8,
|
SpaceEvenly = 8,
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum BoxSizing {
|
|
||||||
BorderBox = 0,
|
|
||||||
ContentBox = 1,
|
|
||||||
}
|
|
||||||
|
|
||||||
export enum Dimension {
|
export enum Dimension {
|
||||||
Width = 0,
|
Width = 0,
|
||||||
Height = 1,
|
Height = 1,
|
||||||
@@ -38,7 +33,6 @@ export enum Direction {
|
|||||||
export enum Display {
|
export enum Display {
|
||||||
Flex = 0,
|
Flex = 0,
|
||||||
None = 1,
|
None = 1,
|
||||||
Contents = 2,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum Edge {
|
export enum Edge {
|
||||||
@@ -56,7 +50,7 @@ export enum Edge {
|
|||||||
export enum Errata {
|
export enum Errata {
|
||||||
None = 0,
|
None = 0,
|
||||||
StretchFlexBasis = 1,
|
StretchFlexBasis = 1,
|
||||||
AbsolutePositionWithoutInsetsExcludesPadding = 2,
|
AbsolutePositioningIncorrect = 2,
|
||||||
AbsolutePercentAgainstInnerSize = 4,
|
AbsolutePercentAgainstInnerSize = 4,
|
||||||
All = 2147483647,
|
All = 2147483647,
|
||||||
Classic = 2147483646,
|
Classic = 2147483646,
|
||||||
@@ -125,9 +119,6 @@ export enum Unit {
|
|||||||
Point = 1,
|
Point = 1,
|
||||||
Percent = 2,
|
Percent = 2,
|
||||||
Auto = 3,
|
Auto = 3,
|
||||||
MaxContent = 4,
|
|
||||||
FitContent = 5,
|
|
||||||
Stretch = 6,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export enum Wrap {
|
export enum Wrap {
|
||||||
@@ -146,8 +137,6 @@ const constants = {
|
|||||||
ALIGN_SPACE_BETWEEN: Align.SpaceBetween,
|
ALIGN_SPACE_BETWEEN: Align.SpaceBetween,
|
||||||
ALIGN_SPACE_AROUND: Align.SpaceAround,
|
ALIGN_SPACE_AROUND: Align.SpaceAround,
|
||||||
ALIGN_SPACE_EVENLY: Align.SpaceEvenly,
|
ALIGN_SPACE_EVENLY: Align.SpaceEvenly,
|
||||||
BOX_SIZING_BORDER_BOX: BoxSizing.BorderBox,
|
|
||||||
BOX_SIZING_CONTENT_BOX: BoxSizing.ContentBox,
|
|
||||||
DIMENSION_WIDTH: Dimension.Width,
|
DIMENSION_WIDTH: Dimension.Width,
|
||||||
DIMENSION_HEIGHT: Dimension.Height,
|
DIMENSION_HEIGHT: Dimension.Height,
|
||||||
DIRECTION_INHERIT: Direction.Inherit,
|
DIRECTION_INHERIT: Direction.Inherit,
|
||||||
@@ -155,7 +144,6 @@ const constants = {
|
|||||||
DIRECTION_RTL: Direction.RTL,
|
DIRECTION_RTL: Direction.RTL,
|
||||||
DISPLAY_FLEX: Display.Flex,
|
DISPLAY_FLEX: Display.Flex,
|
||||||
DISPLAY_NONE: Display.None,
|
DISPLAY_NONE: Display.None,
|
||||||
DISPLAY_CONTENTS: Display.Contents,
|
|
||||||
EDGE_LEFT: Edge.Left,
|
EDGE_LEFT: Edge.Left,
|
||||||
EDGE_TOP: Edge.Top,
|
EDGE_TOP: Edge.Top,
|
||||||
EDGE_RIGHT: Edge.Right,
|
EDGE_RIGHT: Edge.Right,
|
||||||
@@ -167,7 +155,7 @@ const constants = {
|
|||||||
EDGE_ALL: Edge.All,
|
EDGE_ALL: Edge.All,
|
||||||
ERRATA_NONE: Errata.None,
|
ERRATA_NONE: Errata.None,
|
||||||
ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis,
|
ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis,
|
||||||
ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING: Errata.AbsolutePositionWithoutInsetsExcludesPadding,
|
ERRATA_ABSOLUTE_POSITIONING_INCORRECT: Errata.AbsolutePositioningIncorrect,
|
||||||
ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE: Errata.AbsolutePercentAgainstInnerSize,
|
ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE: Errata.AbsolutePercentAgainstInnerSize,
|
||||||
ERRATA_ALL: Errata.All,
|
ERRATA_ALL: Errata.All,
|
||||||
ERRATA_CLASSIC: Errata.Classic,
|
ERRATA_CLASSIC: Errata.Classic,
|
||||||
@@ -206,9 +194,6 @@ const constants = {
|
|||||||
UNIT_POINT: Unit.Point,
|
UNIT_POINT: Unit.Point,
|
||||||
UNIT_PERCENT: Unit.Percent,
|
UNIT_PERCENT: Unit.Percent,
|
||||||
UNIT_AUTO: Unit.Auto,
|
UNIT_AUTO: Unit.Auto,
|
||||||
UNIT_MAX_CONTENT: Unit.MaxContent,
|
|
||||||
UNIT_FIT_CONTENT: Unit.FitContent,
|
|
||||||
UNIT_STRETCH: Unit.Stretch,
|
|
||||||
WRAP_NO_WRAP: Wrap.NoWrap,
|
WRAP_NO_WRAP: Wrap.NoWrap,
|
||||||
WRAP_WRAP: Wrap.Wrap,
|
WRAP_WRAP: Wrap.Wrap,
|
||||||
WRAP_WRAP_REVERSE: Wrap.WrapReverse,
|
WRAP_WRAP_REVERSE: Wrap.WrapReverse,
|
||||||
|
@@ -14,7 +14,6 @@ import YGEnums from './generated/YGEnums.ts';
|
|||||||
|
|
||||||
import type {
|
import type {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
Errata,
|
Errata,
|
||||||
@@ -116,7 +115,6 @@ export type Node = {
|
|||||||
getParent(): Node | null;
|
getParent(): Node | null;
|
||||||
getPosition(edge: Edge): Value;
|
getPosition(edge: Edge): Value;
|
||||||
getPositionType(): PositionType;
|
getPositionType(): PositionType;
|
||||||
getBoxSizing(): BoxSizing;
|
|
||||||
getWidth(): Value;
|
getWidth(): Value;
|
||||||
insertChild(child: Node, index: number): void;
|
insertChild(child: Node, index: number): void;
|
||||||
isDirty(): boolean;
|
isDirty(): boolean;
|
||||||
@@ -134,41 +132,17 @@ export type Node = {
|
|||||||
setDirection(direction: Direction): void;
|
setDirection(direction: Direction): void;
|
||||||
setDisplay(display: Display): void;
|
setDisplay(display: Display): void;
|
||||||
setFlex(flex: number | undefined): void;
|
setFlex(flex: number | undefined): void;
|
||||||
setFlexBasis(
|
setFlexBasis(flexBasis: number | 'auto' | `${number}%` | undefined): void;
|
||||||
flexBasis:
|
|
||||||
| number
|
|
||||||
| 'auto'
|
|
||||||
| 'fit-content'
|
|
||||||
| 'max-content'
|
|
||||||
| 'stretch'
|
|
||||||
| `${number}%`
|
|
||||||
| undefined,
|
|
||||||
): void;
|
|
||||||
setFlexBasisPercent(flexBasis: number | undefined): void;
|
setFlexBasisPercent(flexBasis: number | undefined): void;
|
||||||
setFlexBasisAuto(): void;
|
setFlexBasisAuto(): void;
|
||||||
setFlexBasisFitContent(): void;
|
|
||||||
setFlexBasisMaxContent(): void;
|
|
||||||
setFlexBasisStretch(): void;
|
|
||||||
setFlexDirection(flexDirection: FlexDirection): void;
|
setFlexDirection(flexDirection: FlexDirection): void;
|
||||||
setFlexGrow(flexGrow: number | undefined): void;
|
setFlexGrow(flexGrow: number | undefined): void;
|
||||||
setFlexShrink(flexShrink: number | undefined): void;
|
setFlexShrink(flexShrink: number | undefined): void;
|
||||||
setFlexWrap(flexWrap: Wrap): void;
|
setFlexWrap(flexWrap: Wrap): void;
|
||||||
setHeight(
|
setHeight(height: number | 'auto' | `${number}%` | undefined): void;
|
||||||
height:
|
|
||||||
| number
|
|
||||||
| 'auto'
|
|
||||||
| 'fit-content'
|
|
||||||
| 'max-content'
|
|
||||||
| 'stretch'
|
|
||||||
| `${number}%`
|
|
||||||
| undefined,
|
|
||||||
): void;
|
|
||||||
setIsReferenceBaseline(isReferenceBaseline: boolean): void;
|
setIsReferenceBaseline(isReferenceBaseline: boolean): void;
|
||||||
setHeightAuto(): void;
|
setHeightAuto(): void;
|
||||||
setHeightFitContent(): void;
|
|
||||||
setHeightMaxContent(): void;
|
|
||||||
setHeightPercent(height: number | undefined): void;
|
setHeightPercent(height: number | undefined): void;
|
||||||
setHeightStretch(): void;
|
|
||||||
setJustifyContent(justifyContent: Justify): void;
|
setJustifyContent(justifyContent: Justify): void;
|
||||||
setGap(gutter: Gutter, gapLength: number | `${number}%` | undefined): Value;
|
setGap(gutter: Gutter, gapLength: number | `${number}%` | undefined): Value;
|
||||||
setGapPercent(gutter: Gutter, gapLength: number | undefined): Value;
|
setGapPercent(gutter: Gutter, gapLength: number | undefined): Value;
|
||||||
@@ -178,83 +152,25 @@ export type Node = {
|
|||||||
): void;
|
): void;
|
||||||
setMarginAuto(edge: Edge): void;
|
setMarginAuto(edge: Edge): void;
|
||||||
setMarginPercent(edge: Edge, margin: number | undefined): void;
|
setMarginPercent(edge: Edge, margin: number | undefined): void;
|
||||||
setMaxHeight(
|
setMaxHeight(maxHeight: number | `${number}%` | undefined): void;
|
||||||
maxHeight:
|
|
||||||
| number
|
|
||||||
| 'fit-content'
|
|
||||||
| 'max-content'
|
|
||||||
| 'stretch'
|
|
||||||
| `${number}%`
|
|
||||||
| undefined,
|
|
||||||
): void;
|
|
||||||
setMaxHeightFitContent(): void;
|
|
||||||
setMaxHeightMaxContent(): void;
|
|
||||||
setMaxHeightPercent(maxHeight: number | undefined): void;
|
setMaxHeightPercent(maxHeight: number | undefined): void;
|
||||||
setMaxHeightStretch(): void;
|
setMaxWidth(maxWidth: number | `${number}%` | undefined): void;
|
||||||
setMaxWidth(
|
|
||||||
maxWidth:
|
|
||||||
| number
|
|
||||||
| 'fit-content'
|
|
||||||
| 'max-content'
|
|
||||||
| 'stretch'
|
|
||||||
| `${number}%`
|
|
||||||
| undefined,
|
|
||||||
): void;
|
|
||||||
setMaxWidthFitContent(): void;
|
|
||||||
setMaxWidthMaxContent(): void;
|
|
||||||
setMaxWidthPercent(maxWidth: number | undefined): void;
|
setMaxWidthPercent(maxWidth: number | undefined): void;
|
||||||
setMaxWidthStretch(): void;
|
|
||||||
setDirtiedFunc(dirtiedFunc: DirtiedFunction | null): void;
|
setDirtiedFunc(dirtiedFunc: DirtiedFunction | null): void;
|
||||||
setMeasureFunc(measureFunc: MeasureFunction | null): void;
|
setMeasureFunc(measureFunc: MeasureFunction | null): void;
|
||||||
setMinHeight(
|
setMinHeight(minHeight: number | `${number}%` | undefined): void;
|
||||||
minHeight:
|
|
||||||
| number
|
|
||||||
| 'fit-content'
|
|
||||||
| 'max-content'
|
|
||||||
| 'stretch'
|
|
||||||
| `${number}%`
|
|
||||||
| undefined,
|
|
||||||
): void;
|
|
||||||
setMinHeightFitContent(): void;
|
|
||||||
setMinHeightMaxContent(): void;
|
|
||||||
setMinHeightPercent(minHeight: number | undefined): void;
|
setMinHeightPercent(minHeight: number | undefined): void;
|
||||||
setMinHeightStretch(): void;
|
setMinWidth(minWidth: number | `${number}%` | undefined): void;
|
||||||
setMinWidth(
|
|
||||||
minWidth:
|
|
||||||
| number
|
|
||||||
| 'fit-content'
|
|
||||||
| 'max-content'
|
|
||||||
| 'stretch'
|
|
||||||
| `${number}%`
|
|
||||||
| undefined,
|
|
||||||
): void;
|
|
||||||
setMinWidthFitContent(): void;
|
|
||||||
setMinWidthMaxContent(): void;
|
|
||||||
setMinWidthPercent(minWidth: number | undefined): void;
|
setMinWidthPercent(minWidth: number | undefined): void;
|
||||||
setMinWidthStretch(): void;
|
|
||||||
setOverflow(overflow: Overflow): void;
|
setOverflow(overflow: Overflow): void;
|
||||||
setPadding(edge: Edge, padding: number | `${number}%` | undefined): void;
|
setPadding(edge: Edge, padding: number | `${number}%` | undefined): void;
|
||||||
setPaddingPercent(edge: Edge, padding: number | undefined): void;
|
setPaddingPercent(edge: Edge, padding: number | undefined): void;
|
||||||
setPosition(edge: Edge, position: number | `${number}%` | undefined): void;
|
setPosition(edge: Edge, position: number | `${number}%` | undefined): void;
|
||||||
setPositionPercent(edge: Edge, position: number | undefined): void;
|
setPositionPercent(edge: Edge, position: number | undefined): void;
|
||||||
setPositionType(positionType: PositionType): void;
|
setPositionType(positionType: PositionType): void;
|
||||||
setPositionAuto(edge: Edge): void;
|
setWidth(width: number | 'auto' | `${number}%` | undefined): void;
|
||||||
setBoxSizing(boxSizing: BoxSizing): void;
|
|
||||||
setWidth(
|
|
||||||
width:
|
|
||||||
| number
|
|
||||||
| 'auto'
|
|
||||||
| 'fit-content'
|
|
||||||
| 'max-content'
|
|
||||||
| 'stretch'
|
|
||||||
| `${number}%`
|
|
||||||
| undefined,
|
|
||||||
): void;
|
|
||||||
setWidthAuto(): void;
|
setWidthAuto(): void;
|
||||||
setWidthFitContent(): void;
|
|
||||||
setWidthMaxContent(): void;
|
|
||||||
setWidthPercent(width: number | undefined): void;
|
setWidthPercent(width: number | undefined): void;
|
||||||
setWidthStretch(): void;
|
|
||||||
unsetDirtiedFunc(): void;
|
unsetDirtiedFunc(): void;
|
||||||
unsetMeasureFunc(): void;
|
unsetMeasureFunc(): void;
|
||||||
setAlwaysFormsContainingBlock(alwaysFormsContainingBlock: boolean): void;
|
setAlwaysFormsContainingBlock(alwaysFormsContainingBlock: boolean): void;
|
||||||
@@ -300,9 +216,6 @@ export default function wrapAssembly(lib: any): Yoga {
|
|||||||
[Unit.Point]: lib.Node.prototype[fnName],
|
[Unit.Point]: lib.Node.prototype[fnName],
|
||||||
[Unit.Percent]: lib.Node.prototype[`${fnName}Percent`],
|
[Unit.Percent]: lib.Node.prototype[`${fnName}Percent`],
|
||||||
[Unit.Auto]: lib.Node.prototype[`${fnName}Auto`],
|
[Unit.Auto]: lib.Node.prototype[`${fnName}Auto`],
|
||||||
[Unit.MaxContent]: lib.Node.prototype[`${fnName}MaxContent`],
|
|
||||||
[Unit.FitContent]: lib.Node.prototype[`${fnName}FitContent`],
|
|
||||||
[Unit.Stretch]: lib.Node.prototype[`${fnName}Stretch`],
|
|
||||||
};
|
};
|
||||||
|
|
||||||
patch(lib.Node.prototype, fnName, function (original, ...args) {
|
patch(lib.Node.prototype, fnName, function (original, ...args) {
|
||||||
@@ -315,15 +228,6 @@ export default function wrapAssembly(lib: any): Yoga {
|
|||||||
if (value === 'auto') {
|
if (value === 'auto') {
|
||||||
unit = Unit.Auto;
|
unit = Unit.Auto;
|
||||||
asNumber = undefined;
|
asNumber = undefined;
|
||||||
} else if (value == 'max-content') {
|
|
||||||
unit = Unit.MaxContent;
|
|
||||||
asNumber = undefined;
|
|
||||||
} else if (value == 'fit-content') {
|
|
||||||
unit = Unit.FitContent;
|
|
||||||
asNumber = undefined;
|
|
||||||
} else if (value == 'stretch') {
|
|
||||||
unit = Unit.Stretch;
|
|
||||||
asNumber = undefined;
|
|
||||||
} else if (typeof value === 'object') {
|
} else if (typeof value === 'object') {
|
||||||
unit = value.unit;
|
unit = value.unit;
|
||||||
asNumber = value.valueOf();
|
asNumber = value.valueOf();
|
||||||
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<9deb466dfc94bb340137a9e6b5d5c63d>>
|
* @generated SignedSource<<9c27293180ef7ffd5b683046588f9dd7>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAbsolutePositionTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAbsolutePositionTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
@@ -76,150 +74,6 @@ test('absolute_layout_width_height_start_top', () => {
|
|||||||
config.free();
|
config.free();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
test('absolute_layout_width_height_left_auto_right', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setPositionType(PositionType.Absolute);
|
|
||||||
root_child0.setPositionAuto(Edge.Left);
|
|
||||||
root_child0.setPosition(Edge.Right, 10);
|
|
||||||
root_child0.setWidth(10);
|
|
||||||
root_child0.setHeight(10);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(80);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(10);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(80);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(10);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('absolute_layout_width_height_left_right_auto', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setPositionType(PositionType.Absolute);
|
|
||||||
root_child0.setPosition(Edge.Left, 10);
|
|
||||||
root_child0.setPositionAuto(Edge.Right);
|
|
||||||
root_child0.setWidth(10);
|
|
||||||
root_child0.setHeight(10);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(10);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(10);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(10);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(10);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('absolute_layout_width_height_left_auto_right_auto', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setPositionType(PositionType.Absolute);
|
|
||||||
root_child0.setPositionAuto(Edge.Left);
|
|
||||||
root_child0.setPositionAuto(Edge.Right);
|
|
||||||
root_child0.setWidth(10);
|
|
||||||
root_child0.setHeight(10);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(10);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(90);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(10);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('absolute_layout_width_height_end_bottom', () => {
|
test('absolute_layout_width_height_end_bottom', () => {
|
||||||
const config = Yoga.Config.create();
|
const config = Yoga.Config.create();
|
||||||
let root;
|
let root;
|
||||||
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<ae2a56d91c60e30ea10b12d6d143ff73>>
|
* @generated SignedSource<<a74026bab03aecc7776f5dbb34f233a1>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignContentTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignContentTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
@@ -5508,322 +5506,3 @@ test('align_content_space_evenly_stretch_does_influence_line_box_dim', () => {
|
|||||||
config.free();
|
config.free();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
test('align_content_stretch_and_align_items_flex_end_with_flex_wrap', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setAlignContent(Align.Stretch);
|
|
||||||
root.setAlignItems(Align.FlexEnd);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setFlexWrap(Wrap.Wrap);
|
|
||||||
root.setWidth(300);
|
|
||||||
root.setHeight(300);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setAlignSelf(Align.FlexStart);
|
|
||||||
root_child0.setWidth(150);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setWidth(120);
|
|
||||||
root_child1.setHeight(100);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setWidth(120);
|
|
||||||
root_child2.setHeight(50);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(75);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(250);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(30);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(75);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(180);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(250);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('align_content_stretch_and_align_items_flex_start_with_flex_wrap', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setAlignContent(Align.Stretch);
|
|
||||||
root.setAlignItems(Align.FlexStart);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setFlexWrap(Wrap.Wrap);
|
|
||||||
root.setWidth(300);
|
|
||||||
root.setHeight(300);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setAlignSelf(Align.FlexEnd);
|
|
||||||
root_child0.setWidth(150);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setWidth(120);
|
|
||||||
root_child1.setHeight(100);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setWidth(120);
|
|
||||||
root_child2.setHeight(50);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(125);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(175);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(125);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(30);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(180);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(175);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('align_content_stretch_and_align_items_center_with_flex_wrap', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setAlignContent(Align.Stretch);
|
|
||||||
root.setAlignItems(Align.Center);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setFlexWrap(Wrap.Wrap);
|
|
||||||
root.setWidth(300);
|
|
||||||
root.setHeight(300);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setAlignSelf(Align.FlexEnd);
|
|
||||||
root_child0.setWidth(150);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setWidth(120);
|
|
||||||
root_child1.setHeight(100);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setWidth(120);
|
|
||||||
root_child2.setHeight(50);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(125);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(38);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(213);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(125);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(30);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(38);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(180);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(213);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('align_content_stretch_and_align_items_stretch_with_flex_wrap', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setAlignContent(Align.Stretch);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setFlexWrap(Wrap.Wrap);
|
|
||||||
root.setWidth(300);
|
|
||||||
root.setHeight(300);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setAlignSelf(Align.FlexEnd);
|
|
||||||
root_child0.setWidth(150);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setWidth(120);
|
|
||||||
root_child1.setHeight(100);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setWidth(120);
|
|
||||||
root_child2.setHeight(50);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(125);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(175);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(150);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(125);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(150);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(30);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(180);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(175);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(120);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<fd80af208d8635435f86ffa8f3810b39>>
|
* @generated SignedSource<<74d05d33189c5b8e301d7bb50e219a07>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignItemsTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignItemsTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
@@ -2442,88 +2440,3 @@ test('align_stretch_with_row_reverse', () => {
|
|||||||
config.free();
|
config.free();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
test('align_items_non_stretch_s526008', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(400);
|
|
||||||
root.setHeight(400);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setAlignItems(Align.FlexStart);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.insertChild(root_child0_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0_child0_child0.setHeight(10);
|
|
||||||
root_child0_child0_child0.insertChild(root_child0_child0_child0_child0, 0);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(400);
|
|
||||||
expect(root.getComputedHeight()).toBe(400);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(400);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(400);
|
|
||||||
expect(root.getComputedHeight()).toBe(400);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(400);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(400);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<1badc9ed5a0cb8d9a4a1b23653cfbe58>>
|
* @generated SignedSource<<353dcfc198766f52fa7a84b1f47fab23>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignSelfTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAlignSelfTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<e79ac212057a324d3ce2808face5a71c>>
|
* @generated SignedSource<<f3c61c97032ebe1518e40730efe8a392>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAndroidNewsFeed.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAndroidNewsFeed.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<57064c3213fc22e0637ae5768ce6fea5>>
|
* @generated SignedSource<<f2cef5ee14439a52c41c7aa6a29d176a>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAspectRatioTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAspectRatioTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
@@ -184,48 +182,3 @@ test.skip('aspect_ratio_does_not_stretch_cross_axis_dim', () => {
|
|||||||
config.free();
|
config.free();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
test('zero_aspect_ratio_behaves_like_auto', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(300);
|
|
||||||
root.setHeight(300);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setWidth(50);
|
|
||||||
root_child0.setAspectRatio(0 / 1);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(300);
|
|
||||||
expect(root.getComputedHeight()).toBe(300);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(250);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
@@ -1,347 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @generated SignedSource<<234cdb7f76ac586e034a5b6ca2033fa4>>
|
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGAutoTest.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
|
||||||
import {
|
|
||||||
Align,
|
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
|
||||||
Display,
|
|
||||||
Edge,
|
|
||||||
Errata,
|
|
||||||
ExperimentalFeature,
|
|
||||||
FlexDirection,
|
|
||||||
Gutter,
|
|
||||||
Justify,
|
|
||||||
MeasureMode,
|
|
||||||
Overflow,
|
|
||||||
PositionType,
|
|
||||||
Unit,
|
|
||||||
Wrap,
|
|
||||||
} from 'yoga-layout';
|
|
||||||
|
|
||||||
test('auto_width', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth('auto');
|
|
||||||
root.setHeight(50);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setWidth(50);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setWidth(50);
|
|
||||||
root_child1.setHeight(50);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setWidth(50);
|
|
||||||
root_child2.setHeight(50);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(150);
|
|
||||||
expect(root.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(100);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(150);
|
|
||||||
expect(root.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(100);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('auto_height', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(50);
|
|
||||||
root.setHeight('auto');
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setWidth(50);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setWidth(50);
|
|
||||||
root_child1.setHeight(50);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setWidth(50);
|
|
||||||
root_child2.setHeight(50);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(150);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(50);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(100);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(150);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(50);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(100);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('auto_flex_basis', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(50);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setWidth(50);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setWidth(50);
|
|
||||||
root_child1.setHeight(50);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setWidth(50);
|
|
||||||
root_child2.setHeight(50);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(150);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(50);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(100);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(150);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(50);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(100);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(50);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('auto_position', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(50);
|
|
||||||
root.setHeight(50);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setPositionAuto(Edge.Right);
|
|
||||||
root_child0.setWidth(25);
|
|
||||||
root_child0.setHeight(25);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(25);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(25);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(25);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('auto_margin', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(50);
|
|
||||||
root.setHeight(50);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setMargin(Edge.Left, 'auto');
|
|
||||||
root_child0.setWidth(25);
|
|
||||||
root_child0.setHeight(25);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(25);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(25);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(50);
|
|
||||||
expect(root.getComputedHeight()).toBe(50);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(25);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(25);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<b1aa13bd88fcb494afb2db9bd80c40e0>>
|
* @generated SignedSource<<27363e405aac02603d06d5f06fa107ba>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGBorderTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGBorderTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<719c8f3b9fea672881a47f593f4aabd0>>
|
* @generated SignedSource<<557b8f6c7b3abd35d4f10cc83c650caf>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDimensionTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDimensionTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
|
@@ -1,109 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @generated SignedSource<<64d58fa2d33230f4eafc9ecbb6012a0d>>
|
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDisplayContentsTest.html
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
|
||||||
import {
|
|
||||||
Align,
|
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
|
||||||
Display,
|
|
||||||
Edge,
|
|
||||||
Errata,
|
|
||||||
ExperimentalFeature,
|
|
||||||
FlexDirection,
|
|
||||||
Gutter,
|
|
||||||
Justify,
|
|
||||||
MeasureMode,
|
|
||||||
Overflow,
|
|
||||||
PositionType,
|
|
||||||
Unit,
|
|
||||||
Wrap,
|
|
||||||
} from 'yoga-layout';
|
|
||||||
|
|
||||||
test('test1', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setFlexGrow(1);
|
|
||||||
root_child0_child0.setFlexShrink(1);
|
|
||||||
root_child0_child0.setFlexBasis("0%");
|
|
||||||
root_child0_child0.setHeight(10);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child1 = Yoga.Node.create(config);
|
|
||||||
root_child0_child1.setFlexGrow(1);
|
|
||||||
root_child0_child1.setFlexShrink(1);
|
|
||||||
root_child0_child1.setFlexBasis("0%");
|
|
||||||
root_child0_child1.setHeight(20);
|
|
||||||
root_child0.insertChild(root_child0_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
@@ -4,15 +4,13 @@
|
|||||||
* This source code is licensed under the MIT license found in the
|
* This source code is licensed under the MIT license found in the
|
||||||
* LICENSE file in the root directory of this source tree.
|
* LICENSE file in the root directory of this source tree.
|
||||||
*
|
*
|
||||||
* @generated SignedSource<<ef1ab99e8f13c0a59342ca17f63181ef>>
|
* @generated SignedSource<<f84185922c678ddf892c13ccbd3b79f2>>
|
||||||
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDisplayTest.html
|
* generated by gentest/gentest-driver.ts from gentest/fixtures/YGDisplayTest.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { instrinsicSizeMeasureFunc } from '../tools/utils.ts'
|
|
||||||
import Yoga from 'yoga-layout';
|
import Yoga from 'yoga-layout';
|
||||||
import {
|
import {
|
||||||
Align,
|
Align,
|
||||||
BoxSizing,
|
|
||||||
Direction,
|
Direction,
|
||||||
Display,
|
Display,
|
||||||
Edge,
|
Edge,
|
||||||
@@ -419,679 +417,3 @@ test('display_none_with_position_absolute', () => {
|
|||||||
config.free();
|
config.free();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
test('display_contents', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setFlexGrow(1);
|
|
||||||
root_child0_child0.setFlexShrink(1);
|
|
||||||
root_child0_child0.setFlexBasis("0%");
|
|
||||||
root_child0_child0.setHeight(10);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child1 = Yoga.Node.create(config);
|
|
||||||
root_child0_child1.setFlexGrow(1);
|
|
||||||
root_child0_child1.setFlexShrink(1);
|
|
||||||
root_child0_child1.setFlexBasis("0%");
|
|
||||||
root_child0_child1.setHeight(20);
|
|
||||||
root_child0.insertChild(root_child0_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('display_contents_fixed_size', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setWidth(50);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setFlexGrow(1);
|
|
||||||
root_child0_child0.setFlexShrink(1);
|
|
||||||
root_child0_child0.setFlexBasis("0%");
|
|
||||||
root_child0_child0.setHeight(10);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child1 = Yoga.Node.create(config);
|
|
||||||
root_child0_child1.setFlexGrow(1);
|
|
||||||
root_child0_child1.setFlexShrink(1);
|
|
||||||
root_child0_child1.setFlexBasis("0%");
|
|
||||||
root_child0_child1.setHeight(20);
|
|
||||||
root_child0.insertChild(root_child0_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('display_contents_with_margin', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setMargin(Edge.Left, 10);
|
|
||||||
root_child0.setMargin(Edge.Top, 10);
|
|
||||||
root_child0.setMargin(Edge.Right, 10);
|
|
||||||
root_child0.setMargin(Edge.Bottom, 10);
|
|
||||||
root_child0.setWidth(20);
|
|
||||||
root_child0.setHeight(20);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setFlexGrow(1);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(100);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(100);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(100);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('display_contents_with_padding', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setPadding(Edge.Left, 10);
|
|
||||||
root_child0.setPadding(Edge.Top, 10);
|
|
||||||
root_child0.setPadding(Edge.Right, 10);
|
|
||||||
root_child0.setPadding(Edge.Bottom, 10);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setFlexGrow(1);
|
|
||||||
root_child0_child0.setFlexShrink(1);
|
|
||||||
root_child0_child0.setFlexBasis("0%");
|
|
||||||
root_child0_child0.setHeight(10);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child1 = Yoga.Node.create(config);
|
|
||||||
root_child0_child1.setFlexGrow(1);
|
|
||||||
root_child0_child1.setFlexShrink(1);
|
|
||||||
root_child0_child1.setFlexBasis("0%");
|
|
||||||
root_child0_child1.setHeight(20);
|
|
||||||
root_child0.insertChild(root_child0_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('display_contents_with_position', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setPosition(Edge.Top, 10);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setFlexGrow(1);
|
|
||||||
root_child0_child0.setFlexShrink(1);
|
|
||||||
root_child0_child0.setFlexBasis("0%");
|
|
||||||
root_child0_child0.setHeight(10);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child1 = Yoga.Node.create(config);
|
|
||||||
root_child0_child1.setFlexGrow(1);
|
|
||||||
root_child0_child1.setFlexShrink(1);
|
|
||||||
root_child0_child1.setFlexBasis("0%");
|
|
||||||
root_child0_child1.setHeight(20);
|
|
||||||
root_child0.insertChild(root_child0_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('display_contents_with_position_absolute', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setPositionType(PositionType.Absolute);
|
|
||||||
root_child0.setWidth(50);
|
|
||||||
root_child0.setHeight(50);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setFlexGrow(1);
|
|
||||||
root_child0_child0.setFlexShrink(1);
|
|
||||||
root_child0_child0.setFlexBasis("0%");
|
|
||||||
root_child0_child0.setHeight(10);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child1 = Yoga.Node.create(config);
|
|
||||||
root_child0_child1.setFlexGrow(1);
|
|
||||||
root_child0_child1.setFlexShrink(1);
|
|
||||||
root_child0_child1.setFlexBasis("0%");
|
|
||||||
root_child0_child1.setHeight(20);
|
|
||||||
root_child0.insertChild(root_child0_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('display_contents_nested', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0.setDisplay(Display.Contents);
|
|
||||||
root_child0.insertChild(root_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0_child0.setFlexGrow(1);
|
|
||||||
root_child0_child0_child0.setFlexShrink(1);
|
|
||||||
root_child0_child0_child0.setFlexBasis("0%");
|
|
||||||
root_child0_child0_child0.setHeight(10);
|
|
||||||
root_child0_child0.insertChild(root_child0_child0_child0, 0);
|
|
||||||
|
|
||||||
const root_child0_child0_child1 = Yoga.Node.create(config);
|
|
||||||
root_child0_child0_child1.setFlexGrow(1);
|
|
||||||
root_child0_child0_child1.setFlexShrink(1);
|
|
||||||
root_child0_child0_child1.setFlexBasis("0%");
|
|
||||||
root_child0_child0_child1.setHeight(20);
|
|
||||||
root_child0_child0.insertChild(root_child0_child0_child1, 1);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child0_child0.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child0_child0_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child0.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child0_child0_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0_child0_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0_child0_child1.getComputedWidth()).toBe(50);
|
|
||||||
expect(root_child0_child0_child1.getComputedHeight()).toBe(20);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
test('display_contents_with_siblings', () => {
|
|
||||||
const config = Yoga.Config.create();
|
|
||||||
let root;
|
|
||||||
|
|
||||||
try {
|
|
||||||
root = Yoga.Node.create(config);
|
|
||||||
root.setFlexDirection(FlexDirection.Row);
|
|
||||||
root.setPositionType(PositionType.Absolute);
|
|
||||||
root.setWidth(100);
|
|
||||||
root.setHeight(100);
|
|
||||||
|
|
||||||
const root_child0 = Yoga.Node.create(config);
|
|
||||||
root_child0.setFlexGrow(1);
|
|
||||||
root_child0.setFlexShrink(1);
|
|
||||||
root_child0.setFlexBasis("0%");
|
|
||||||
root_child0.setHeight(30);
|
|
||||||
root.insertChild(root_child0, 0);
|
|
||||||
|
|
||||||
const root_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1.setDisplay(Display.Contents);
|
|
||||||
root.insertChild(root_child1, 1);
|
|
||||||
|
|
||||||
const root_child1_child0 = Yoga.Node.create(config);
|
|
||||||
root_child1_child0.setFlexGrow(1);
|
|
||||||
root_child1_child0.setFlexShrink(1);
|
|
||||||
root_child1_child0.setFlexBasis("0%");
|
|
||||||
root_child1_child0.setHeight(10);
|
|
||||||
root_child1.insertChild(root_child1_child0, 0);
|
|
||||||
|
|
||||||
const root_child1_child1 = Yoga.Node.create(config);
|
|
||||||
root_child1_child1.setFlexGrow(1);
|
|
||||||
root_child1_child1.setFlexShrink(1);
|
|
||||||
root_child1_child1.setFlexBasis("0%");
|
|
||||||
root_child1_child1.setHeight(20);
|
|
||||||
root_child1.insertChild(root_child1_child1, 1);
|
|
||||||
|
|
||||||
const root_child2 = Yoga.Node.create(config);
|
|
||||||
root_child2.setFlexGrow(1);
|
|
||||||
root_child2.setFlexShrink(1);
|
|
||||||
root_child2.setFlexBasis("0%");
|
|
||||||
root_child2.setHeight(30);
|
|
||||||
root.insertChild(root_child2, 2);
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.LTR);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(30);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child1_child0.getComputedLeft()).toBe(25);
|
|
||||||
expect(root_child1_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child1_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child1_child1.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child1_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1_child1.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child1_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(75);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(30);
|
|
||||||
|
|
||||||
root.calculateLayout(undefined, undefined, Direction.RTL);
|
|
||||||
|
|
||||||
expect(root.getComputedLeft()).toBe(0);
|
|
||||||
expect(root.getComputedTop()).toBe(0);
|
|
||||||
expect(root.getComputedWidth()).toBe(100);
|
|
||||||
expect(root.getComputedHeight()).toBe(100);
|
|
||||||
|
|
||||||
expect(root_child0.getComputedLeft()).toBe(75);
|
|
||||||
expect(root_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child0.getComputedHeight()).toBe(30);
|
|
||||||
|
|
||||||
expect(root_child1.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1.getComputedWidth()).toBe(0);
|
|
||||||
expect(root_child1.getComputedHeight()).toBe(0);
|
|
||||||
|
|
||||||
expect(root_child1_child0.getComputedLeft()).toBe(50);
|
|
||||||
expect(root_child1_child0.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1_child0.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child1_child0.getComputedHeight()).toBe(10);
|
|
||||||
|
|
||||||
expect(root_child1_child1.getComputedLeft()).toBe(25);
|
|
||||||
expect(root_child1_child1.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child1_child1.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child1_child1.getComputedHeight()).toBe(20);
|
|
||||||
|
|
||||||
expect(root_child2.getComputedLeft()).toBe(0);
|
|
||||||
expect(root_child2.getComputedTop()).toBe(0);
|
|
||||||
expect(root_child2.getComputedWidth()).toBe(25);
|
|
||||||
expect(root_child2.getComputedHeight()).toBe(30);
|
|
||||||
} finally {
|
|
||||||
if (typeof root !== 'undefined') {
|
|
||||||
root.freeRecursive();
|
|
||||||
}
|
|
||||||
|
|
||||||
config.free();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user