#!/bin/bash

# Test script for version comparison logic
# This script tests the version comparison methods used in the GitHub Actions

echo "Testing version comparison logic..."
echo "=================================="

# Test 1: Basic version extraction
echo "Test 1: Version extraction from package.json"
CURRENT_VERSION=$(node -p "require('../package.json').dependencies['fullpage.js']")
echo "Current version from package.json: $CURRENT_VERSION"

# Test 2: Clean version (remove ^)
CURRENT_CLEAN=$(echo $CURRENT_VERSION | sed 's/^[^0-9]*//')
echo "Clean version (without ^): $CURRENT_CLEAN"

# Test 3: Get latest version from npm
echo "Test 2: Latest version from npm"
LATEST_VERSION=$(npm view fullpage.js version)
echo "Latest version from npm: $LATEST_VERSION"

# Test 4: Version comparison
echo "Test 3: Version comparison"
if npm semver $LATEST_VERSION --gt $CURRENT_CLEAN; then
    echo "✅ Update needed: $CURRENT_CLEAN -> $LATEST_VERSION"
    UPDATE_NEEDED=true
else
    echo "ℹ️ No update needed: $CURRENT_CLEAN >= $LATEST_VERSION"
    UPDATE_NEEDED=false
fi

# Test 5: Package version increment
echo "Test 4: Package version increment"
CURRENT_PKG_VERSION=$(node -p "require('../package.json').version")
echo "Current package version: $CURRENT_PKG_VERSION"

IFS='.' read -ra VERSION_PARTS <<< "$CURRENT_PKG_VERSION"
NEW_PATCH=$((VERSION_PARTS[2] + 1))
NEW_VERSION="${VERSION_PARTS[0]}.${VERSION_PARTS[1]}.$NEW_PATCH"
echo "New package version would be: $NEW_VERSION"

echo ""
echo "Summary:"
echo "Current fullPage.js: $CURRENT_VERSION"
echo "Latest fullPage.js: $LATEST_VERSION"
echo "Update needed: $UPDATE_NEEDED"
echo "Current package: $CURRENT_PKG_VERSION"
echo "New package would be: $NEW_VERSION" 