Add tests for foliage quality settings in world settings
This commit is contained in:
@@ -7,7 +7,8 @@ import {
|
|||||||
createDefaultWorldCelestialOrbitAuthoringSettings,
|
createDefaultWorldCelestialOrbitAuthoringSettings,
|
||||||
createDefaultWorldShaderSkySettings,
|
createDefaultWorldShaderSkySettings,
|
||||||
createWorldCelestialOrbitSettingsFromPeakDirection,
|
createWorldCelestialOrbitSettingsFromPeakDirection,
|
||||||
createDefaultWorldSettings
|
createDefaultWorldSettings,
|
||||||
|
resolveFoliageQualitySettings
|
||||||
} from "../../src/document/world-settings";
|
} from "../../src/document/world-settings";
|
||||||
|
|
||||||
describe("world settings helpers", () => {
|
describe("world settings helpers", () => {
|
||||||
@@ -41,6 +42,9 @@ describe("world settings helpers", () => {
|
|||||||
expect(clone.advancedRendering.godRays).not.toBe(
|
expect(clone.advancedRendering.godRays).not.toBe(
|
||||||
source.advancedRendering.godRays
|
source.advancedRendering.godRays
|
||||||
);
|
);
|
||||||
|
expect(clone.advancedRendering.foliage).not.toBe(
|
||||||
|
source.advancedRendering.foliage
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("switches a solid background into a gradient while preserving the authored color as the top edge", () => {
|
it("switches a solid background into a gradient while preserving the authored color as the top edge", () => {
|
||||||
@@ -183,6 +187,31 @@ describe("world settings helpers", () => {
|
|||||||
expect(areWorldSettingsEqual(left, right)).toBe(false);
|
expect(areWorldSettingsEqual(left, right)).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("treats foliage quality settings as part of authored world equality", () => {
|
||||||
|
const left = createDefaultWorldSettings();
|
||||||
|
const right = cloneWorldSettings(left);
|
||||||
|
|
||||||
|
right.advancedRendering.foliage.densityMultiplier = 0.5;
|
||||||
|
|
||||||
|
expect(areWorldSettingsEqual(left, right)).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("bounds resolved foliage quality multipliers", () => {
|
||||||
|
expect(
|
||||||
|
resolveFoliageQualitySettings({
|
||||||
|
enabled: true,
|
||||||
|
densityMultiplier: 5,
|
||||||
|
maxDistanceMultiplier: 0.01,
|
||||||
|
shadows: "full"
|
||||||
|
})
|
||||||
|
).toEqual({
|
||||||
|
enabled: true,
|
||||||
|
densityMultiplier: 2,
|
||||||
|
maxDistanceMultiplier: 0.1,
|
||||||
|
shadows: "full"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it("treats the scene project-time lighting toggle as part of authored world equality", () => {
|
it("treats the scene project-time lighting toggle as part of authored world equality", () => {
|
||||||
const left = createDefaultWorldSettings();
|
const left = createDefaultWorldSettings();
|
||||||
const right = cloneWorldSettings(left);
|
const right = cloneWorldSettings(left);
|
||||||
|
|||||||
Reference in New Issue
Block a user